Vous êtes sur la page 1sur 14

CS 338: Computer Applications in Business: Databases (Fall 2014)

The EntityRelationship (ER)


Model
Chapter 7

Fall 2014

1992-2014 by Addison Wesley & Pearson Education, Inc., McGraw Hill, Cengage Learning

Slides adapted and modified from Fundamentals of Database Systems (5/6) (Elmasri et al.), Database System
Concepts (5/6) (Silberschatz et al.), Database Systems (Coronel et al.), Database Systems (4/5) (Connolly et al. ),
Database Systems: Complete Book (Garcia-Molina et al.)

CS 338: Computer Applications in Business: Databases


Rice University Data Center

Phases of Database Design


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

Traditionally, design of application programs is typically covered in


software engineering courses
consider this
Lets consider the process whereby a new database, such as our company database is created.
Where do we begin?
We begin with a design phase in which we address and answer questions about what information will be
stored, how information elements will be related to one another, what constraints such as keys or
referential integrity may be assumed, among others.

ideas

High-Level
Design

Relational
Database
Schema

Relational
DBMS
3

1992-2014 by Addison Wesley & Pearson Education, Inc., McGraw Hill, Cengage Learning

Slides adapted and modified from Fundamentals of Database Systems (5/6) (Elmasri et al.), Database System Concepts (5/6)
(Silberschatz et al.), Database Systems (Coronel et al.), Database Systems (4/5) (Connolly et al. ), Database Systems: Complete Book
(Garcia-Molina et al.)

CS 338: Computer Applications in Business: Databases (Fall 2014)

Phases of Database Design


Entity-Relationship (ER) model is a popular high-level conceptual data
model used for the conceptual design of database applications
ER diagrams is diagrammatic notation associated with the ER model

Steps in Database Design


1. Requirements Collection and Analysis
Database designers interview prospective database users to understand and document data
requirements
Result: set of user requirements (should be as detailed as possible)
In parallel, it is useful to specify the known functional requirements of the application

2. Conceptual Database Design


Detailed description of the data requirements (components and constraints)
Result: conceptual schema in a high-level, conceptual data model

3. Logical Database Design (or Data Model Mapping)


Transform the conceptual model into implementation data model
Most commercial DBMSs use an implementation data model (e.g. relational or object-relational)
Result: Database schema in implementation data model of DBMS

4. Physical Database Design


Internal storage structures, file organizations, indexes, access paths, and physical design
parameters for the database files
4

Sample Database Application: COMPANY


Requirements gathered for COMPANY
COMPANY database keeps track of employees, departments and projects
1. Company is organized into departments
Each department has a unique name, a unique number, and a particular employee who
manages the department
Keep track of the start date when the employee began managing the department
A department may have several locations

2. A department controls a number of projects


Each project has a unique name, a unique number, and a single location

3. Employee: require each employees Social Security Number, name, address,


salary, gender, and birth date
An employee is assigned to one department, but may work on several projects (which
are not necessarily controlled by the same department)
Keep track of the current number of hours per week that an employee works on each
project
Also keep track of the direct supervisor of each employee (who is another employee)

4. Keep track of the dependents of each employee for insurance purposes


Keep track of the dependents first name, sex, birth date, and relationship to the
employee
5

1992-2014 by Addison Wesley & Pearson Education, Inc., McGraw Hill, Cengage Learning

Slides adapted and modified from Fundamentals of Database Systems (5/6) (Elmasri et al.), Database System Concepts (5/6)
(Silberschatz et al.), Database Systems (Coronel et al.), Database Systems (4/5) (Connolly et al. ), Database Systems: Complete Book
(Garcia-Molina et al.)

CS 338: Computer Applications in Business: Databases (Fall 2014)

ER Model Overview
Three Principal Element Types
Entities and Entity Sets

An entity is an abstract object of some sort


Example: Person, Car, House, Employee
A collection of similar entities forms an entity set
Example 1
Let us consider the design of our running company-database example. Each department is an entity, and
the set of all departments constitutes an entity set. Likewise, the employees are entities, and the set of
employees is an entity set. A project is another entity and the set of projects is a third entity set.

Attributes

Each entity has attributes the particular properties that describe it


Example: an employee entity may be described by the employees name, age, address,
and position
A particular entity will have a value for each of its attributes the attribute values that
describe each entity become a major part of the data stored in the database

Relationships

Relationships are connections among two or more entity sets


Example: If Employee(s) and Department(s) are two entity sets, we could have a
relationship Works-for that connects employee and department

