0% found this document useful (0 votes)
44 views52 pages

Entity-Relationship Model: Diagrams Class Hierarchies Weak Entity Sets

The document describes the entity-relationship (E/R) model for conceptual database design. The E/R model uses entity-relationship diagrams to represent entities, attributes, relationships between entities, and cardinalities of relationships. Entities are represented by rectangles, attributes by ovals, and relationships by diamonds connecting entities. Keys, subclasses, and other constructs are also described for fully representing data structures in E/R diagrams prior to implementation in a relational database.

Uploaded by

Zakia Amalia
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views52 pages

Entity-Relationship Model: Diagrams Class Hierarchies Weak Entity Sets

The document describes the entity-relationship (E/R) model for conceptual database design. The E/R model uses entity-relationship diagrams to represent entities, attributes, relationships between entities, and cardinalities of relationships. Entities are represented by rectangles, attributes by ovals, and relationships by diamonds connecting entities. Keys, subclasses, and other constructs are also described for fully representing data structures in E/R diagrams prior to implementation in a relational database.

Uploaded by

Zakia Amalia
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 52

Entity-Relationship Model

Diagrams
Class hierarchies
Weak entity sets

1
Purpose of E/R Model
The E/R model allows us to sketch the
design of a database informally.
Designs are pictures called entity-
relationship diagrams.
Fairly mechanical ways to convert E/R
diagrams to real implementations like
relational databases exist.

2
Entity Sets
Entity = thing or object.
Entity set = collection of similar entities.
Similar to a class in object-oriented languages.
Attribute = property of an entity set.
Generally, all entities in a set have the same
properties.
Attributes are simple values, e.g. integers or
character strings.

3
E/R Diagrams
In an entity-relationship diagram, each
entity set is represented by a rectangle.
Each attribute of an entity set is
represented by an oval, with a line to
the rectangle representing its entity set.

4
Example name manf

Beers

Entity set Beers has two attributes, name and


manf (manufacturer).
Each Beer entity has values for these two
attributes, e.g. (Bud, Anheuser-Busch)
5
Relationships
A relationship connects two or more
entity sets.
It is represented by a diamond, with
lines to each of the entity sets involved.

6
Example
name addr name manf

Bars Sells Beers Bars sell some


beers.
license
Drinkers like
Frequents Likes some beers.
Note:
license = Drinkers frequent
beer, full,
none
some bars.
name Drinkers addr
7
Relationship Set
The current value of an entity set is
the set of entities that belong to it.
Example: the set of all bars in our
database.
The value of a relationship is a set of
lists of currently related entities, one
from each of the related entity sets.

8
Example
For the relationship Sells, we might
have a relationship set like:

Bar Beer
Joes Bar Bud
Joes Bar Miller
Sues Bar Bud
Sues Bar Petes Ale
Sues Bar Bud Lite

9
Multiway Relationships
Sometimes, we need a relationship that
connects more than two entity sets.
Suppose that drinkers will only drink
certain beers at certain bars.
Our three binary relationships Likes, Sells,
and Frequents do not allow us to make this
distinction.
But a 3-way relationship would.
10
Example
name addr name manf

license Bars Beers

Preferences

Drinkers
name addr
11
A Typical Relationship Set

Bar Drinker Beer


Joes Bar Ann Miller
Sues Bar Ann Bud
Sues Bar Ann Petes Ale
Joes Bar Bob Bud
Joes Bar Bob Miller
Joes Bar Cal Miller
Sues Bar Cal Bud Lite

12
Many-Many Relationships
Think of a relationship between two
entity sets, such as Sells between Bars
and Beers.
In a many-many relationship, an entity
of either set can be connected to many
entities of the other set.
E.g., a bar sells many beers; a beer is sold
by many bars.
13
Many-One Relationships
Some binary relationships are many -
one from one entity set to another.
Each entity of the first set is connected
to at most one entity of the second set.
But an entity of the second set can be
connected to zero, one, or many
entities of the first set.

14
Example
Favorite, from Drinkers to Beers is
many-one.
A drinker has at most one favorite beer.
But a beer can be the favorite of any
number of drinkers, including zero.

15
One-One Relationships
In a one-one relationship, each entity of
either entity set is related to at most one
entity of the other set.
Example: Relationship Best-seller between
entity sets Manfs (manufacturer) and
Beers.
A beer cannot be made by more than one
manufacturer, and no manufacturer can have
more than one best-seller (assume no ties).
16
In Pictures:

many-many many-one one-one

17
Representing Multiplicity
Show a many-one relationship by an arrow
entering the one side.
Show a one-one relationship by arrows
entering both entity sets.
In some situations, we can also assert
exactly one, i.e., each entity of one set must
be related to exactly one entity of the other
set. To do so, we use a rounded arrow.

18
Example

Drinkers Likes Beers

Favorite

19
Example
Consider Best-seller between Manfs
and Beers.
Some beers are not the best-seller of
any manufacturer, so a rounded arrow
to Manfs would be inappropriate.
But a manufacturer has to have a best-
seller (we assume they are beer
manufacturers).

20
In the E/R Diagram

Manfs Best- Beers


seller

21
Attributes on Relationships
Sometimes it is useful to attach an
attribute to a relationship.
Think of this attribute as a property of
tuples in the relationship set.

