Principles of Database Conceptual Design

Criteria and methodologies for the conceptual design of databases, particularly in large and sophisticated applications, are addressed. For a design to be understandable to user and designer alike, intuitive methods for abstracting concepts from a mass of detail must be employed. Two abstraction methods are particularly important — aggregation and generalization. Aggregation forms a concept by abstracting a relationship between other concepts (called components). Generalization forms a concept by abstracting a class of other concepts (called categories). The principle of "object relativity" is essential for the successful integration of abstractions. This principle states that individuals, categories, relationships and components are just different ways of viewing the same abstract objects. Using this principle a design may be hierarchically organized into independently meaningful abstractions. An "abstract syntax" is introduced to specify these abstraction hierarchies. An advantage of this abstract syntax is that some concepts do not have to be arbitrarily classified as "roles". The principle of "individual preservation" is a minimal requirement for maintaining the semantics of aggregation and generalization. It states that every user-invokeable operation must preserve the integrity of individuals. A methodology for designing an abstract syntax specification is outlined. The simplicity of this methodology is directly due to the principles of object relativity and individual preservation.