Download - The Entity-Relationship Model
![Page 1: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/1.jpg)
The Entity-Relationship Model
Zaki MalikSeptember 16, 2008
![Page 2: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/2.jpg)
Till the Midterm Examination• Relational Data Models
– The Entity-Relationship (ER) model– The relational model– Converting E/R diagram to relational designs.
• You should know how to– Identify all entities and relationships and describe them using
an E/R diagram .– Convert the E/R model to a number of relations in a relational
schema.
• Use all these ideas to design your own database application in your project.
![Page 3: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/3.jpg)
Basic Database Terminology• Data model : describes high-level conceptual structuring of
data– Example: Data is set of student records, each with ID, name,
address, and courses– Example: Data is a graph where nodes represent proteins and
edges represent chemical bonds between proteins• Schema describes how data is to be structured and stored in a
database– Defined during creation of the database– Schemas rarely change
• Data is actual “instance” of database– Updated continuously– Changes rapidly
![Page 4: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/4.jpg)
Why Learn About Database Modeling?
• The way in which data is stored is very important for subsequent access and manipulation by SQL.
• Properties of a good data model:– It is easy to write correct and easy to understand queries.– Minor changes in the problem domain do not change the
schema.– Major changes in the problem domain can be handled without
too much difficulty.– Can support efficient database access.
![Page 5: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/5.jpg)
5
Purpose of E/R Model
• The E/R model allows us to sketch the design of a database informally.– Represent different types of data and how they relate to
each other• Designs are pictures called entity-relationship diagrams.• Fairly mechanical ways to convert E/R diagrams to real
implementations like relational databases exist.
![Page 6: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/6.jpg)
6
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.
![Page 7: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/7.jpg)
7
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.
![Page 8: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/8.jpg)
8
Example
• Entity set Beers has two attributes, name and manf (manufacturer).
• Each Beer entity has values for these two attributes, e.g. (Bud, Anheuser-Busch)
Beers
name manf
![Page 9: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/9.jpg)
9
Relationships
• A relationship connects two or more entity sets.
• It is represented by a diamond, with lines to each of the entity sets involved.
![Page 10: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/10.jpg)
10
Example
Drinkers addrname
Beers
manfname
Bars
name
license
addr
Note:license =beer, full,none
Sells
Bars sell somebeers.
Likes Drinkers likesome beers.
Frequents
Drinkers frequentsome bars.
![Page 11: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/11.jpg)
11
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.
![Page 12: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/12.jpg)
12
Example• A relationship R between entity sets E and F relates some
entities in E to some entities in F.• R is a set of pairs of tuples (e, f ) where e is in E and f is in F.
• For the relationship Sells, we might have a relationship set like:
Bar BeerJoe’s Bar BudJoe’s Bar MillerSue’s Bar BudSue’s Bar Pete’s AleSue’s Bar Bud Lite
![Page 13: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/13.jpg)
13
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.
![Page 14: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/14.jpg)
14
Example
Bars Beers
Drinkers
name nameaddr manf
name addr
license
Preferences
![Page 15: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/15.jpg)
15
A Typical Relationship Set
Bar Drinker BeerJoe’s Bar Ann MillerSue’s Bar Ann BudSue’s Bar Ann Pete’s AleJoe’s Bar Bob BudJoe’s Bar Bob MillerJoe’s Bar Cal MillerSue’s Bar Cal Bud Lite
![Page 16: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/16.jpg)
16
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.
![Page 17: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/17.jpg)
17
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.
![Page 18: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/18.jpg)
18
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.
![Page 19: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/19.jpg)
19
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).
![Page 20: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/20.jpg)
20
In Pictures:
many-many many-one one-one
Women Give Birth Babies
Befriend WomenMen Marry WomenMen
![Page 21: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/21.jpg)
21
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.
![Page 22: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/22.jpg)
22
Example
Drinkers BeersLikes
Favorite
![Page 23: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/23.jpg)
23
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).
Manfs BeersBest-seller
![Page 24: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/24.jpg)
24
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.
Bars BeersSells
price
Price is a function of both the bar and the beer,not of one alone.
![Page 25: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/25.jpg)
Relationships
• Can the same entity set appear more than once in the same relationship?
• Prerequisite relationship between two Courses
• Which course is the pre-requisite?
25
![Page 26: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/26.jpg)
26
Roles
• Label the edges between the relationship and the entity set with names called roles.
![Page 27: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/27.jpg)
27
Example
Drinkers
Married
husband wife
Relationship Set
HusbandWifeBob AnnJoe Sue… …
![Page 28: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/28.jpg)
28
Example
Drinkers
Buddies
1 2
Relationship Set
Buddy1 Buddy2Bob AnnJoe SueAnn BobJoe Moe… …
![Page 29: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/29.jpg)
Parallel Relationships
• Can there be more than one relationship between the same pair of entities?
• TA and Take relationship between Students and Classes
29
![Page 30: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/30.jpg)
30
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.
![Page 31: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/31.jpg)
31
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.
![Page 32: The Entity-Relationship Model](https://reader035.vdocuments.site/reader035/viewer/2022062521/56812ac4550346895d8e94e4/html5/thumbnails/32.jpg)
32
Example
Beers
Ales
isa
name manf
color