22
Example

Bars Sells Beers

price

Price is a function of both the bar and the beer,


not of one alone.
23
Equivalent Diagrams Without
Attributes on Relationships
Create an entity set representing values
of the attribute.
Make that entity set participate in the
relationship.

24
Example

Bars Sells Beers

Note convention:
Prices arrow from multiway
relationship = all other
entity sets determine a
unique one of these.
price
25
Roles
Sometimes an entity set appears more
than once in a relationship.
Label the edges between the
relationship and the entity set with
names called roles.

26
Example
Relationship Set

Husband Wife
Bob Ann
Joe Sue
Married

husband wife
Drinkers

27
Example
Relationship Set

Buddy1 Buddy2
Bob Ann
Joe Sue
Buddies
Ann Bob
Joe Moe
1 2
Drinkers

28
Subclasses
Subclass = special case = fewer
entities = more properties.
Example: Ales are a kind of beer.
Not every beer is an ale, but some are.
Let us suppose that in addition to all the
properties (attributes and relationships) of
beers, ales also have the attribute color.

29
Subclasses in E/R Diagrams
Assume subclasses form a tree.
I.e., no multiple inheritance.
Isa triangles indicate the subclass
relationship.
Point to the superclass.

30
Example

name Beers manf

isa

color Ales

31
E/R Vs. Object-Oriented Subclasses
In the object-oriented world, objects are
in one class only.
Subclasses inherit properties from
superclasses.
In contrast, E/R entities have components
in all subclasses to which they belong.
Matters when we convert to relations.

32
Example

name Beers manf

Petes Ale
isa

color Ales

33
Keys
A key is a set of attributes for one
entity set such that no two entities in
this set agree on all the attributes of
the key.
It is allowed for two entities to agree on
some, but not all, of the key attributes.
We must designate a key for every
entity set.
34
Keys in E/R Diagrams
Underline the key attribute(s).
In an Isa hierarchy, only the root entity
set has a key, and it must serve as the
key for all entities in the hierarchy.

35
Example: name is Key for Beers

name Beers manf

isa

color Ales

36
Example: a Multi-attribute Key

dept number hours room

Courses

Note that hours and room could also serve as a


key, but we must select only one key.

37
Weak Entity Sets
Occasionally, entities of an entity set
need help to identify them uniquely.
Entity set E is said to be weak if in
order to identify entities of E uniquely,
we need to follow one or more many-
one relationships from E and include
the key of the related entities from the
connected entity sets.
38
Example
name is almost a key for football players, but
there might be two with the same name.
number is certainly not a key, since players
on two teams could have the same number.
But number, together with the Team related
to the player by Plays-on should be unique.

39
In E/R Diagrams
name number name

Players Plays- Teams


on

Double diamond for supporting many-one relationship.


Double rectangle for the weak entity set.

40
Weak Entity-Set Rules
A weak entity set has one or more many-one
relationships to other (supporting) entity sets.
Not every many-one relationship from a weak
entity set need be supporting.
The key for a weak entity set is its own
underlined attributes and the keys for the
supporting entity sets.
E.g., player-number and team-name is a key for
Players in the previous example.

41
Design Techniques
1. Avoid redundancy.
2. Limit the use of weak entity sets.
3. Dont use an entity set when an
attribute will do.

42
Avoiding Redundancy
Redundancy occurs when we say the
same thing in two different ways.
Redundancy wastes space and (more
importantly) encourages inconsistency.
The two instances of the same fact may
become inconsistent if we change one and
forget to change the other, related version.

43
Example: Good
name name addr

Beers ManfBy Manfs

This design gives the address of each


manufacturer exactly once.
44
Example: Bad
name name addr

Beers ManfBy Manfs

manf

This design states the manufacturer of a beer


twice: as an attribute and as a related entity.
45
Example: Bad
name manf manfAddr

Beers

This design repeats the manufacturers address


once for each beer; loses the address if there are
temporarily no beers for a manufacturer.

46
Entity Sets Versus Attributes
An entity set should satisfy at least
one of the following conditions:
It is more than the name of something; it
has at least one nonkey attribute.
or
It is the many in a many-one or many-
many relationship.

47
Example: Good
name name addr

Beers ManfBy Manfs

Manfs deserves to be an entity set because of


the nonkey attribute addr.
Beers deserves to be an entity set because it is
the many of the many-one relationship ManfBy.
48
Example: Good
name manf

Beers

There is no need to make the manufacturer an


entity set, because we record nothing about
manufacturers besides their name.

49
Example: Bad
name name

Beers ManfBy Manfs

Since the manufacturer is nothing but a name,


and is not at the many end of any relationship,
it should not be an entity set.

50
Dont Overuse Weak Entity Sets
Beginning database designers often doubt
that anything could be a key by itself.
They make all entity sets weak, supported by all
other entity sets to which they are linked.
In reality, we usually create unique IDs for
entity sets.
Examples include social-security numbers,
automobile VINs etc.
51
When Do We Need Weak
Entity Sets?
The usual reason is that there is no
global authority capable of creating
unique IDs.
Example: it is unlikely that there could
be an agreement to assign unique
player numbers across all football teams
in the world.

52

You might also like