Page 21 - DCAP402_DCAO204_DATABASE MANAGEMENT SYSTEM_MANAGING DATABASE
P. 21
Database Management Systems/Managing Database
Notes but were only described as models after the relational model was defined, in order to establish
a basis for comparison.
2.1.3 Implementation
There have been several attempts to produce a true implementation of the relational database
model as originally defined by Codd and explained by Date, Darwen and others, but none have
been popular successes so far. Rel is one of the more recent attempts to do this.
History
The relational model was invented by E.F. (Ted) Codd as a general model of data, and subsequently
maintained and developed by Chris Date and Hugh Darwen among others. In The Third Manifesto
(first published in 1995) Date and Darwen show how the relational model can accommodate
certain desired object-oriented features.
Controversies
Codd himself, some years after publication of his 1970 model, proposed a three-valued logic
(True, False, Missing or NULL) version of it in order to deal with missing information, and in his
The Relational Model for Database Management Version 2 (1990) he went a step further with a
four-valued logic (True, False, Missing but Applicable, Missing but Inapplicable) version. But
these have never been implemented, presumably because of attending complexity. SQL’s NULL
construct was intended to be part of a three-valued logic system, but fell short of that due to
logical errors in the standard and in its implementations.
The Model
The fundamental assumption of the relational model is that all data is represented as mathematical
n-ary relations, an n-ary relation being a subset of the Cartesian product of n domains. In the
mathematical model, reasoning about such data is done in two-valued predicate logic, meaning
there are two possible evaluations for each proposition: either true or false (and in particular no
third value such as unknown, or not applicable, either of which are often associated with the
concept of NULL). Some think two-valued logic is an important part of the relational model,
where others think a system that uses a form of three-valued logic can still be considered
relational.
Data are operated upon by means of a relational calculus or relational algebra, these being
equivalent in expressive power.
The relational model of data permits the database designer to create a consistent, logical
representation of information. Consistency is achieved by including declared constraints in the
database design, which is usually referred to as the logical schema.
The theory includes a process of database normalization whereby a design with certain desirable
properties can be selected from a set of logically equivalent alternatives. The access plans and
other implementation and operation details are handled by the DBMS engine, and are not
reflected in the logical model. This contrasts with common practice for SQL DBMSs in which
performance tuning often requires changes to the logical model.
The basic relational building block is the domain or data type, usually abbreviated nowadays to
type. A tuple is an unordered set of attribute values. An attribute is an ordered pair of attribute
name and type name. An attribute value is a specific valid value for the type of the attribute. This
can be either a scalar value or a more complex type.
14 LOVELY PROFESSIONAL UNIVERSITY