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
   16   17   18   19   20   21   22   23   24   25   26