Computing & Digital Codexery

Database

Organized data store managed by a database management system.

Database

A database is a structured collection of data, typically managed by a database management system (DBMS). The DBMS is the software that allows end users and applications to interact with the data, handling tasks like capturing and analyzing information. It also provides core tools for administering the database. Together, the database, its DBMS, and any related applications form what is known as a database system. In casual use, the term "database" might refer to the DBMS itself, the entire system, or a specific application tied to it.

Small databases can live on a file system, while larger ones are hosted on computer clusters or in cloud storage. Designing a database involves both formal techniques and practical considerations, such as data modeling, efficient storage and representation, query languages, security and privacy, and distributed computing issues like concurrent access and fault tolerance.

Database management systems are often classified by the database model they support. Relational databases, which became dominant in the 1980s, organize data into rows and columns within tables, and most use SQL for writing and querying. In the 2000s, non-relational databases—collectively called NoSQL—gained popularity, using different query languages.

Formally, a database is a set of related data accessed through a DBMS. The DBMS is an integrated set of software that lets users interact with one or more databases, providing access to all stored data (though restrictions may limit access to specific data). Its functions include data entry, storage, retrieval, and management of how information is organized. Because of their close relationship, "database" is often used loosely to mean both the data and the DBMS. Outside professional IT, the term may refer to any collection of related data, like a spreadsheet or card index, though size and usage typically require a DBMS.

A DBMS supports data definition (creating, modifying, and removing structures that specify data organization), updates (inserting, modifying, and deleting data), and retrieval (selecting data based on criteria). Database administration includes registering users, enforcing security, monitoring performance, maintaining integrity, managing concurrency, and recovering corrupted information. Both a database and its DBMS follow the principles of a particular database model. A database system collectively refers to the model, the DBMS, and the database itself. Physically, database servers are dedicated computers that hold the actual databases and run only the DBMS and related software.

Databases and DBMSs can be categorized by the database models they support (e.g., relational or XML), the types of computers they run on (from server clusters to mobile phones), the query languages used (e.g., SQL or XQuery), and their internal engineering, which affects performance, scalability, resilience, and security.

The size, capability, and performance of databases and their DBMSs have grown by orders of magnitude, driven by advances in processors, memory, storage, and networks. The concept of a database became possible with direct-access storage media like magnetic disks, which became widely available in the mid-1960s; earlier systems used sequential storage on magnetic tape. Database technology development can be divided into three eras based on data model: navigational, SQL/relational, and post-relational.

The two main early navigational models were the hierarchical model and the CODASYL (network) model, which used pointers (often physical disk addresses) to follow relationships between records. The relational model, proposed in 1970 by Edgar F. Codd, broke from this by having applications search for data by content rather than by following links. It uses sets of ledger-style tables, each for a different entity type. By the mid-1980s, hardware was powerful enough for wide deployment of relational systems, and by the early 1990s, they dominated large-scale data processing. As of 2018, they remain dominant, with IBM Db2, Oracle, MySQL, and Microsoft SQL Server being the most searched DBMS. The standardized SQL language for the relational model has influenced database languages for other models.

Object databases emerged in the 1980s to address the object–relational impedance mismatch, leading to the term "post-relational" and hybrid object–relational databases. The next generation of post-relational databases in the late 2000s became known as NoSQL, introducing fast key–value stores and document-oriented databases. A competing "next generation," called NewSQL, attempted new implementations that kept the relational/SQL model while aiming for the high performance of NoSQL compared to commercially available relational DBMSs.

field
Computing
known_for
Organized collection of data managed by a DBMS; relational and NoSQL models
first_use_of_term
1962 report by System Development Corporation of California
key_eras
Navigational (1960s), SQL/relational (1970s–1980s), post-relational (2000s)
dominant_language
SQL for relational databases

Lore & Background

The concept of a database was made possible by the emergence of direct access storage media such as magnetic disks, which became widely available in the mid-1960s; earlier systems relied on sequential storage of data on magnetic tape. The Oxford English Dictionary cites a 1962 report by the System Development Corporation of California as the first to use the term "data-base" in a specific technical sense. The subsequent development of database technology can be divided into three eras based on data model or structure: navigational, SQL/relational, and post-relational. The two main early navigational data models were the hierarchical model and the CODASYL model (network model). These were characterized by the use of pointers to follow relationships from one record to another. The relational model, first proposed in 1970 by Edgar F. Codd, departed from this tradition by insisting that applications should search for data by content, rather than by following links. In the 2000s, non-relational databases became popular, collectively referred to as NoSQL, because they use different query languages. Object databases were developed in the 1980s to overcome the inconvenience of object–relational impedance mismatch, leading to hybrid object–relational databases. The next generation of post-relational databases in the late 2000s became known as NoSQL databases, introducing fast key–value stores and document-oriented databases.

Reader's Guide

Databases and their DBMSs are central to computing, enabling the organized storage and retrieval of data across applications. The relational model, dominant since the 1980s, uses tables with rows and columns and the SQL language, while NoSQL databases emerged in the 2000s with different query languages for specialized needs. The design of databases spans formal techniques and practical considerations, including data modeling, efficient data representation and storage, query languages, security and privacy of sensitive data, and distributed computing issues such as concurrent access and fault tolerance. The sizes, capabilities, and performance of databases and their respective DBMSs have grown in orders of magnitude, enabled by technology progress in processors, computer memory, computer storage, and computer networks. Database systems are categorized by the database model(s) they support, the type(s) of computer they run on, the query language(s) used, and their internal engineering, which affects performance, scalability, resilience, and security. The term "database" is often used casually to refer to both a database and the DBMS used to manipulate it, and outside professional IT, it may refer to any collection of related data such as a spreadsheet or card index.

Did You Know?

More in Computing & Digital 1-24

Spotted an error? Know more?

This is a living reference — every entry is fact-audited, and reader corrections feed straight into our audit queue. Suggest an edit · See this site's audit record

Comments

Loading…
Open in the interactive codex →