Entities and Attributes Example

1992-2014 by Addison Wesley & Pearson Education, Inc., McGraw Hill, Cengage Learning

Slides adapted and modified from Fundamentals of Database Systems (5/6) (Elmasri et al.), Database System Concepts (5/6)
(Silberschatz et al.), Database Systems (Coronel et al.), Database Systems (4/5) (Connolly et al. ), Database Systems: Complete Book
(Garcia-Molina et al.)

CS 338: Computer Applications in Business: Databases (Fall 2014)

Simple/composite:
Deals with attribute
type
Single/multivalued:
Deals with attribute
values
Stored/derived:
Deals with how
attribute value is
obtained

Categories of Attributes
Simple (atomic) attributes vs. composite attributes
Single-valued attributes vs. multivalued attributes
Stored attributes vs. derived attributes

Key (or unique) attributes


Attribute values constrained to be distinct for individual entities in
an entity set
e.g. SSN

Categories of Attributes
Composite vs. Simple (Atomic) Attributes
Composite Attributes

Can be divided into smaller subparts, which represent more basic attributes with
independent meanings
Composite attributes can form a hierarchy: the value of a composite attribute is the
concatenation of the values of its component simple attributes
If the composite attribute is referenced only as a whole, there is no need to subdivide it
into component attributes

Simple (Atomic) Attributes

Attributes that are not divisible

1992-2014 by Addison Wesley & Pearson Education, Inc., McGraw Hill, Cengage Learning

Slides adapted and modified from Fundamentals of Database Systems (5/6) (Elmasri et al.), Database System Concepts (5/6)
(Silberschatz et al.), Database Systems (Coronel et al.), Database Systems (4/5) (Connolly et al. ), Database Systems: Complete Book
(Garcia-Molina et al.)

CS 338: Computer Applications in Business: Databases (Fall 2014)

Categories of Attributes
Single-valued vs. Multivalued Attributes
Single Attributes

Most attributes have a single value for a particular entity


Example: Age is a single-valued attribute of person

Multivalued Attributes

In some cases, an attribute can have a set of values for the same entity
Example: a Colors attribute for a car
Example: Different people can have numbers of values for the College_degrees attribute
Multivalued attribute can have lower and upper bounds to constrain the number of values
allowed for each individual entity
Example: the Colors attribute of a car may be restricted to have between one and three
values (assuming that a car can have three colors at most)

10

Categories of Attributes
Stored vs. Derived Attributes
Stored vs. Derived Attributes
In some cases, two (or more) attribute values are related
Consider Age and Birth_date attributes of a person
The value of Age can be determined from the current (todays) date
and the value of that persons Birth_date
Age attribute is hence called a derived attribute and is said to be
derivable from the Birth_date attribute, which is called a stored
attribute
Some attribute values can be derived from related entities (Example:
NumberOfEmployees)

11

1992-2014 by Addison Wesley & Pearson Education, Inc., McGraw Hill, Cengage Learning

Slides adapted and modified from Fundamentals of Database Systems (5/6) (Elmasri et al.), Database System Concepts (5/6)
(Silberschatz et al.), Database Systems (Coronel et al.), Database Systems (4/5) (Connolly et al. ), Database Systems: Complete Book
(Garcia-Molina et al.)

CS 338: Computer Applications in Business: Databases (Fall 2014)

NULL Values
NULL Values
In some cases, a particular entity may not have an applicable value for
an attribute

Example:

ApartmentNumber attribute of an address applies only to


addresses that are in Apartment Buildings and NOT to other types
of residences (i.e. house)
12

Entity Sets
Entity type (or entity set)
Collection (or set) of similar entities that have the same attributes
An entity type describes the schema or intension of a set of entities
that share the same structure
The collection of entities of a particular entity type is grouped into an
entity set (also known as the extension of the entity type)

ER model defines entity sets, not individual entities


But entity sets are described in terms of their attributes

13

1992-2014 by Addison Wesley & Pearson Education, Inc., McGraw Hill, Cengage Learning

Slides adapted and modified from Fundamentals of Database Systems (5/6) (Elmasri et al.), Database System Concepts (5/6)
(Silberschatz et al.), Database Systems (Coronel et al.), Database Systems (4/5) (Connolly et al. ), Database Systems: Complete Book
(Garcia-Molina et al.)

CS 338: Computer Applications in Business: Databases (Fall 2014)

Displaying an Entity Type in ER Models


