The Entity‐Relationship Model - Virginia...
Transcript of The Entity‐Relationship Model - Virginia...
The Entity‐Relationship ModelThe Entity Relationship Model
Zaki Malik
September 16, 2008September 16, 2008
Till the Midterm Examination
• Relational Data Modelsh l h ( ) d l– The Entity‐Relationship (ER) model
– The relational model
Converting E/R diagram to relational designs– Converting E/R diagram to relational designs.
• You should know how toIdentify all entities and relationships and describe them using– 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.
Basic Database Terminology
• Data model : describes high‐level conceptual structuring of datadata– Example: Data is set of student records, each with ID, name,
address, and courses
E l D i h h d i d– 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
S h l h– Schemas rarely change
• Data is actual “instance” of database– Updated continuouslyUpdated continuously
– Changes rapidly
Why Learn About Database Modeling?Why Learn About Database Modeling?
• The way in which data is stored is very important for y y psubsequent 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– Minor changes in the problem domain do not change the schema.
– Major changes in the problem domain can be handled without t h diffi lttoo much difficulty.
– Can support efficient database access.
Purpose of E/R ModelPurpose of E/R Model
• The E/R model allows us to sketch the design of a e / ode a o s us o s e c e des g o adatabase informally.– Represent different types of data and how they relate to
h heach other
• Designs are pictures called entity‐relationship diagrams.
F i l h i l t t E/R di t l• Fairly mechanical ways to convert E/R diagrams to real implementations like relational databases exist.
5
Entity SetsEntity Sets
• Entity = “thing” or object.• Entity set = collection of similar entities.y
– Similar to a class in object‐oriented languages.
• Attribute = property of an entity set.p p y y– Generally, all entities in a set have the same properties.
– Attributes are simple values, e.g. integers or character strings.
6
E/R DiagramsE/R Diagrams
• In an entity‐relationship diagram each entityIn an entity relationship diagram, each entity set is represented by a rectangle.
• Each attribute of an entity set is represented• Each attribute of an entity set is represented by an oval, with a line to the rectangle representing its entity setrepresenting its entity set.
7
ExampleExamplename manf
Beers
• Entity set Beers has two attributes name and manf
Beers
• Entity set Beers has two attributes, name and manf (manufacturer).
• Each Beer entity has values for these two attributesEach Beer entity has values for these two attributes, e.g. (Bud, Anheuser‐Busch)
8
RelationshipsRelationships
• A relationship connects two or more entityA relationship connects two or more entity sets.
• It is represented by a diamond with lines to• It is represented by a diamond, with lines to each of the entity sets involved.
9
Example
manfnamename addrB ll
BeersBars Sells
Bars sell somebeers.
BeersBars
license
Sells
Note:license =beer full
Likes Drinkers likesome beers.
Frequents
Drinkers addrname
beer, full,none
10
addrname
Drinkers frequentsome bars.
Relationship SetRelationship Set
• The current “value” of an entity set is the setThe current value of an entity set is the set of entities that belong to it.– Example: the set of all bars in our database– 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 ofcurrently related entities, one from each of the related entity sets.
11
ExampleExample
• A relationship R between entity sets E and F relates some p yentities 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:like:
Bar BeerJoe’s Bar BudJ ’ B MillJoe’s Bar MillerSue’s Bar BudSue’s Bar Pete’s AleSue’s Bar Bud Lite
12
Multiway RelationshipsMultiway Relationships
• Sometimes we need a relationship thatSometimes, we need a relationship that connects more than two entity sets.
• Suppose that drinkers will only drink certain• Suppose that drinkers will only drink certain beers at certain bars.
O th bi l ti hi Lik S ll d– Our three binary relationships Likes, Sells, and Frequents do not allow us to make this distinction.
But a 3 way relationship would– But a 3‐way relationship would.
13
ExampleExample
name nameaddr manf
Bars Beers
name manf
license Bars Beerslicense
Preferences
Drinkers
14
name addr
A Typical Relationship SetA Typical Relationship Set
Bar Drinker BeerJoe’s Bar Ann MillerS ’ B A B dSue’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
15
Many‐Many RelationshipsMany Many Relationships
• Think of a relationship between two entityThink of a relationship between two entity sets, such as Sells between Bars and Beers.
• In amany many relationship an entity of• In a many‐many relationship, an entity of either set can be connected to many entities of the other setof the other set.– E.g., a bar sells many beers; a beer is sold by many barsbars.
16
Many‐One RelationshipsMany One Relationships
• Some binary relationships aremany ‐one fromSome binary relationships are many one from one entity set to another.
• Each entity of the first set is connected to at• Each entity of the first set is connected to at most one entity of the second set.
B i f h d b• But an entity of the second set can be connected to zero, one, or many entities of h fithe first set.
17
ExampleExample
• Favorite from Drinkers to Beers is many‐oneFavorite, from Drinkers to Beers is many one.
• A drinker has at most one favorite beer.
b b h f i f b• But a beer can be the favorite of any number of drinkers, including zero.
18
One‐One RelationshipsOne 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
f t d f t hmanufacturer, and no manufacturer can have more than one best‐seller (assume no ties).
19
In Pictures:In Pictures:
Women Give Birth Babies
many-many many-one one-one
20
Befriend WomenMen Marry WomenMen
Representing “Multiplicity”Representing Multiplicity
• Show a many‐one relationship by an arrow enteringShow a many one relationship by an arrow entering the “one” side.
• Show a one‐one relationship by arrows entering both p y gentity sets.
• In some situations, we can also assert “exactly one,” yi.e., each entity of one set must be related to exactly one entity of the other set. To do so, we use a
d drounded arrow.
21
ExampleExample
• Consider Best‐seller betweenManfs andConsider Best seller between Manfs and Beers.
• Some beers are not the best‐seller of anySome beers are not the best seller of any manufacturer, so a rounded arrow to Manfswould be inappropriate.
• But a manufacturer has to have a best‐seller (we assume they are beer manufacturers).
Manfs BeersBest-seller
23
Attributes on RelationshipsAttributes on Relationships
• Sometimes it is useful to attach an attribute to aSometimes it is useful to attach an attribute to a relationship.
• Think of this attribute as a property of tuples in the p p y prelationship set.
Bars BeersSells
price
24
Price is a function of both the bar and the beer,not of one alone.
RelationshipsRelationships
• Can the same entity set appear more than once inCan the same entity set appear more than once in the same relationship?
• Prerequisite relationship between two Coursesq p
• Which course is the pre requisite?• Which course is the pre‐requisite?
25
RolesRoles
• Label the edges between the relationship andLabel the edges between the relationship and the entity set with names called roles.
26
ExampleExampleRelationship Set
Husband WifeBob AnnJoe Sue
Married… …
Drinkers
husband wife
Drinkers
27
ExampleExample
Relationship Set
Buddy1 Buddy2Bob Ann
Buddies
Bob AnnJoe SueAnn BobJoe Moe
Drinkers
1 2… …
Drinkers
28
Parallel RelationshipsParallel Relationships
• Can there be more than one relationship betweenCan there be more than one relationship between the same pair of entities?
• TA and Take relationship between Students and pClasses
29
SubclassesSubclasses
• Subclass = special case = fewer entities = moreSubclass = special case = fewer entities = more properties.
• Example: Ales are a kind of beer• Example: Ales are a kind of beer.– Not every beer is an ale, but some are.
L h i ddi i ll h– Let us suppose that in addition to all the properties (attributes and relationships) of beers, ales also have the attribute colorales also have the attribute color.
30
Subclasses in E/R DiagramsSubclasses in E/R Diagrams
• Assume subclasses form a treeAssume subclasses form a tree.– i.e., no multiple inheritance.
• Isa triangles indicate the subclass relationship• Isa triangles indicate the subclass relationship.– Point to the superclass.
31