A database is an organized collection of data. The term originated
within the computer industry, but its meaning has been broadened
by popular use, to the extent that the European Database Directive
(which creates intellectual property rights for databases) includes
non-electronic databases within its definition. This article is
confined to a more technical use of the term; though even amongst
computing professionals, some attach a much wider meaning to the
word than others.
One possible definition is that a database is a collection of records
stored in a computer in a systematic way, so that a computer program
can consult it to answer questions. For better retrieval and sorting,
each record is usually organized as a set of data elements (facts).
The items retrieved in answer to queries become information that
can be used to make decisions. The computer program used to manage
and query a database is known as a database management system (DBMS).
The properties and design of database systems are included in the
study of information science.
The central concept of a database is that of a collection of records,
or pieces of knowledge. Typically, for a given database, there is
a structural description of the type of facts held in that database:
this description is known as a schema. The schema describes the
objects that are represented in the database, and the relationships
among them. There are a number of different ways of organizing a
schema, that is, of modeling the database structure: these are known
as database models (or data models). The model in most common use
today is the relational model, which in layman's terms represents
all information in the form of multiple related tables each consisting
of rows and columns (the true definition uses mathematical terminology).
This model represents relationships by the use of values common
to more than one table. Other models such as the hierarchical model
and the network model use a more explicit representation of relationships.
Strictly speaking, the term database refers to the collection of
related records, and the software should be referred to as the database
management system or DBMS. When the context is unambiguous, however,
many database administrators and programmers use the term database
to cover both meanings.
Many professionals would consider a collection of data to constitute
a database only if it has certain properties: for example, if the
data is managed to ensure its integrity and quality, if it allows
shared access by a community of users, if it has a schema, or if
it supports a query language. However, there is no agreed definition
of these properties.
Database management systems are usually categorized according to
the data model that they support: relational, object-relational,
network, and so on. The data model will tend to determine the query
languages that are available to access the database. A great deal
of the internal engineering of a DBMS, however, is independent of
the data model, and is concerned with managing factors such as performance,
concurrency, integrity, and recovery from hardware failures. In
these areas there are large differences between products.