PART 3
Conceptual
Modeling and
Database Design
Chapter 7
Data
Modeling Using the Entity-Relationship
(ER) Model
Conceptual modeling is a very important phase in designing a successful
database application. Generally, the term database
application refers to a particular database and the associated programs
that implement the database queries and updates. For exam-ple, a BANK database application that keeps track of customer accounts would
include programs that implement database updates corresponding to customer
deposits and withdrawals. These programs provide user-friendly graphical user
interfaces (GUIs) utilizing forms and menus for the end users of the
application— the bank tellers, in this example. Hence, a major part of the
database application will require the design, implementation, and testing of
these application programs. Traditionally, the design and testing of application programs has been
considered to be part of software
engineering rather than database
design. In many software design tools, the database design methodologies
and software engineering method-ologies are intertwined since these activities
are strongly related.
In this chapter, we follow the traditional approach of concentrating on
the database structures and constraints during conceptual database design. The
design of application programs is typically covered in software engineering
courses. We present the modeling concepts of the Entity-Relationship (ER)
model, which is a popular high-level
conceptual data model. This model and its variations are frequently used for
the conceptual design of database applications, and many database design tools
employ its concepts. We describe the basic data-structuring concepts and
con-straints of the ER model and discuss their use in the design of conceptual
schemas for database applications. We also present the diagrammatic notation
associated with the ER model, known as ER
diagrams.
Object modeling methodologies such as the Unified Modeling Language (UML)
are becoming increasingly popular in both database and software design. These
methodologies go beyond database design to specify detailed design of software
modules and their interactions using various types of diagrams. An important
part of these methodologies—namely, class
diagrams—are similar in many ways to the ER diagrams. In class diagrams, operations on objects are specified, in
addition to specifying the database schema structure. Operations can be used to
specify the functional requirements during
database design, as we will discuss in Section 7.1. We present some of the UML notation and concepts for class diagrams
that are particularly relevant to database design in Section 7.8, and briefly
compare these to ER notation and concepts. Additional UML notation and concepts
are presented in Section 8.6 and in Chapter 10.
This chapter is organized as follows: Section 7.1 discusses the role of
high-level conceptual data models in database design. We introduce the
requirements for a sample database application in Section 7.2 to illustrate the
use of concepts from the ER model. This sample database is also used throughout
the book. In Section 7.3 we present the concepts of entities and attributes,
and we gradually introduce the diagrammatic technique for displaying an ER
schema. In Section 7.4 we introduce the concepts of binary relationships and
their roles and structural constraints. Section 7.5 introduces weak entity types.
Section 7.6 shows how a schema design is refined to include relationships.
Section 7.7 reviews the notation for ER diagrams, summarizes the issues and
common pitfalls that occur in schema design, and discusses how to choose the
names for database schema constructs. Section 7.8 introduces some UML class
diagram concepts, compares them to ER model concepts, and applies them to the
same database example. Section 7.9 discusses more complex types of
relationships. Section 7.10 summarizes the chapter.
The material in Sections 7.8 and 7.9 may be excluded from an
introductory course. If a more thorough coverage of data modeling concepts and
conceptual database design is desired, the reader should continue to Chapter 8,
where we describe extensions to the ER model that lead to the Enhanced-ER (EER)
model, which includes concepts such as specialization, generalization,
inheritance, and union types (categories). We also introduce some additional
UML concepts and notation in Chapter 8.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2024 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.