Of course in the 80's the "Relational
Database Model" became the rage. The Relational Model developed
out of the work done by Dr. E. F. Codd at IBM in the late
1960s who was looking for ways to solve the problems with
the existing models.
Because he was a mathematician, he naturally built
the model on mathematical concepts which he expounded in the
famous work called "A Relational Model of Data for Large Shared
At the core of the relational model is the
concept of a table (also called a relation) in which all data
is stored. Each table is made up of records (horizontal rows
also known as tuples) and fields (vertical columns also known
It is important to note that how or
where the tables of data are stored makes no difference.
Each table can be identified by a unique name and that
name can be used by the database to find the table
behind the scenes. As a user, all you need to know is the
table name in order to use it. You do not need to worry
about the complexities of how the data is stored on
the hard drive.
This is quite a bit different from the
hierarchical and network models in which the user
had to have an understanding of how the data were structured within the
database in order to retrieve, insert, update, or
delete records from the database.
So how do you find data in a relational
database if there is no map (like a hierarchy defined by
pointers) to follow?
Well, in the relational model, operations
that manipulate data do so on the basis of the data values
themselves. Thus, if you wish to retrieve a row from a table
for example, you do so by comparing the value stored within a
particular column for that row to some search criteria.
For example, you might say (not getting into
syntax yet) "Give me all the rows from the 'STUDENTS' table which
have 'Selena' in the 'FIRST_NAME' column."
The database might return a list which looks
essentially like this:
You could then use the data from a retreived row
to query another table. For example, you might say "Okay, I want to
know what grade 'Selena Sol' received in 'Underwater Basket Weaving 101'.
So I will now use the 'Student ID' number from my previous query as the
keyword in my next query. I want the row in the 'Underwater Basket
Weaving Course' table where student ID equals 'SID-001'.
This data access methodology makes
the relational model a lot different from and better than the
earlier database models because it is a much simpler model to
understand. This is probably the main reason for the popularity
of relational database systems today.
Another benefit of the relational system is
that it provides extremely useful tools for database administration.
Essentially, tables can not only store actual data
but they can also be used as the means for generating meta-data
(data about the table and field names which form the database
structure, access rights to the database, integrity and data
validation rules etc).
Thus everything within the relational model can
stored in tables. This means that many relational systems can use
operations recursively in order to provide information about the
database. In other words, a user can query information concerning table names,
access rights, or some data and the results of these queries would then
be presented to the user in the form of a table.
This makes database administration as easy as
Table of Contents