 |
|
The Beginnings of SQL
Oracle Tips by Burleson Consulting |
In 1970, Dr. Edgar Codd of IBM and Chris Date
developed a relational model for data storage. In the model, data
would be stored in simple linear structures called “relations” or
“tables.” One of the best improvements of the relational model over
its predecessors was its simplicity. Rather than requiring users to
know dozens of navigational data manipulation language (DML)
commands, the relational model introduced a declarative language
called SQL to simplify data access and manipulation.
In Codd and Date’s model, the tables are
represented as two-dimensional arrays of “rows” and “columns.” Rows
were called “tuples” (rhymes with “couples”), and columns were
called “attributes.” A table will always have a field or several
fields that make a “primary key” for a table. In their relational
database model, the tables are independent, unlike in hierarchical
and network models, where they are pointer-connected.
The relational database model offered the
following improvements over the existing hierarchical and network
databases:
-
Simplicity
The concept of tables with rows and columns is extremely
simple and easy to understand. End users have a simple data model.
Complex network diagrams used with the hierarchical and network
databases are not used with a relational database.
-
Data independence Data independence is
the ability to modify data structures (in this case, tables)
without affecting existing programs. Much of this ability comes
because tables are not hard-linked to one another. Columns can be
added to tables, tables can be added to the database, and new data
relationships can be added with little or no restructuring of the
tables. A relational database provides a much higher degree of
data independence than do hierarchical and network databases.
-
Declarative Data Access The SQL user
specifies what data is wanted, and then the embedded SQL, a
procedural language, determines how to get the data. In relational
database access, the user tells the system the conditions for the
retrieval of data. The system then gets the data that meets the
selection conditions in the SQL statements. The database
navigation is hidden from the end user or programmer, unlike in a
CODASYL DML language, where the programmer had to know the details
of the access path.
In the marketplace, the declarative data access
capability was far more interesting than the internal storage
components of the relational database, and SQL became synonymous
with the relational model.
This is an excerpt from "Oracle High-Performance SQL Tuning" by
Donald K. Burleson, published by Oracle Press.