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.)