Database Design Using Entity-Relationship Diagrams: 2nd Edition (Hardback) book cover

Database Design Using Entity-Relationship Diagrams

2nd Edition

By Sikha Bagui, Richard Earp

Auerbach Publications

371 pages | 130 B/W Illus.

Purchasing Options:$ = USD
Hardback: 9781439861769
pub: 2011-09-07
SAVE ~$19.59
eBook (VitalSource) : 9780429110191
pub: 2011-09-07
from $48.98

FREE Standard Shipping!


Essential to database design, entity-relationship (ER) diagrams are known for their usefulness in mapping out clear database designs. They are also well-known for being difficult to master. With Database Design Using Entity-Relationship Diagrams, Second Edition, database designers, developers, and students preparing to enter the field can quickly learn the ins and outs of ER diagramming.

Building on the success of the bestselling first edition, this accessible text includes a new chapter on the relational model and functional dependencies. It also includes expanded chapters on Enhanced Entity Relationship (EER) diagrams and reverse mapping. It uses cutting-edge case studies and examples to help readers master database development basics and defines ER and EER diagramming in terms of requirements (end user requests) and specifications (designer feedback to those requests).

  • Describes a step-by-step approach for producing an ER diagram and developing a relational database from it
  • Contains exercises, examples, case studies, bibliographies, and summaries in each chapter
  • Details the rules for mapping ER diagrams to relational databases
  • Explains how to reverse engineer a relational database back to an entity-relationship model
  • Includes grammar for the ER diagrams that can be presented back to the user

The updated exercises and chapter summaries provide the real-world understanding needed to develop ER and EER diagrams, map them to relational databases, and test the resulting relational database. Complete with a wealth of additional exercises and examples throughout, this edition should be a basic component of any database course. Its comprehensive nature and easy-to-navigate structure makes it a resource that students and professionals will turn to throughout their careers.

Table of Contents

Data, Databases, and the Software Engineering Process


Building a Database

What is the Software Engineering Process?

Entity Relationship Diagrams and the Software Engineering Life Cycle

Phase 1: Get the Requirements for the Database

Phase 2: Specify the Database

Phase 3: Design the Database

Data and Data Models

Files, Records, and Data Items

Moving from 3 × 5 Cards to Computers

Database Models

The Hierarchical Model

The Network Model

The Relational Model

The Relational Model and Functional Dependencies

Fundamental Relational Database

Relational Database and Sets

Functional Dependency

Non-1NF to 1NF

The Second Normal Form


Non-2NF to 2NF

The Third Normal Form

The Equijoin Operation

Some Functional Dependency Rules

The Boyce Codd Normal Form

The Basic ER Diagram: A Data Modeling Schema

What Is a Data Modeling Schema?

So, What Is an Entity Relationship Diagram?

Defining a Database— Some Definitions: Entity, Relationship, Attribute

A Beginning Methodology

ER Design Methodology

A First "Entity-Only" ER Diagram: An Entity with Attributes

More about Attributes

The Simple or Atomic Attribute

The Composite Attribute

The Multivalued Attribute

The Derived Attribute


English Description of the Entity

The Method

ER Design Methodology


Mapping the Entity Diagram to a Relational Database

Case Study

Beyond the First Entity Diagram

Examining an Entity: Changing an Attribute to Be an Entity

Defining a Relationship for Our New Entity

ER Design Methodology

A Preliminary Grammar for the ER Diagrams

The Relationship

Defining a Second Entity

Does a Relationship Exist?

Attribute or Relationship?

ER Design Methodology

Case Study

Extending Relationships/Structural Constraints

The Cardinality Ratio of a Relationship

One to One (1:1)

Many to One (M:1)

One to Many (1:M)

Many to Many (M:N)

Participation: Full/Partial

English Descriptions

Tighter English

Pattern 1—x:y::k:1

Pattern 2—x:y::k:1

Pattern 3—x:y::k:M

Pattern 4—x:y::k:M

Summary of the Patterns and Relationships

ER Design Methodology

Some Examples of Other Relationships

An Example of the One-to-Many Relationship

An Example of the Many-to-One Relationship

An Example of the Many-to-Many Relationship

One Final Example

ER Design Methodology

Pattern 1—M:1, from the M Side, Full Participation

Pattern 3—1:M, from the 1 Side, Full Participation

Mapping Relationships to a Relational Database

Mapping Binary M:N Relationships

Mapping Binary 1:1 Relationships

Mapping Binary 1:N Relationships

Case Study

The Weak Entity

Strong and Weak Entities

Weak Entities and Structural Constraints

Weak Entities and the Identifying Owner

Another Example of a Weak Entity and the Identifying Owner

Weak Entities Connected to Other Weak Entities

Revisiting the Methodology

Weak Entity Grammar

The Keys

Mapping Weak Entities to a Relational Database

Case Study

Further Extensions for ER Diagrams with Binary Relationships

Attributes of Relationships

