Science  People  Locations  Timeline
Index: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Home > Database


 Contents
A database is an information set with a regular structure.

Any set of information may be called a database. Nevertheless, the term was invented to refer to computerised data, and is used almost exclusively in computing. Sometimes it is used to refer to not yet computerised data, but usually in the process of planning its possible computerisation.

Software created to manage generalised databases is usually called a database management system or DBMS. Several software architectures are possible: For smaller single user databases often all functions are managed by one program. In larger and multiple user databases usually a number of programs are involved and most commonly a client-server architecture is adopted.

The DBMS front-end (i.e. the clients) is concerned mainly with data entry, enquiry and reporting. The back-end (i.e. the server) is the set of programs that actually control data storage, responding to requests from the frontend. Searching and sorting is usually performed by the server. There are a wide variety of database implementations, from simple tables stored in a single file each to very large databases with many millions of records, stored in rooms full of disk drives or other peripheral electronic storage devices.

Databases resembling modern versions were first developed in the 1960s. A pioneer in the field was Charles Bachman.

The most useful way of classifying databases is by the programming model associated with the database, several of which have been in wide use. The hierarchical model was implemented first, then the network model, then the relational model overcame with the so-called flat model accompanying it for low-end usage. The relational model corresponds with mathematical set theory and this provides that model with a stronger theoretical underpinning than the other database models.

1 Database models

Various techniques are used to model data structure. Certain models are more easily implemented by some types of database management systems than others. For any one logical model various physical implementations may be possible. An example of this is the relational model: In larger systems the physical implementation often has indexes which point to the data - this is similar to some aspects of common implementations of the network model. But in small relational databases the data is often stored in a set of files, one per table, in a flat, unindexed structure. There is some confusion below and elsewhere in this article as to logical data model vs its physical implementation.

The flat (or table) model consists of a single, two-dimensional array of data elements, where all members of a given column are assumed to be similar values, and all members of a row are assumed to be related to one another. For instance, columns for name and password might be used as a part of a system security database. Each row would have the specific password associated with a specific user. Columns of the table often have a type associated with them, defining them as character data, date or time information, integers, or floating point numbers. This model is the basis of the spreadsheet.

The network model allows multiple datasets to be used together through the use of pointers (or references). Some columns contain pointers to different tables instead of data. Thus, the tables are related by references, which can be viewed as a network structure. A particular subset of the network model, the hierarchical model, limits the relationships to a tree structure, instead of the more general directed graph structure implied by the full network model.

The relational model was introduced in an academic paper by E. F. Codd in 1970 as a way to make database management systems more independent of any particular application. It is a mathematical model defined in terms of predicate logic and set theory.

Although the basic idea of relational database management systems has been very popular, relatively few people understand the mathematical definition and only a few, obscure DBMSs implement it completely and without extension. OracleFor alternate usages of "Oracle", see Oracle (disambiguation Oracles are human beings who make predictions, or offer insight, based on a (claimed) connection to the Gods. In the ancient world many sites gained a reputation for the dispensing of oracular w, for example, can be used in a purely relational way but it does allow tables to be defined which allow duplicate rows. In common English usage, a database is called relational if it is in some way inspired by the relational model, not if it conforms to any particular standard. The following is an informal, non-technical explanation of how "relational" database management systems commonly work.

A relational database contains multiple tables, each similar to the one in the "flat" database model. However, unlike network databases, the tables are not linked by pointers. Instead, "keys" are used to match up rows of data in different tables. A key is just one or more columns in a table. Any of the columns in a table can be a key, or multiple columns can be grouped together into a single key. Unlike pointers, it's not necessary to define all the keys in advance; a column can be used as a key even if it wasn't originally intended to be one.

When a key consists of data that has an external, real-world meaning (such as a person's name, a book's ISBNFor information on using ISBNs in Wikipedia, see ISBN''. The International Standard Book Number or ISBN (sometimes pronounced "is-ben"), is a unique identifier for books, intended to be useful commercially. There is another quite similar system, the Inter, or a car's serial number), it's called a "natural" key. If no natural key is suitable, an arbitrary key can be assigned (such as by giving employees ID numbers). In practice, most databases have both generated and natural keys, because generated keys can be used internally to create links between rows that can't break, while natural keys can be used, less reliably, for searches and for integration with other databases. (For example, records in two independently developed databases could be matched up by social security number, except when the social security numbers are incorrect, missing, or have changed.)

You request data from a relational database by sending it a query that's written in a special language, usually a dialect of SQLStructured Query Language SQL is the most popular computer language used to create, modify and query databases. Technically, SQL is a declarative computer language for use with "quasi- relational databases". Theorists note that many of the original SQL fe. Although SQL was originally intended for end-users, it's much more common for SQL queries to be embedded into software that provides an easier user interface. (Many web sites perform SQL queries when generating pages.)

In response to a query, the database returns a result set, which is just a list of rows containing the answers. The simplest query is just to return all the rows from a table, but more often, the rows are filtered in some way to return just the answer wanted. Often, data from multiple tables gets combined into one, by doing a "join". Conceptually, this is done by taking all possible combinations of rows (the "cross-product"), and then filtering out everything except the answer. In practice, relational database management systems rewrite ("optimize") queries to perform faster, using a variety of techniques: In the "join" the primary optimisation is obtained through the use of indexes to prevent the building of the complete cross-product which would otherwise be necessary.

The flexibility of relational databases allows programmers to write queries that were not anticipated by the database designers. As a result, relational databases can be used by multiple applications in ways the original designers did not foresee, which is especially important for databases that might be used for decades. This has made the idea and implementation of relational databases very popular with businesses.



Read more »

Non User