Relational Model/Tasmania

Relational Model/Tasmania

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 some fundamental semantic units, at "atomic" and "molecular" levels, for data modelling. Codd writes: "the result is a model with a richer variety of objects than the original relational model, additional insert-update-delete 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. Up to 1978 the papers describe RM Version 1 (RM/V1). In early 1979 Codd first presented some new ideas, called RM/T ('T' for Tasmania), at an invited talk for the "Australian Computer Science Conference" in Hobart, Tasmania. Later that year the ACM journal published a paper on RM/T, in which Codd acknowledges the influence of Schmid & Swensen (1975) and Wiederhold (1977).

A later version of RM/T (we shall call it here "RM/D") was described in Date (1983) in which Date and Codd improved and refined RM/T, adding an entity type called "designative". Although Codd writes nothing about this new type, Date offers a rationale in Date (1983, page 262). Date revised this 1983 article in Date (1995), which 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 the original RM/T into the 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 Codd's 1990 book that defines RM/V2. 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:

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

Entities and NonentitiesAn "entity" is some "thing" in the modelled universe and it typically identified by a surrogate. A "nonentity" is some "thing" that is not an entity and does not have its own identifying surrogate; others might call this an object. An "independent" entity has its own surrogate. A "dependent" entity has a surrogate but it belongs to another entity, i.e. the surrogate is a foreign key.

Atomic SemanticsThe RM/T addresses "atomic" semantics by describing how the original RM "relation" can be used to describe entities with attributes. An entity is represented as an "Entity-relation" or "E-relation" and its attributes (or immediate properties) are stored in separate "Property-relations" or "P-relations". Each "E-relation" shares its surrogate with the associated "P-relation"s.

"E-relations" mark the "existence" of an entity. An "E-relation" is a relation (table) storing 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" store the "attribute values" of an entity. A "P-relation" is a relation (table) storing the surrogate and one or more attributes of an entity. The surrogate value of a "P-relation" is that of the corresponding "E-relation"; it plays the role (K-role) of the primary key for that "P-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 an OUTER NATURAL JOIN on the RM/T "Employee" "E-relation" and "Employee_Person" "P-relation" we can construct the RM/V1 "Employee" relation. This illustrates why the "E-relation" and "P-relation" concepts of RM/T are more "atomic" than the "relation" concept of RM/V1.

Molecular SemanticsThe 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 define a notation for diagramming his 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" - entities 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.

Associations These are what we might otherwise call "relationships" between entities or non-entities. The value "E-null" is used when deleteting entities from the RM/T model; all associations that have surrogates referring to a non-existing entity are assigned the value "E-null", meaning the entity is unknown.

Associative Entity and Nonentity AssociationAn "associative entity" is an entity that represents an association between two independent entities; the "associative entity" is an entity in itself because it has a surrogate. A "nonentity association" is similar to an "associative entity" however it has "no" surrogate. This lack of a surrogate stops the "nonentity association" from having, for example, any descriptive "characteristic entities".

Directed Graph Relations Several "directed graph" relations are defined to capture further semantic features of the RM/T model. These graphs are named as follows:
* PG-relation (Property Graph) stores "property" relationships
* CG-relation (Characteristic Graph) stores "characteristic" relationships
* AG-relation (Association Graph) stores "association" relationships
* UGI-relation (Unconditional Generalisation by Inclusion) stores "generalisation by inclusion" relationships
* AGI-relation (Alternative Generalisation by Inclusion) stores "generalisation by alternative" relationships
* US-relation (Unconditional Successor) stores "unconditional successor" relationships
* AS-relation (Alternative Successor) stores "alternative successor" relationships
* KG-relation (Cover Membership) stores "cover membership" relationships
* UP-relation (Unconditional Precedence) stores "unconditional succession of event" relationships
* AP-relation (Alternative Precedence) stores "alternative succession of eve"nt relationships

RM/T Catalog The Catalog is a meta-model storing the descriptions of the relations themselves. The RM/T Catalog comprises the following relations:
* CATR (R-surrogate, "relname", RelType) describes relations
* CATRA (RA-surrogate, R-surrogate, A-surrogate) relates relations and attributes
* CATA (A-surrogate, "attname", UserKey) describes attributes
* CATAD (AD-surrogate, A-surrogate, D-surrogate) relates attributes and domains
* CATD (D-surrogate, "domname", VType, Ordering) describes domains
* CATC (C-surrogate, "pername") describes categories
* CATRC (RC-surrogate, R-surrogate, C-surrogate) relates relations and categorieswhere
* "relname" is the textual name of a relation. e.g. "Address"
* "attname" is the textual name of an attribute. e.g. "Street"
* "domname" is the textual name of a domain. e.g. "Salary"
* "pername" is the category label (from the PER-domain)
* RN-domain is the domain of all relnames in the database
* PER-domain is the domain of all category labels
* E-domain is the domain of all surrogates in the database
* E-attribute is any attribute that plays the role of a surrogate (from the E-domain)
* E-null is the "entity unknown" surrogate (from the E-domain)
* R-surrogate is the relation surrogate (from the E-domain)
* A-surrogate is the attribute surrogate (from the E-domain)
* D-surrogate is the domain surrogate (from the E-domain)
* C-surrogate is the category label surrogate (from the E-domain)
* RA-surrogate is the relation-attribute surrogate (from the E-domain)
* AD-surrogate is the attribute-domain surrogate (from the E-domain)
* RC-surrogate is the relation-category-label surrogate (from the E-domain)
* RelType is the type of object represented by the relation
* UserKey shows whether the attribute participates in a user-defined key
* VType is the syntantic type of the value
* Ordering shows whether the operator > is applicable between values of the domain