In ER diagrams, an
entity type is displayed
as a rectangular box
enclosing entity name
Attributes are displayed
as ovals
Each attribute is
connected to its entity
type by a straight line
Composite attributes are
attached to their
component attributes by
straight lines
Multivalued attributes
are displayed in double
ovals
14

Sample Database Application: COMPANY


Revisited
Requirements gathered for COMPANY
COMPANY database keeps track of employees, departments and projects
1. Company is organized into DEPARTMENTS
Each department has a unique name, a unique number, and a particular employee who
manages the department.
Keep track of the start date when the employee began managing the department.
A department may have several locations

2. A department controls a number of PROJECTS


Each project has a unique name, a unique number, and a single location

3. EMPLOYEE: require each employees Social Security Number, name, address,


salary, gender, and birth date
An employee is assigned to one department, but may work on several projects (which
are not necessarily controlled by the same department)
Keep track of the current number of hours per week that an employee works on each
project
Also keep track of the direct supervisor of each employee (who is another employee)

4. Keep track of the DEPENDENTS of each employee for insurance purposes


Keep track of the dependents first name, sex, birth date, and relationship to the
employee
15

1992-2014 by Addison Wesley & Pearson Education, Inc., McGraw Hill, Cengage Learning

Slides adapted and modified from Fundamentals of Database Systems (5/6) (Elmasri et al.), Database System Concepts (5/6)
(Silberschatz et al.), Database Systems (Coronel et al.), Database Systems (4/5) (Connolly et al. ), Database Systems: Complete Book
(Garcia-Molina et al.)

CS 338: Computer Applications in Business: Databases (Fall 2014)

Sample Database Application: COMPANY


Revisited
Based on the requirements, we can identify four initial
entity types in the COMPANY database:
DEPARTMENT
PROJECT
EMPLOYEE
DEPENDENT

16

Initial ER Diagram for COMPANY


Four entity types

Most attributes are simple, single-valued, and stored


Works_on and Locations are multivalued
Employees name is composite

Employee has one key, dependent has none, department and project
have two keys

17

1992-2014 by Addison Wesley & Pearson Education, Inc., McGraw Hill, Cengage Learning

Slides adapted and modified from Fundamentals of Database Systems (5/6) (Elmasri et al.), Database System Concepts (5/6)
(Silberschatz et al.), Database Systems (Coronel et al.), Database Systems (4/5) (Connolly et al. ), Database Systems: Complete Book
(Garcia-Molina et al.)

CS 338: Computer Applications in Business: Databases (Fall 2014)

Weak Entity Types


Entity types that do not have key attributes of their own
Identified by their relationship to specific entities from another entity type
Weak entity types are represented by surrounding their boxes and diamonds with
double lines

Dependent is meaningless in
COMPANY DB independently
of Employee

Identified by relationship
to Employee

Dependent_name distinguishes
one dependent from other
dependents for the same
employee: partial key

Identifying relationship
Relates a weak entity type to the identifying entity, which has the rest of the key

18

Sample Database Application: COMPANY


Revisited
Initial design is typically not complete
We have not represented that an employee can work on several
projects
We have not represented the number of hours per week an
employee works on

Some aspects in the requirements will be represented as


relationships
Example: attribute Manager of DEPARTMENT refers to an
employee who manages the department
Example: Controlling_department of PROJECT refers to the
department that controls the project

In the ER model, these references should not be represented


as attributes but as relationships
19

1992-2014 by Addison Wesley & Pearson Education, Inc., McGraw Hill, Cengage Learning

Slides adapted and modified from Fundamentals of Database Systems (5/6) (Elmasri et al.), Database System Concepts (5/6)
(Silberschatz et al.), Database Systems (Coronel et al.), Database Systems (4/5) (Connolly et al. ), Database Systems: Complete Book
(Garcia-Molina et al.)

CS 338: Computer Applications in Business: Databases (Fall 2014)

Relationships in General
Relationship

An association (or interaction) between entities

Indicator: an attribute of one entity refers to another entity

Represent such references as relationships not attributes

Examples:

EMPLOYEE John Smith Works on the ProductX PROJECT

20

Relationships
Relationship

An association (or interaction) between entities


Indicator: an attribute of one entity refers to another entity

Represent such references as relationships not attributes

Relationship type R among n entity types E1, E2, ..., En


Defines a set of associations among entities from these entity types

Relationship instance ri
Each ri associates n individual entities (e1, e2, ..., en)
Each entity ej in ri is a member of entity set Ej
Relationships uniquely identified by keys of participating entities

Degree of a relationship type


Number of participating entity types
e.g., binary, ternary
21

