Database Design: The Semantic Modeling Approach.
Contents
Chapter 1 introduces the fundamental aspects
of databases. These aspects are described in terms of a semantic database
model, the Semantic Binary Model (SBM). (In later chapters, other database
models, such as the relational, network, and hierarchical models, are
defined technically as subsets of the semantic model of Chapter 1.)
This chapter defines and discusses the concepts of a database, a
database management system (DBMS), a database schema, modeling real-
world information, categorization of real-world objects, relations
between objects, graphic representation of database schemas, integrity
constraints, quality of database schemas, sub-schemas, userviews,
database languages, services of DBMS, and multimedia databases.
- 1.1. Databases, DBMS, Data Models
- 1.2. Semantic Modeling
- 1.2.1. Categorization of objects
- 1.2.2. Binary relations
- 1.2.2.1. Types of binary relations: m:m, m:1, 1:m, 1:1
- 1.2.2.2. Categories as domains and ranges of relations
- 1.2.2.3. Attributes
- 1.2.3. Nonbinary relationships
- 1.2.4. Instantaneous databases
- 1.2.5. Semantic binary schemas
- 1.2.6. Schema diagrams
Chapter 2 presents two fundamental database
languages, from which most database languages can be derived with some
adjustment of syntax. The first language is a fourth-generation data
manipulation language. It is shown as a structured extension of Pascal.
The second language is a nonprocedural language called Database Predicate
Calculus. Chapter 2 defines these languages in terms of the Semantic
Binary Model. Later chapters show the use of these languages in other
database models.
Chapter 3 defines the Relational Data Model and
presents a top-down methodology for the design of relational databases.
Chapter 4 describes relational database
languages. Sections 1 and 2 show examples of how the languages of Chapter
2 (the fourth-generation and the logic-based languages) apply to the
relational databases. A case study in Section 1 discusses the
principles of writing a transaction-processing program for an
application. The optional Section 3 defines the Relational Algebra.
Section 4 describes SQL, a popular commercial language related to the
logic-based language of Section 2. The expressive power and the
equivalence of relational languages are discussed in Section 5.
Chapter 5 begins with a case study of the design
of an actual database application. Section 2 summarizes the flow of
database design. Section 3 compares the methodology of this book
to the older methodology of normalization.
Chapter 6 defines the Network (CODASYL) data
model and adapts the top-down database design methodology to network
databases. Section 3 of this chapter discusses network database
languages: application of the generic fourth-generation and
logic-based languages and a special navigational language for the Network
Model.
Chapter 7 defines the hierarchical data model
and adapts the top-down database design methodology to hierarchical
databases. Section 3 of this chapter discusses hierarchical database
languages: application of the generic fourth-generation and logic-based
languages.
- 7.1. Definitions
Chapter 8 compares the semantic, relational,
network, and hierarchical data models with respect to application
programming efforts, data independence, and other factors.
Chapter 9 discusses aspects of DBMS
implementation. Section 1 describes an efficient algorithm for the
implementation of semantic databases. Section 2 addresses questions
of transaction handling, including the enforcement of integrity
constraints, backup and recovery, and concurrency control. Section 3
addresses issues of data definition languages and data dictionaries.
Chapter 10 addresses object-oriented
databases. This chapter discusses the similarities and the minor
difference between the semantic and object-oriented databases and
augments the Semantic Binary Model with object-oriented features
related to modeling database behavior.
- 10.1. The Semantic Binary Object-Oriented Data Model
- 10.1.1. Object-oriented schemas
- 10.1.2. Methods
- 10.1.2.1. Overloading and late binding
- 10.1.2.2. A late binding algorithm
- 10.2. Object-Oriented Terminology
Chapter 11 discusses several
fifth-generation languages. Sections 1 through 3 address issues of
expressive power of logic-based database languages and discuss
Prolog-like languages and a logic-based language which attains
computational completeness. Section 4 discusses user- friendly
interfaces, using the Query-By-Example language as an example.
- 11.1. Limitations of Nonprocedural Database Languages
- 11.2. Prolog-Like Languages
- 11.3. The Maximal Expressive Power
- 11.4. User-Friendly Interfaces
Chapter 12 is the bibliography. Section 1 gives
annotated references to papers on issues of semantic modeling
addressed in this book. Section 2 is a listing of recent books on
databases.
- 12.1. References to Semantic Modeling Papers
- 12.2. General Database Bibliography
Chapter 13 contains solutions of problems. (Not available online.)