Semantic, Relational and Object-Oriented Databases

Naphtali Rishe
School of Computer Science
Florida International University
University Park, Miami, FL 33199
Telephone: (305) 348-1705
FAX: (305) 348-1705; E-mail: hpdrc@cs.fiu.edu


The central notion of semantic models is the concept of object, which is any real world entity that we wish to store information about in the database. The objects are categorized into classes according to their common properties. These classes, called categories, need not be disjoint - that is, one object may belong to several of them. Further, an arbitrary structure of subcategories and supercategories can be defined. The representation of the objects in the computer is invisible to the user, who perceives the objects as real-world entities, whether tangible, such as persons or cars, or intangible, such as observations, meetings, or desires. The database is perceived by its user as a set of facts about objects. These facts are of three types: facts stating that an object belongs to a category; facts stating that there is a relationship between objects; and facts relating objects to data, such as numbers, texts, dates, images, tabulated or analytical functions, etc. The relationships can be of arbitrary kinds; for example, stating that there is a many-to-many relation address between the category of persons and texts means that one person may have an address, several addresses, or no address at all.

The relational database model, proposed by E. Codd in 1971, has become the state of the art of commercial database management. This model has, in a mathematically elegant way, presented the database user with an abstraction of data, isolating the user from the physical representation of data in computer storage. The data is presented to the user as a collection of tables. Each table is a set of rows.

There are two types of tables: tables representing the application's objects (object tables) and tables representing relationships between objects (relationship tables). The object tables roughly correspond to categories in the semantic models. Each object table consists of one or more columns (jointly called the key) that identify the objects, and several other columns that display data about the objects such as numbers or character strings. Every object must have a unique key value, such as a social security number for a person, or a street name plus a house number for a home. The key must be known at all times and may never change (or the database will be corrupted). Along with the key, an object table's row contains data about the object, such as the person's address, and some relationships to other objects. The latter relationships are represented by the keys of the related objects - for example, the social security number of the person's spouse. This does not work for many-to-many relations, for which the other type of tables must be used: the relationships tables. As far as the system is concerned, the sets of objects of different tables are disjoint (although, the user can de-facto link between rows of different tables by using identical key values, but this causes immense problems in updating and querying the database). The relationships tables consist of rows cross-referencing the keys of related objects.

The mathematical abstraction of the relational model has allowed the introduction of powerful and easy-to-use user languages for retrieval and updates of databases. It has also allowed the recent development of efficient implementations. The latter were facilitated by the invisibility to the user of the computer processing, which permits optimization without affecting the user. The semantic models offer a higher degree of abstraction. This results in much more concise user programs, as well as speedier processing due to optimization and other factors. Beyond that, the semantic models offer a plethora of other features.

The relational databases have provided a good service in many conventional database applications. However, in situations where the structure of information is complex, or where greater flexibility is required (objects with unknown identifiers, or objects moving from one category to another, etc.), or where non-conventional data is involved (long texts, images, etc.), other approaches need to be considered: semantic and/or object-oriented databases.

Akin to semantic models are object-oriented database models. They offer, to various degrees, many of the features of the semantic models, in the sense of abstracting information, and, in addition, formalize some behavioral properties of the data. We have shown that the latter behavioral properties can be easily added to semantic models when necessary, thus unifying the semantic and object-oriented approaches to databases. Our algorithms for efficient implementation of semantic databases models are applicable to object-oriented databases as well.


Bibliography:

N. Rishe. Database Design: The Semantic Modeling Approach. McGraw- Hill, 1992, 528 pp.