Jump to content

Relational Model/Tasmania

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Egrabczewski (talk | contribs) at 21:50, 29 November 2006 (External links). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Relational Model/Tasmania (RM/T) was published by E.F. Codd in 1979 and is the name given to a number of extensions to his original relational model (RM) published in 1970. The overall goal of the RM/T was to define the most fundamental semantic units at the "atomic" and "molecular" levels. Codd writes: "the result is a model with a richer variety of objects than the original relational model, additional insert-update-delte rules and some additional operators that make the algebra more powerful".

RM History

Between 1968 and 1988 Codd published over 30 papers on the relational model (RM), the most famous of which is his 1970 paper. These papers describe RM Version 1 (RM/V1). Codd first presented his ideas on RM/T ('T' for Tasmania) at an invited talk for the Australian Computer Science Conference in Hobart, Tasmania in early 1979. Later that year the ACM journal published his 1979 paper on RM/T. Some of Codd's ideas were influenced by those of Smid and Swensen (1975) and also G. Wiederhold (1977).

Another version of the RM/T is described in Date (1983); we shall call this the RM/D model. According to Date, he and Codd later improved and refined the RM/T model and added yet another entity type called designative. Codd writes nothing about this new type however Date offers a rationale in Date (1983, page 262). Date wrote a revised version of his 1983 article in Date (1995); this article additionally compares the RM/T model with the E/R model.

Following a disappointing uptake of RM/T by the database industry, Codd decided to introduce the RM/T model more gradually. He planned to release a sequence of RM versions: RM/V2, RM/V3 etc. each time progressively including some of the ideas of RM/T into that new version. Perhaps this explains why there is no obvious mapping of concepts between RM/T and RM/V2. For example, there is no reference to associative or designative entity types in his 1990 book. On the other hand, the book extends and builds on the existing body of query language issues, many of which were addressed by Codd in several papers throughout the 1980s.

Summary of RM/T

First we shall introduce some of the new concepts of RM/T:

Surrogates A surrogate is a unique value assigned to each entity from the modelled world. If two relations use the same surrogate value then they represent the same entity. The surrogate value can be any unique string or number but cannot be controlled by the database user. For example, a SQL SEQUENCE is often used to generate numerical surrogate values.

Entities and Nonentities An entity is some thing that is identified by a surrogate. A nonentity is some thing that is not identified by a surrogate.

Atomic Semantics The RM/T addresses atomic semantics by describing how the original RM relation can be used to describe entities with attributes. Entities are decomposed into an Entity-relation or E-relation and attributes into one or more Property-relations or P-relations.

E-relations represent the core concept of a given entity. An E-relation is a relation (or table) holding only the surrogates for a particular entity type. A surrogate value entered into the E-relation table implies the corresponding existence of an entity of that type in the modelled world. For example, the E-relation "Employee" is a table containing the surrogates of all entities of type Employee.

P-relations hold attribute values for a given entity. A P-relation is a relation (or table) holding the surrogates for one or more attributes of an entity. The surrogate value of a P-relation is that of the corresponding E-relation. For example, the P-relation "Employee_Number" is a table with two columns: one containing the surrogate value of the "Employee" E-relation, the other containing the employee number.

Note that by performing a NATURAL JOIN on the "Employee" E-relation and the "Employee_Person" P-relation we can reconstruct the "Employee" relation of RM/V1. This illustrates how the E-relation and P-relation concepts of RM/V2 are more atomic than the relation concept of RM/V1.

Molecular Semantics The RM/T addresses molecular semantics by taking the original RM and categorising the relations into several entity types, increasing the information captured by the semantic data model. However Codd does not recommend a notation for diagramming this new semantics. Each entity may play several roles at once and thus belong to one or more of the following entity types:

  • Characteristic - subordinate entities that describe kernel entities.
  • Associative - superordinate entities that interrelate kernel entities.
  • Kernel - entites that are neither characteristic or associative.

Codd goes on to introduce subtyping of entities, giving yet another qualifier for entities:

  • Inner - entities that are not subtypes of another entity.

Hence Codd speaks of inner kernel and inner associative entities.

The following definition is based on the RM/D model in Date (1983); it does not appear in Codd (1979):

  • Designative - entities that contain a designation. A designative entity is at the many end of a one-to-many relationship between two independent entities. For example, a writer may write many books, hence a one-to-many relationship between writer and book entities; the book is the designative entity because it contains a designation (or designative reference) to the writer - namely the primary key of the writer entity. Note that an associative entity contains at least two designations. For example, we can regard a booking as either an entity that associates a person with a flight, or as an entity that designates a person and designates a flight. Hence a designative entity must contain at least one designation whereas an associative entity must contain at least two designations.

Associative Entity and Nonentity Association An associative entity is an entity that represents an association between two independent entities; the associative entity is an entity in itself. A nonentity association is an object that represents an association between two independent entities, however the nonentity association is not in itself an entity, since it has no surrogate. This lack of a surrogate stops the nonentity assocation from having, for example, any descriptive charactersitic entities.

Codd's 1979 paper touches on several other ideas not yet covered by this article.

RM/T Today

Not may articles on RM/T have appeared recently. RM/V1 and RM/V2 have chapters in Date and Darwen (1992). The Date (1983) chapter was revised in Date (1995) and also compares the E/R model with RM/T. Date's most recent remarks can be found at Date on RM/T (2003).

RM/T contributed to the body of knowledge called semantic data modelling and semantic object modelling and continues to influence new data modellers. See Peckam and Maryanski (1988), Knoenke (2001) and Grabczewski et alia (2004).

See also