Database Design: The Semantic Modeling Approach.

N. Rishe. Database Design: The Semantic Modeling Approach. McGraw-Hill, 1992, 528 pp, ISBN 0-07-052955-8. This server provides the book's chapters, except problems, solutions, and indices. The chapters are available in postscript and a non-graphic ASCII version. Transparency masters in postscript are also available.

Copyright (c) McGraw-Hill 1992


Should you wish to purchase a hard copy of this book, please contact McGraw-Hill Customer Service at 1(800)-822-8158.


In the following you will find the book's preface, table of contents and links to chapters.


Naphtali D. Rishe
Professor and
Director, High-performance Database Research Center
School of Computer Science
Florida International University
University Park, Miami, FL 33199
(305) 348-2025; FAX: (305) 348-2336;
Internet: rishen@fiu.edu; WWW: http://www.cs.fiu.edu/HPDRC

Preface

This book is intended for present and future designers of database applications, software engineers, systems analysts, and programmers. It focuses on the fundamental knowledge needed by designers of database applications and on methodologies of structured design. With the exception of an optional chapter on implementational aspects, the book does not go into the system's internals, which are irrelevant to the application designers. The current database technology isolates its users from its internals. Therefore, in-depth understanding of internals will be important only to that small category of system designers who develop new database management systems. In contrast, most software engineers will develop or maintain database applications at one time or another.

The semantic approach

This book presents the field of database design from the perspective of semantic modeling. The focus on semantic modeling serves three purposes:


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.

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.

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.

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.

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.

Chapter 13 contains solutions of problems. (Not available online.)


Use of this book as a glossary and a reference handbook

The reader who wants to obtain the definition of a database term can look it up in the index, which provides a pointer to the page on which the term is defined. On that page the user will find the term set in bold face (for easy locating), normally followed by an example. When a term has different uses or aspects in several database models, the index contains several references marked according to their use.


Prerequisites

The reader is expected to be familiar with the fundamentals of the art of programming. Knowledge of structured programming is desirable, preferably in Pascal or a similar language. No knowledge of file organization or data structures is required, except for the optional Chapter 9.

Structure of the book

The book is composed primarily of explanations of concepts and examples. The examples are offset and boxed so that the experienced reader or browser can easily skip them. The examples constitute a continuous case study of an application, for which databases are designed in different models, application programs are written in different languages, etc.

Most sections are followed by problems. Many of the problems are solved in the last chapter of this book. Page-number pointers direct the reader from the problems to their solutions. If after reading a chapter the reader fails to solve a problem marked ``Advanced'' or ``Optional,'' it does not mean a lack of understanding of the chapter but probably means that the reader has a lack of mathematical knowledge or experience, which is not prerequisite to the reading of this book.

The sections marked with an asterisk (*) contain optional advanced material and may be skipped. Optional advanced material within the regular sections is given in the footnotes.


TABLE OF CONTENTS

If you are reading the ASCII version you might want to view the gif files containing a semantic schema and a relational schema of a sample University Application, which is referred to in most examples throughout the book. (A textual description of those schemas is attached to all ASCII versions.)

1. SEMANTIC INTRODUCTION TO DATABASES

ASCII file, Postscript.
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
1.2.7. Abstraction of a database storage structure
1.3. Integrity Constraints
1.4. Schema Quality Criteria
1.5. Subschemas and Userviews
1.6. Services of DBMS
1.6.1. Database languages: Query, DML, DDL, and others
1.6.2. Other services and utilities of DBMS
1.7. Multimedia Databases

2. SEMANTIC LANGUAGES