The Attributes

Relationships Developing into Entities: The M:N Relationship Revisited

The Entity

More Entities and Relationships

More than Two Entities

More Evolution of the Database

Attributes that Evolve into Entities

Recursive Relationships

Recursive Relationships and Structural Constraints

Multiple Relationships

The Derived or Redundant Relationship

Optional: An Alternative ER Notation for Specifying Structural Constraints on Relationships

Review of the Methodology

ER Design Methodology

The Entity

The Attributes

The Keys

Mapping Rules for Recursive Relationships

Case Study

Ternary and Higher-Order ER Diagrams


Binary or Ternary Relationship?

Structural Constraints for Ternary Relationships

Many to Many to Many (M:M:M)

An Example of an n-ary Relationship

n-ary Relationships Do Not Preclude Binary Relationships

Methodology and Grammar for the n-ary Relationship

A More Exact Grammar

Grammar in a Partial Participation, Ternary Relationship with an M:1:M Relationship

Ternary Relationships from Relationship-Relationship Situations

n-ary Relationships that May Be Resolved into Binary Relationships

Mapping n-ary Relationships to a Relational Database

Review of the Methodology

ER Design Methodology

The Enhanced Entity Relationship (EER) Model


What Is a Generalization or Specialization?


Examples of Generalizations or Specializations

Methodology and Grammar for Generalization/Specialization Relationships

Mapping Rules for Generalizations and Specializations

Mapping Rule 15

Mapping Rule 16

Mapping Rule 17

Mapping Rule 18

Subclasses of Subclasses

Mapping Rule 19

Categories or Union Types

Participation Ratios in Categories or Union Types

Mapping Categories or Union Types When Superclasses Have the Same Primary Keys

Mapping Categories or Union Types When Superclasse

Final ER Design Methodology

ER Design Methodology

Case Study

Relational Mapping and Reverse Engineering ER/EER Diagrams


Steps Used to Map ER/EER Diagrams to Relational Databases

Reverse Engineering

Reverse Engineering Rule 1. Develop Strong Entities

Reverse Engineering Rule 2. Look for 1:1 and 1:N (1:x) Relationships

Reverse Engineering Rule 2a. Check for Attributes of the 1:x Relationship

Reverse Engineering Rule 3. Look for Weak Entities and Multivalued Attributes

Reverse Engineering Rule 3a. Checking for Weak Entities

Reverse Engineering Rule 3b. Checking for Multivalued Attributes

Reverse Engineering Rule 4. Check for M:N and n-ary Relationships

Reverse Engineering Rule 4a. Check for the Binary Case

Reverse Engineering Rule 4b. Check for the n-ary Case

Reverse Engineering Rule 5. Check for Generalization/Specialization Relationships Have Different Primary Keys

Reverse Engineering Rule 5a. Check for Generalization/Specialization Relationships with Disjoint or Overlap Relationships with Total or Partial Participation Constraints

Reverse Engineering Rule 5b. Check for Disjoint Generalization/ Specialization Relationships with Single-Predicate-Defined Attributes

Reverse Engineering Rule 5c. Check for Overlap Generalization/Specialization Relationship with More than One Flag

Reverse Engineering Rule 6. Check for Shared Subclasses

Reverse Engineering Rule 7. Check for Categories or Union Types

A Brief Overview of the Barker/Oracle-Like Model


A First "Entity-Only" ER Diagram: An Entity with Attributes

Attributes in the Barker/Oracle-Like Model

Optional versus Mandatory Attributes

Relationships in the Barker/Oracle-Like Model

Structural Constraints in the Barker/Oracle-Like Model

Dealing with the Concept of the Weak Entity in the Barker/Oracle-Like Model

Dealing with the Concept of Multivalued Attributes in the Barker/Oracle-Like Model

Treatment of Foreign Keys

Recursive Relationships in the Barker/Oracle-Like Model

Mapping M:N Relationships



Each chapter includes an introduction, chapter summary, exercises, and a bibliography

About the Authors

Dr. Sikha Saha Bagui is an associate professor and interim associate chair in the Department of Computer Science at the University of West Florida, Pensacola, Florida. She teaches a variety of computer science and database courses, and her research areas of concentration are database design, web databases, data mining and statistical computing. Dr. Bagui has published many journal articles and co-authored several books with Dr. Earp.

Dr. Richard Walsh Earp, Professor Emeritus, is a former chair of and former associate professor in the Department of Computer Science and former dean of the College of Science and Technology at the University of West Florida in Pensacola, Florida. Dr. Earp was also an instructor with Learning Tree International and worked for Computer Sciences Corporation at the Naval Air Station in Pensacola as a database consultant after his retirement from academia. He has co-authored several books with Dr. Bagui.

About the Series

Foundations of Database Design

Learn more…

Subject Categories

BISAC Subject Codes/Headings:
COMPUTERS / Database Management / General
COMPUTERS / Software Development & Engineering / General