A relational data base is herein defined as a collection of normalized relations (relations in first normal form) and a collection of domains. A normalized relation may be viewed as a table, wherein each row of the table corresponds to a tuple of the relation, and the entries in a given column belong to the set of values constituting the domain underlying that column. The domains of a data base have an abstract existence apart from the data base relations.
The data base also includes various types of semantic integrity rules, which specify additional properties of the data in the data base. One such type of semantic integrity rule is the domain definition. A domain definition includes the precise description of the set of values (objects) constituting the domain. In a normalized data base, all domains are sets of atomic data values. A domain definition also includes a specification of the ordering on the values in a domain, for comparability purposes. In addition, a domain definition contains a specification of the action that is to occur if an attempt is made to violate the restriction that every entry in each column of a relation must be from the underlying domain of that column.
A nonprocedural language permitting the high level expression of domain definitions is defined. Language details and examples are presented, and the syntax and informal semantics of the domain definition language are given. This approach to domain definition is analyzed in terms of its impact on other aspects of data base semantic integrity. The relationship with the data base system in general is outlined. An analysis of intradomain and interdomain comparability is included. An introduction to relevant implementation issues is also presented. Emphasis is placed on a general approach to implementation and implementation techniques, rather than on a specific system.
[1]
E. F. Codd,et al.
Further Normalization of the Data Base Relational Model
,
1971,
Research Report / RJ / IBM / San Jose, California.
[2]
Donald D. Chamberlin,et al.
Using a Structured English Query Language as a Data Definition Facility
,
1973,
Research Report / RJ / IBM / San Jose, California.
[3]
Dennis McLeod,et al.
RISS: a generalized minicomputer relational data base management system
,
1975,
AFIPS '75.
[4]
E. F. Codd,et al.
A Relational Model for Large Shared Data Banks
,
1970
.
[5]
Stephen N. Zilles,et al.
Programming with abstract data types
,
1974,
SIGPLAN Symposium on Very High Level Languages.
[6]
E. F. Codd,et al.
Recent Investigations in Relational Data Base Systems
,
1974,
ACM Pacific.
[7]
Donald D. Chamberlin,et al.
Functional specifications of a subsystem for data base integrity
,
1975,
VLDB '75.
[8]
E. F. Codd,et al.
Normalized data base structure: a brief tutorial
,
1971,
SIGFIDET '71.
[9]
Irving L. Traiger,et al.
Views, authorization, and locking in a relational data base system
,
1975,
AFIPS '75.
[10]
Michael Stonebraker,et al.
INGRES: a relational data base system
,
1975,
AFIPS '75.
[11]
Dennis McLeod,et al.
Semantic integrity in a relational data base system
,
1975,
VLDB '75.
[12]
Moshé M. Zloof.
Query-by-example: the invocation and definition of tables and forms
,
1975,
VLDB '75.
[13]
Michael Stonebraker,et al.
Implementation of integrity constraints and views by query modification
,
1975,
SIGMOD '75.