The Relational Model

Relational Structure

The relational model is an advanced model for database systems. The main
tenet of the model is the absolute separation of the logical view and the
physical view of data. The physical view in relational is implementation
dependent and not further defined.

The logical view of the data in relational is set oriented. A relational
set is an unordered group of items. Each item is sub-divided into fields
with atomic values. In a given set, all items have the same structure -
the same number of fields and the same atomic data type for corresponding
fields. Only the field values are different from item to item in a set.

A relational set is often modelled as a table. The items of a set are the
rows of the table. The fields in the items are the columns. The columns
in a table can have names. The rows are unordered and unnamed. A
database consists of one or more tables plus a catalog (also represented by
tables) describing the database.

Relational Power

The relational model defines a set of mathematical operations and
constraints that can be applied to tables in databases. These comprise a
fundamental theory that is provably correct. Relational operations and
constraints are used to define business rules (user defined constraints).
A DBMS provides mechanisms to support relational operations and
constraints for user defined databases and business rules.

Because of the rigid separation of physical and logical views and
mathematical underpinnings, the relational model offers great power
and capability. The optimization possibilities are enormous in contrast
to the limited optimization available for 3rd Generation Languages (3GLs)
due to their ad-hoc definition. A relational language like SQL is
descriptive, specifying the results desired rather how to obtain the
results (procedural).

Using mathematical theorems, requested relational operations can be
divided into components that can be processed by independent tasks running on
one or more CPUs, even distributed machines. No other database model can
offer such powerful parallel processing, not the hierarchical database
model (IMS), the network database model (IDMS), the inverted file model or
the object oriented database model (Gemstone).

Relational can support distributed data as well as distributed processing.
Tables may be distributed, including parts of tables. The rows of a table
can be partitioned and stored at distributed locations. Employee data
may be partitioned between branch offices but appear as a single table at
the headquarters. The columns of a table can also be distributed.
Employee salary columns may be stored at the headquarters.