1992-2014 by Addison Wesley & Pearson Education, Inc., McGraw Hill, Cengage Learning

Slides adapted and modified from Fundamentals of Database Systems (5/6) (Elmasri et al.), Database System Concepts (5/6)
(Silberschatz et al.), Database Systems (Coronel et al.), Database Systems (4/5) (Connolly et al. ), Database Systems: Complete Book
(Garcia-Molina et al.)

10

CS 338: Computer Applications in Business: Databases (Fall 2014)

Degree of Relationship Examples


In ER diagrams, we represent the
relationship type as follows
Diamond-shaped box is used to
display a relationship type
Connected to the participating entity
types via straight lines

22

Relationships with
Repeated Entity Sets
Some relationships involve multiple
entities from the same entity set
e.g., spouse (two persons), games (two
teams)
e.g., recursive relationships, such as
supervises (two employees)

Recursive relationships

A relationship type with the same


participating entity type but in different
roles

Role name
Signifies role that participating entity
plays in relationship instance
Required when entity type participates
multiple times in a relationship
23

1992-2014 by Addison Wesley & Pearson Education, Inc., McGraw Hill, Cengage Learning

Slides adapted and modified from Fundamentals of Database Systems (5/6) (Elmasri et al.), Database System Concepts (5/6)
(Silberschatz et al.), Database Systems (Coronel et al.), Database Systems (4/5) (Connolly et al. ), Database Systems: Complete Book
(Garcia-Molina et al.)

11

CS 338: Computer Applications in Business: Databases (Fall 2014)

Relationship Constraints
Cardinality ratio
Specifies maximum number of relationship instances in which each entity
can participate
Types 1:1, 1:N, or M:N

Participation constraint
Specifies whether existence of entity depends on its being related to
another entity
Types: total and partial
Thus, minimum number of relationship instances in which entities can
participate:
At least 1 for total participation
At least 0 for partial

Diagrammatically, use a double line from relationship type to entity type


24

Relationship Constraints
Partial Participation
If there is no participation constraint, it is possible that an entity will not
participate in a relationship set
E1

E2

Total Participation
If there is a participation constraint, an entity must participate at least once
Presented by double line from entity set to relationship set

E1

E2

Alternative: Structural constraint


Specify any min and max participation
Generalization of cardinality ratio and participation constraint
25

1992-2014 by Addison Wesley & Pearson Education, Inc., McGraw Hill, Cengage Learning

Slides adapted and modified from Fundamentals of Database Systems (5/6) (Elmasri et al.), Database System Concepts (5/6)
(Silberschatz et al.), Database Systems (Coronel et al.), Database Systems (4/5) (Connolly et al. ), Database Systems: Complete Book
(Garcia-Molina et al.)

12

CS 338: Computer Applications in Business: Databases (Fall 2014)

Relationship Attributes
Relationship types can also have attributes
Property that depends on both/all participating entities
Example: Percentage of control that department has on a project

CONTROLS

Percent

Attributes of 1:1 or 1:N relationship types can be migrated to


one of the participating entity types
For a 1:N relationship type, relationship attribute can
be migrated only to entity type on N-side of relationship
Attributes on M:N relationship types must be specified
as relationship attributes
26

Summary of Notation for ER Diagrams

Continued next page

1992-2014 by Addison Wesley & Pearson Education, Inc., McGraw Hill, Cengage Learning

Slides adapted and modified from Fundamentals of Database Systems (5/6) (Elmasri et al.), Database System Concepts (5/6)
(Silberschatz et al.), Database Systems (Coronel et al.), Database Systems (4/5) (Connolly et al. ), Database Systems: Complete Book
(Garcia-Molina et al.)

13

CS 338: Computer Applications in Business: Databases (Fall 2014)

Summary of Notation for ER Diagrams

Appropriate ER Model Design


Choose names that convey meanings attached to different
constructs in schema
Nouns give rise to entity type names
Verbs indicate names of relationship types
Entities that must participate in a relationship with
another entity type and with cardinality constraint
of 1 might be better modeled as weak entity

1992-2014 by Addison Wesley & Pearson Education, Inc., McGraw Hill, Cengage Learning

Slides adapted and modified from Fundamentals of Database Systems (5/6) (Elmasri et al.), Database System Concepts (5/6)
(Silberschatz et al.), Database Systems (Coronel et al.), Database Systems (4/5) (Connolly et al. ), Database Systems: Complete Book
(Garcia-Molina et al.)

14

Vous aimerez peut-être aussi