04.06.2015 Views

Database Modeling and Design

Database Modeling and Design

Database Modeling and Design

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

1.3 Conceptual Data <strong>Modeling</strong> 9<br />

it is important. Schema diagrams were formalized in the 1960s by<br />

Charles Bachman. He used rectangles to denote record types <strong>and</strong><br />

directed arrows from one record type to another to denote a one-tomany<br />

relationship among instances of records of the two types. The<br />

entity-relationship (ER) approach for conceptual data modeling, one of<br />

the two approaches emphasized in this book <strong>and</strong> described in detail in<br />

Chapter 2, was first presented in 1976 by Peter Chen. The Chen form of<br />

the ER model uses rectangles to specify entities, which are somewhat<br />

analogous to records. It also uses diamond-shaped objects to represent<br />

the various types of relationships, which are differentiated by numbers<br />

or letters placed on the lines connecting the diamonds to the rectangles.<br />

The Unified <strong>Modeling</strong> Language (UML) was introduced in 1997 by<br />

Grady Booch <strong>and</strong> James Rumbaugh <strong>and</strong> has become a st<strong>and</strong>ard graphical<br />

language for specifying <strong>and</strong> documenting large-scale software systems.<br />

The data modeling component of UML (now UML-2) has a great<br />

deal of similarity with the ER model <strong>and</strong> will be presented in detail in<br />

Chapter 3. We will use both the ER model <strong>and</strong> UML to illustrate the data<br />

modeling <strong>and</strong> logical database design examples throughout this book.<br />

In conceptual data modeling, the overriding emphasis is on simplicity<br />

<strong>and</strong> readability. The goal of conceptual schema design, where the ER<br />

<strong>and</strong> UML approaches are most useful, is to capture real-world data<br />

requirements in a simple <strong>and</strong> meaningful way that is underst<strong>and</strong>able by<br />

both the database designer <strong>and</strong> the end user. The end user is the person<br />

responsible for accessing the database <strong>and</strong> executing queries <strong>and</strong> updates<br />

through the use of DBMS software, <strong>and</strong> therefore has a vested interest in<br />

the database design process.<br />

The ER model has two levels of definition—one that is quite simple<br />

<strong>and</strong> another that is considerably more complex. The simple level is the<br />

one used by most current design tools. It is quite helpful to the database<br />

designer who must communicate with end users about their data requirements.<br />

At this level you simply describe, in diagram form, the entities,<br />

attributes, <strong>and</strong> relationships that occur in the system to be conceptualized,<br />

using semantics that are definable in a data dictionary. Specialized<br />

constructs, such as “weak” entities or m<strong>and</strong>atory/optional existence<br />

notation, are also usually included in the simple form. But very little else<br />

is included, to avoid cluttering up the ER diagram while the designer’s<br />

<strong>and</strong> end user’s underst<strong>and</strong>ings of the model are being reconciled.<br />

An example of a simple form of ER model using the Chen notation is<br />

shown in Figure 1.3. In this example, we want to keep track of videotapes<br />

<strong>and</strong> customers in a video store. Videos <strong>and</strong> customers are represented<br />

as entities Video <strong>and</strong> Customer, <strong>and</strong> the relationship “rents”

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!