databaseDBMSrelational databaseNoSQLSQL

Database Systems: Evolution, Models, and Management

Database Systems: Evolution, Models, and Management In the world of computing, a database is an organized collection of data or a specialized data store. To manage this information, we us...

Database Systems: Evolution, Models, and Management

In the world of computing, a database is an organized collection of data or a specialized data store. To manage this information, we use a Database Management System (DBMS)—the software layer that interacts with end users, applications, and the data itself to capture and analyze information. When you combine the database, the DBMS, and the associated applications, you have a complete database system.

Depending on their size, databases may be stored on simple file systems or hosted on massive computer clusters and cloud storage. Designing these systems requires a balance of formal techniques and practical needs, including data modeling, security, privacy, and distributed computing to ensure fault tolerance and concurrent access.

Collage of five types of database models
Collage of five types of database models

Key Facts

  • DBMS is the software that manages the database and provides core administrative facilities.
  • Relational databases, which use tables with rows and columns, became the dominant model in the 1980s.
  • SQL (Structured Query Language) is the primary standardized language for relational data.
  • NoSQL refers to non-relational databases that emerged in the 2000s to support different query languages and data structures.
  • Navigational databases (Hierarchical and Network) were the precursors to the relational model.

The Evolution of Database Models

The 1960s: Navigational DBMS

The term "database" emerged in the mid-1960s, coinciding with the arrival of direct-access storage like disks and drums. This was a major shift from previous tape-based systems, allowing for shared interactive use instead of slow daily batch processing.

During this era, the CODASYL approach became a standard for network databases, utilizing primary keys (CALC keys) and "sets" to navigate from one record to another. Simultaneously, IBM developed the Information Management System (IMS) for the Apollo program. While similar to CODASYL, IMS used a strict hierarchy, leading to its classification as a hierarchical database.

Basic structure of navigational CODASYL database model
Basic structure of navigational CODASYL database model

The 1970s: The Relational Revolution

In 1970, Edgar F. Codd proposed the relational model. This was a radical departure from navigational systems; instead of following physical links, applications searched for data by its content. This model uses ledger-style tables for different entity types.

While the theory existed in 1970, hardware only became powerful enough for wide deployment in the mid-1980s. This era saw the birth of influential systems like INGRES at UC Berkeley and the MICRO system at the University of Michigan, the latter of which remained in production until 1998.

In the relational model, records are "linked" using virtual keys not stored in the database but defined as needed between the data contained in the records.
In the relational model, records are "linked" using virtual keys not stored in the database but defined as needed between the data contained in the records.

The Rise of SQL and Commercial Systems

IBM's System R prototype led to the creation of SQL (Structured Query Language), which combined data definition, manipulation, and querying into one language. This eventually evolved into production systems like SQL/DS and IBM Db2.

Larry Ellison leveraged IBM's research to create the Oracle Database, beating IBM to the market in 1979. By the early 1990s, relational systems dominated large-scale data processing, a position they maintain today alongside others like MySQL and Microsoft SQL Server.

An SQL select statement and its result
An SQL select statement and its result

Desktop Computing and Modern Trends

The 1980s brought databases to the desktop. Software like dBASE simplified data manipulation, removing the need for users to manually manage file opening, reading, and space allocation. As the dotcom bubble and e-commerce grew in the 2000s, open-source options like MySQL surged in popularity.

To handle the diverse needs of modern web data, NoSQL (non-relational) databases became popular in the 2000s, offering flexibility beyond the rigid structure of tables.

Database Architecture and Components

The Role of the DBMS

A robust DBMS provides several critical functions to ensure data integrity and availability:

  • Storage and Retrieval: Managing how data is written to and read from disk.
  • Metadata Management: Maintaining a data dictionary or catalog.
  • Concurrency and Transactions: Ensuring multiple users can access data without conflicts.
  • Recovery and Security: Providing backup facilities and authorization controls.
  • Constraint Enforcement: Ensuring data follows specific business rules.

Database Languages

Languages are typically divided by their function:

  • Data Control Language (DCL): Manages access and permissions.
  • Data Manipulation Language (DML): Handles inserting, updating, and deleting data.

Traditional view of data[43]
Traditional view of data[43]

Summary of Database Models

Model Type Key Characteristic Example/Era
Hierarchical Strict tree-like structure IBM IMS
Network Graph-like relationships (sets) CODASYL / IDMS
Relational Tables with rows and columns Oracle, MySQL, Db2
NoSQL Non-tabular, flexible schemas Modern Web Apps
Object-Oriented Data represented as objects 1990s Research

ภาพประกอบบทความ
ภาพประกอบจากบทความต้นฉบับ

Frequently Asked Questions

What is the difference between a database and a DBMS?

A database is the actual collection of organized data, whereas the DBMS is the software used to manage, retrieve, and manipulate that data.

Why did relational databases replace navigational databases?

Relational databases allow users to search for data by content rather than following predefined physical links, making them more flexible and easier to use as hardware power increased.

What does NoSQL stand for and why is it used?

NoSQL stands for "non-relational." These databases are used because they support different query languages and data models that are often more scalable or flexible than traditional tables.

What is SQL and why is it important?

SQL (Structured Query Language) is the standardized language used to communicate with relational databases. It is essential because it provides a uniform way to define, manipulate, and query data across different commercial systems.

What are the three views of data provided by a DBMS?

A DBMS typically provides external, conceptual, and internal views to separate how users see the data from how it is logically structured and physically stored.

References

  1. This article quotes a development time of five years involving 750 people for DB2 release 9 alone.[32]
  2. Ullman & Widom 1997, p. 1.
  3. "Update Definition & Meaning". Merriam-Webster. Archived from the original on 25 February 2024.
  4. "Retrieval Definition & Meaning". Merriam-Webster. Archived from the original on 27 June 2023.
  5. "Administration Definition & Meaning". Merriam-Webster. Archived from the original on 6 December 2023.