Documente Academic
Documente Profesional
Documente Cultură
$
• Entity Sets
• Relationship Sets
• Design Issues
• Mapping Constraints
• Keys
• E–R Diagram
& %
• Extended E-R Features
• Design of an E-R Database Schema
• Reduction of an E-R Schema to Tables
• An entity set is a set of entities of the same type that share the
same properties.
& %
Example: set of all persons, companies, trees, holidays
& %
– Simple and composite attributes.
– Single-valued and multi-valued attributes.
– Null attributes.
– Derived attributes.
& %
where (e1 , e2 , ..., en ) is a relationship
– Example:
(Hayes, A-102) ∈ depositor
access-date
social-security customer-street account-number balance
customer-name customer-city
&
Database Systems Concepts 2.5 Silberschatz, Korth and Sudarshan
1997
c
%
' Degree of a Relationship Set
$
• Refers to number of entity sets that participate in a relationship
set.
• Relationship sets that involve two entity sets are binary (or
degree two). Generally, most relationship sets in a database
system are binary.
• Relationship sets may involve more than two entity sets.
The entity sets customer, loan, and branch may be linked by
the ternary (degree three) relationship set CLB.
&
Database Systems Concepts 2.6 Silberschatz, Korth and Sudarshan
1997
c
%
' Roles
$
Entity sets of a relationship need not be distinct
employee-name
e-social-security telephone-number
manager
employee works-for
worker
& %
relationship set.
• Roles are indicated in E-R diagrams by labeling the lines that
connect diamonds to rectangles.
• Role labels are optional, and are used to clarify semantics of
the relationship
& %
Although it is possible to replace a nonbinary (n-ary, for n > 2)
relationship set by a number of distinct binary relationship sets,
a n-ary relationship set shows more clearly that several entities
participate in a single relationship.
& %
– Many to many
• We distinguish among these types by drawing either a directed
line (→), signifying “one,” or an undirected line (—), signifying
“many,” between the relationship set and the entity set.
customer-name customer-city
& %
• A loan is associated with at most one customer via borrower
customer-name customer-city
(a)
& %
customer-name customer-city
(b)
&
Database Systems Concepts 2.12 Silberschatz, Korth and Sudarshan
1997
c
%
' Many-To-Many Relationship
$
social-security customer-street loan-number amount
customer-name customer-city
& %
• A loan is associated with several (possibly 0) customers via
borrower
& %
• If a loan entity is deleted, then all its associated payment
entities must be deleted also.
& %
– must consider the mapping cardinality and the semantics of
the relationship set when selecting the primary key.
– (social-security, account-number) is the primary key of
depositor
& %
• Primary key attributes are underlined.
& %
• The primary key of a weak entity set is formed by the primary
key of the strong entity set on which the weak entity set is
existence dependent, plus the weak entity set’s discriminator.
payment-date
& %
loan loan-payment payment
&
Database Systems Concepts 2.19 Silberschatz, Korth and Sudarshan
1997
c
%
' Specialization Example
$
account-number balance
account
ISA
interest-rate overdraft-amount
savings-account checking-account
& %
ISA
&
Database Systems Concepts 2.21 Silberschatz, Korth and Sudarshan
1997
c
%
' Design Constraints on a Generalization
$
• Constraint on which entities can be members of a given
lower-level entity set.
– condition-defined
– user-defined
• Constraint on whether or not entities may belong to more than
one lower-level entity set within a single generalization.
– disjoint
– overlapping
• Completeness constraint – specifies whether or not an entity in
& %
the higher-level entity set must belong to at least one of the
lower-level entity sets within a generalization.
– total
– partial
customer-name customer-city
loan-officer
& %
employee
e-social-security telephone-number
employee-name
& %
represents that:
– A customer takes out a loan
– An employee may be a loan officer for a customer-loan pair
customer-name customer-city
loan-officer
& %
employee
e-social-security telephone-number
employee-name
& %
design.
• The use of aggregation – can treat the aggregate entity set as
a single unit without concern for the details of its internal
structure.
branch-name assets
branch
loan-branch
social-security payment-date
access-date
account-number balance
cust-banker type
depositor account
& %
manager
employee works-for ISA
worker
dependent-name telephone-number
& %
• Each table has a number of columns (generally corresponding
to attributes), which have unique names.
• Converting an E-R diagram to a table format is the basis for
deriving a relational database design from an E-R diagram.
& %
L-17 5 10 May 1996 50
L-23 11 17 May 1996 75
L-15 22 23 May 1996 300
& %
entity set to its identifying strong entity set is redundant.
The payment table already contains the information that would
appear in the loan-payment table (i.e., the columns
loan-number and payment-number).
& %
table table attributes
savings-account account-number, balance, interest-rate
checking-account account-number, balance, overdraft-amount
loan
loan-number amount
borrower
cust-social-security loan-number
employee
& %
emp-social-security employee-name phone-number
loan-officer