Operators Numerous operators are defined on names, sets and graphs. See Codd's 1979 paper for details.

RM/T Today

There is little mention of RM/T today and no articles have appeared recently. Peckam and Maryanski (1988) wrote about RM/T in their study of semantic data models. Codd published his book in 1990 but wrote nothing more about RM/T. RM/V1 and RM/V2 have a chapter each in "Date and Darwen" (1992) and the Date (1983) article was updated in (1995) and now contains a long overdue comparison of the E/R model and RM/T. Date's most recent reflections can be found on the Web at Date (1999) and "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 the paper by Hammer and McLeod (1981), the book by Knoenke (2001) and implementation by Grabczewski et alia (2004)...

External links

* [http://portal.acm.org/citation.cfm?id=320109 Extending the database relational model to capture more meaning] by E.F. Codd (1979)

* [http://portal.acm.org/citation.cfm?id=500110&dl=ACM&coll=&CFID=15151515&CFTOKEN=6184618 On the semantics of the relational data model] by H.A. Schmid and J.R. Swensen (1975)

* [http://portal.acm.org/citation.cfm?id=542883&dl=ACM&coll=GUIDE&CFID=11111111&CFTOKEN=2222222 Database Design] by G. Wiederhold (1977)
* [http://www.amazon.co.uk/dp/0201141922 The Relational Model for Data Base Management: Version 2] by E.F. Codd (1990)

* [http://www.amazon.co.uk/dp/0201144743 An Introduction to Data Base Systems: Vol 2] by C.J. Date (1983)

* [http://www.amazon.com/dp/0201543036 Relational Database Writings 1989–1991] by C.J. Date with Hugh Darwen (1992)

* [http://www.amazon.com/dp/0201824590/ Relational Database Writings 1991–1994] by C.J. Date (1995)

* [http://www.intelligententerprise.com/db_area/archives/1999/990106/online1.jhtml;jsessionid=DYSOTINHQQI5OQSNDLQSKH0CJUNN2JVN Thirty Years of Relational: Extending the Relational Model] by C.J. Date (1999)

* [http://www.dbdebunk.com/page/page/806639.htm On Codd's RM/T] by C.J. Date (2003)

* [http://delivery.acm.org/10.1145/70000/62062/p153-peckham.pdf?key1=62062&key2=4927854611&coll=GUIDE&dl=GUIDE&CFID=5476987&CFTOKEN=80047688 Semantic Data Models] by J. Peckam and F. Maryanski (1988); a useful survey that includes RM/T

* [http://www.cs.ucd.ie/staff/acater/home/comp4002/rmt.pdf Codd's Extended Relational Model] by Dr Arthur Cater of University College Dublin

* [http://portal.acm.org/citation.cfm?id=362685 A relational model of data for large shared data banks] by E.F. Codd (1970)

* [http://portal.acm.org/citation.cfm?doid=319587.319588 Database Description with SDM: A Semantic Database Model] by M. Hammer and D. McLeod (1981)

* [http://www.amazon.com/dp/0130648396/ Database Processing (Eighth Edition)] by David M. Kroenke (2001)

* [http://epubs.cclrc.ac.uk/work-details?w=35234 A Corporate Data Repository for CCLRC using CERIF] by E. Grabczewski, S.Crompton, S.K. Robinson and T.H. Hall (2004)

* "A Practical Approach to Database Design" in "Relational Datebase: Selected Writings" by C.J.Date (1986)

ee also

*Data modeling
*Semantic data modeling
*Semantic object modelling


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • Semantic data model — A semantic data model in software engineering is a data modeling technique to define the meaning of data within the context of its interrelationships with other data. A semantic data model is an abstraction which defines how the stored symbols… …   Wikipedia

  • Edgar F. Codd — Infobox Scientist name = Edgar Frank Ted Codd image width = 150px caption = birth date = birth date|1923|8|23|mf=y birth place = Isle of Portland, England death date = death date and age|2003|4|18|1923|8|23|mf=y death place = Williams Island,… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”