ASCII file, Postscript.
2.1. Notation
2.2. Fourth-Generation Programming
2.2.1. Principles
2.2.2. Specification of Extended Pascal
2.2.2.1. Data types and parameters
2.2.2.2. Extended expressions
2.2.2.3. Atomic database manipulation statements
2.2.2.4. The for statement
2.2.2.5. Transactions
2.2.3. A programming example
2.3. Logic as a Nonprocedural Language
2.3.1. Principles
2.3.2. First-order predicate calculus expressions
2.3.3. Queries
2.3.4. Integrity constraints in Logic
2.3.5. *Extensions of Logic: aggregates, userviews, transactions,query forms
2.3.5.1. *Aggregate operations: sum, count, average
2.3.5.2. *Shorthand notation for n-ary relationships
2.3.5.3. *Inference rules of userviews
2.3.5.4. *Transactions
2.3.5.5. *Parametric query forms
2.3.6. *Nontotal functional relations: interpretation of the dot- application

3. FROM THE SEMANTIC TO THE RELATIONAL MODEL

ASCII file, Postscript.
3.1. Time Invariant Attributes and Keys
3.2. Relational Schemas Defined
3.3. Implementational Restrictions: Pros and Cons
3.4. Relational Database Design
3.4.1. Design principles
3.4.2. Composition and split of relations
3.4.3. Determination of keys
3.4.4. Disjointness of categories
3.4.5. Removal of relations
3.4.6. Integrity constraints

4. RELATIONAL DATABASE LANGUAGES

ASCII file, Postscript.
4.1. Fourth-generation Programming
4.1.1. Transaction processing
4.2. Logic for Relational Databases
4.3. *Relational Algebra
4.4. SQL
4.4.1. Preview
4.4.2. Basic queries
4.4.3. Basic aggregates
4.4.4. Nested queries
4.4.5. Grouping of rows
4.4.6. Sorting
4.4.7. Update transactions
4.4.8. DDL
4.4.9. SQL extension of Pascal
4.5. Expressive Power of Relational Query Languages

5. MORE ON DATABASE DESIGN METHODOLOGY

ASCII file, Postscript.
5.1. A Case Study of an Application
5.1.1. Semantic analysis
5.1.2. Flow of database design
5.1.3. Other methodologies
5.1.3.1. An alternative methodology: normalization
5.1.3.1.1. *The third normal form defined
5.1.3.2. A comparison of methodologies

6. FROM THE SEMANTIC TO THE NETWORK MODEL

ASCII file, Postscript.
6.1. Definitions
6.2. Database Design
6.3. Network Languages
6.3.1. Fourth-generation programming
6.3.2. Logic
6.3.3. *Navigation

7. FROM THE NETWORK TO THE HIERARCHICAL MODEL

ASCII file, Postscript.
7.1. Definitions
7.2. Database Design
7.3. Hierarchical Languages
7.3.1. Fourth-generation programming
7.3.2. Logic

8. THE PROGRESSION OF DATABASE MODELS

ASCII file, Postscript.

9. *ASPECTS OF DBMS IMPLEMENTATION

ASCII file, Postscript.
9.1. On the Implementation of Semantic Databases
9.2. Implementation of Transaction Control
9.2.1. The transaction model
9.2.2. Accumulation of a transaction
9.2.3. Integrity constraint enforcement
9.2.4. Backup and recovery
9.2.5. Concurrency control
9.2.5.1. Orthogonal classifications of the database concurrency control strategies
9.2.5.2. Optimistic concurrency control
9.2.5.3. Pessimistic concurrency control
9.3. Meta-Schema, Data Dictionary, and DDL
9.3.1. A semantic binary meta-schema
9.3.2. DML on meta-schema = DDL
9.3.3. Relational data dictionary and meta-schema

10. THE OBJECT-ORIENTED DATA MODELS

ASCII file, Postscript.
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

11. *FIFTH-GENERATION LANGUAGES

ASCII file, Postscript.
11.1. Limitations of Nonprocedural Database Languages
11.2. Prolog-Like Languages
11.3. The Maximal Expressive Power
11.4. User-Friendly Interfaces

12. BIBLIOGRAPHY

ASCII file, Postscript.
12.1. References to Semantic Modeling Papers
12.2. General Database Bibliography