![Page 1: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/1.jpg)
Database Management Systems Course 236363
Faculty of Computer Science Technion – Israel Institute of Technology
Lecture 2: Entity-Relationship Diagrams
![Page 2: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/2.jpg)
• Introduction • ER Diagrams Entities Relationships Weak Entities Type Hierarchies Design Principles
• Translating ERD to Relational Schemas
Outline
![Page 3: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/3.jpg)
Modeling Data
• App development is often based on a formal modeling of the underlying data semantics
• Typically: entities of various types, connected by relationships of various types
• Examples: – Movies, actors, directors, roles, awards – Students, courses, lecturers, rooms – Products, users, purchases, credit companies – Dishes, ingredients, cooking actions – Divisions, battalions, soldiers, tanks, planes – Persons, statuses, friendships, messages, likes
3
![Page 4: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/4.jpg)
The IMDb Application
4
![Page 5: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/5.jpg)
Steps in Database Setup • Requirement analysis
– What information needs to be stored? How will it be used? What integrity constraints should be imposed?
• Conceptual database design – Define/describe/discuss the semantic
modeling of data in the application (ER model via ER diagrams)
• Logical database design – Translate the ER diagram into a
relational DB schema
• Physical database design – Translate the database schema into a
a physical storage plan on available hardware (done by DBMS)
5
![Page 6: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/6.jpg)
Entity-Relationship Diagram (ER Diagram / ERD)
• Formalism to model data in real-world scenarios • What is it modeling?
– Entity types – Attribute names per entity type – Relationship types – Attribute names per relationship type – Constraints on legal instantiations (sets of entities and
relationships) • A movie has a unique identifier and ≥1 directors; each award
is associated with a unique movie, etc.
• No individual entities & rels.; only types! – Instantiations consist of sets of entities and sets of
relationships of the corresponding types 6
![Page 7: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/7.jpg)
7
Terminology so far...
• Entity
• Entity Type
• Entity Set
• Relationship
• Relationship Type
• Relationship Set
• Instances
![Page 8: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/8.jpg)
More on ERD • Presented and taught by a visual language (diagrams)
rather than a textual one
• Have a formal and precise meaning – Need to thoroughly understand it to correctly design and
interpret diagrams
• Middleman between logical layer and reality – Facilitates the process of defining the logical level of the data
model (e.g., relational schemas) – Translates informal requirements into formal ones
• An opportunity to introduce elementary DB concepts • Comes in many variants
– Differ in visuals and semantics – We will use Garcia-Molina, Ullman & Widom
8
![Page 9: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/9.jpg)
• Introduction • ER Diagrams Entities Relationships Weak Entities Type Hierarchies Design Principles
• Translating ERD to Relational Schemas
Outline
![Page 10: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/10.jpg)
Graphical Components of ER Diagrams
• Shapes (labeled w/ text) w/ different edge types
• Connecting lines/arrows
rectangle ellipse rhombus triangle
10
![Page 11: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/11.jpg)
ERD Example
name
birthday
photo
id
address Person
ISA
Actor Director
genre year name
Directs
role
PlaysIn
Crew
WorksFor
Studio
name
Address
name
Owns
Movie
11
![Page 12: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/12.jpg)
• Introduction • ER Diagrams Entities Relationships Weak Entities Type Hierarchies Design Principles
• Translating ERD to Relational Schemas
Outline
![Page 13: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/13.jpg)
Entities • Entity – abstract object, entity set –
collection of similar entities • An entity type has a name and a set of
attribute names, • Denoted by a rectangle connected to
ellipses (attributes)
An instance has a set of actors, each having an id, a birthday, a photo, ...
13
name
birthday photo id
address Actor
![Page 14: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/14.jpg)
Attributes May Be Compound
photo id
address Actor
day month year
first middle last
name
birthday
14
One level; no more
![Page 15: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/15.jpg)
Key Attributes
• Let E be an entity type and A={a1,...,ak} a subset of the attributes of E
• We say that A is a key for E if for every legal set S of E entities, no two distinct entities have the same values for A
• In notation: ∀e,f∊S (e[a1]=f[a1] ∧...∧ e[ak]=f[ak]) ⇒ e=f
• Hence, by specifying key attributes we specify both attributes and constraints – Constraints are on entity sets/instances
15
![Page 16: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/16.jpg)
Keys in ERD
• In ERD, underline names of attributes that constitute the key (if one exists)
name
birthday photo id
address Actor
16
It is conventional to have a key for every entity type (unless we have a good reason not to); keys are sometimes “natural” (e.g., SSN) and
sometimes artificial (internal identifiers)
![Page 17: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/17.jpg)
Other Options Make Sense?
name
birthday photo id
address Actor
17
name
birthday photo id
address Actor
name
birthday photo id
address Actor
Overly restricted
Overly restricted
Overly permissive
![Page 18: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/18.jpg)
What is the Difference?
18
name
birthday emp# id
address Actor
name
birthday emp# id
address Actor
name
birthday emp# id
address Actor
Can we say that both id and emp# are
keys?
There is a limit to what we can express
with a small set of arrows and shapes
![Page 19: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/19.jpg)
Multi-Value Attributes
name
birthday id
address Actor
Each actor may have multiple photos
photo
19
![Page 20: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/20.jpg)
• Introduction • ER Diagrams Entities Relationships Weak Entities Type Hierarchies Design Principles
• Translating ERD to Relational Schemas
Outline
![Page 21: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/21.jpg)
Relationships
• By a relationship we mean a named association among entities – actsIn, directedBy, marriedTo, follows,
messageAuthor, worksIn, ...
• A relationship type has a name and a set of entity types that participate in relationships – And possibly attribute names
• As usual, a relationship constraint applies to the set of relationships of the corresponding type in an instance of the diagram
21
![Page 22: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/22.jpg)
Relationship Examples
name
birthday id
Actor
• Actors and movies relate to each other via the binary plays-in relationship
• An actor can play in any number of movies (including zero)
• A movie can have any number of actors
PlaysIn genre
year name
Movie
22
![Page 23: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/23.jpg)
Relationship Attributes
name
birthday id
Actor
Each plays-in relationship is associated with a role
PlaysIn genre
year name
Movie
role
23
Implicit constraint: No two relationships differ only in attributes
(that is, the involved entities form a key for the relationship)
What should we do if we want an actor to have multiple roles?
![Page 24: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/24.jpg)
More Than Two Entity Types
name
birthday id
Client Purchase id
vendor name
Product
Store address
manages name
birthday id
Employee
24
Ternary relationship
type
![Page 25: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/25.jpg)
Multiplicity Constraints on Rel. Sets
• Multiplicity constraints on relationship sets over entities E1,...,Ek,F involve the following: – Maximum # Fs per E1,...,Ek – Minimum # Fs per E1,...,Ek
• Graphically, denoted by decorating the edges
between entity types and relationship types
25
![Page 26: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/26.jpg)
Many-to-Many
Actor PlaysIn Movie
• An L can relate to any number of Rs • An R can relate to any number of Ls
26
![Page 27: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/27.jpg)
Many-to-One
Song MadeFor Movie
• An L can relate to at most one R • An R can relate to any number of Ls
27
If we’re given LHS, then we know RHS
A and B are in a many-to-one relationship if each B may have many A, but each A may have at most one B
![Page 28: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/28.jpg)
One-to-Many
Studio Owns Movie
• An L can relate to any number of Rs • An R can relate to at most one L
28
A and B are in a one-to-many relationship if each B has at most one A, but each A may have many B
![Page 29: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/29.jpg)
One-to-One
Person PresidentOf Studio
• An L can relate to at most one R • An R can relate to at most one L
29
A and B are in a one-to-one relationship if each B has at most one A, AND each A has at most one B
![Page 30: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/30.jpg)
Multiplicity in Multiway Relationships
Role Plays Movie
Actor
What does it mean?
For every movie and role there is a single actor (Put differently, Movie and Role determine Actor)
30
![Page 31: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/31.jpg)
Limitation in Expressiveness
Owns
President
What does it mean? • Movie and President (combined together) determine Studio • Studio and Movie (combined together) determine President
Movie Studio
In reality, Movie alone determines Studio; Studio alone determines President; ...
This is a limitation in ERD expressive power; typical in visual models, since there is only so much we can represent with arrows...
31
The conjunction of both arrows
![Page 32: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/32.jpg)
(Unique) Referential Integrity
Studio Owns Movie
• An R relates to precisely one L • Here, every movie is owned by at most one studio,
and moreover, every movie is owned by at least one studio
• (But a studio may exist without owning any movie, and a studio may own multiple movies)
32
![Page 33: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/33.jpg)
Which Graphs Match This Meaning?
President Heads Studio
A C D B E F
33
![Page 34: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/34.jpg)
Degree Constraints
Actor StarsIn Movie
Generalize X-to-X and referential constraints using explicit constraints written in math
<3
A movie cannot have more than 2 stars
Actor PlaysIn Movie >1
A movie has at least two actors
34
![Page 35: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/35.jpg)
Roles in Relationships
Movie Sequel
• Sometimes an entity type participates more than once in a relationship • (e.g., ParentOf, Follows, HasALinkTo, ...)
• To distinguish between the different roles of the entity type, we label each edge with a role name
origin
follows
Person Parents parent
child
name
id
Where should the arrow go? 35
![Page 36: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/36.jpg)
Grouping a Relationship
By grouping a relationship type, we can treat whole relationships as entities (that participate in other relationships)
name
birthday id
Actor PlaysIn genre
year name
Movie
role
Awarded Award name
36
![Page 37: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/37.jpg)
• Introduction • ER Diagrams Entities Relationships Weak Entities Type Hierarchies Design Principles
• Translating ERD to Relational Schemas
Outline
![Page 38: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/38.jpg)
Identifying Keys
Crew WorksFor Studio
name Address
name
38
Can there be two crews with the same name (e.g.,
Crew 1)?
Makes sense within a studio; but outside?
![Page 39: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/39.jpg)
Weak Entity Types
• Represent entities that are part of others – Departments of stores – Companies of battalions – Rooms of buildings
• We would like to say that a dept. is identified by its name (e.g., “kids”) while allowing different stores to have departments with that name – That is, we view different stores as independent for
the matter of identifying departments
• In ERD, we distinguish the subentity-entity relationship by double-edge shapes
39
![Page 40: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/40.jpg)
Examples of Weak Entities
Company BC Battalion
number
number
name
Crew WorksFor Studio
name
Address
name
40
“Weak Entity”
“Identifying Relationship”
“Identifying owner”
![Page 41: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/41.jpg)
Identifying Keys
Crew WorksFor Studio
name
Address
name
41
Can there be two crews with the same
name?
What info uniquely identifies a crew?
![Page 42: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/42.jpg)
What’s the Difference?
Company BC Battalion
number
number
name
Company BC Battalion
number number
name
Company Battalion
number number
name BC
42
![Page 43: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/43.jpg)
Weak Entities Depending on Multiple Entity Types
43
Contract CA Actor
number
id
name
CS Studio
address
name
birthday
The existence of Contract depends on BOTH Actor
and Studio
date
![Page 44: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/44.jpg)
• Introduction • ER Diagrams Entities Relationships Weak Entities Type Hierarchies Design Principles
• Translating ERD to Relational Schemas
Outline
![Page 45: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/45.jpg)
ISA Relationships
• ISA is a special relationship used for representing subtypes or subclasses
• Examples: – Director is a Movie Person, who is a Person – Cartoon is a Movie; Action-Movie is a Movie – Engineer is a Employee
• Important different from OOP: an object can be of different subclasses at the same time – For instance, a cartoon action movie
45
![Page 46: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/46.jpg)
Representing ISA
name
birthday
photo
id
address Person
ISA
Actor Director
What is the key of an Actor? A director?
46
![Page 47: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/47.jpg)
On ISA
A
ISA
C B
• Every entity of B is also of A • Every entity of C is also of A • There may be entities that
are of both B and C types • There may be entities of A
that are of neither B nor C
• (There are ERD formalisms that allow to distinguish between these cases, see next...)
47
![Page 48: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/48.jpg)
Specialization and Generalization
A
ISA
B
Specialization
48
A
ISA
B
Generalization
C
Some As are Bs, Bs are
As
An A is either a B or a C
![Page 49: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/49.jpg)
• Introduction • ER Diagrams Entities Relationships Weak Entities Type Hierarchies Design Principles
• Translating ERD to Relational Schemas
Outline
![Page 50: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/50.jpg)
Recipe for ERD Design
1. Identify the proper entity types
2. Determine if there are hierarchies (ISA or weak relationships) among entity sets
3. Identify the proper relationship types
4. Identify the attributes and keys
5. Determine relationship constraints
50
![Page 51: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/51.jpg)
Good Practices
• Faithfulness
• Non-Redundancy
• Simplicity
51
![Page 52: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/52.jpg)
Faithfulness (1) The design should correctly model the requirements
of the application
Actor PlaysIn Movie
salary
What could be a problem?
52
![Page 53: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/53.jpg)
Faithfulness (2) Make sure that relationship types make as
accurate associations as possible – constraints used precisely when needed
Which is correct? Depends on the
application! Movie
ActsIn
Actor
Rep
Agency
ActsIn
Actor
Movie
Agency
53
Movie
ActsIn
Actor
Rep
Agency
![Page 54: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/54.jpg)
Non-Redundancy Avoid representing information that can be inferred
otherwise (resulting in larger and slower databases, complicates maintenance, raising the risk of inconsistency)
What’s the problem?
Studio Owns name studioName Movie
What’s the problem?
studioID studioAddress
studioName studioManager
Movie
54
![Page 55: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/55.jpg)
Simplicity (1) Simpler is better!
Avoid introducing unneeded modeling and complexity
Do we need Property entity?
Depends... address id Person
55
name
id Person
name
LivesIn Property
value
address
![Page 56: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/56.jpg)
Simplicity (2) Simpler is better!
Avoid introducing unneeded modeling and complexity
Does it help to distinguish
between movie persons and non-movie persons?
salary
birthday id
MoviePerson
ISA
Actor Director
Person
ISA
56
What about Mammals?
What about Drama Actors?
![Page 57: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/57.jpg)
• Introduction • ER Diagrams Entities Relationships Weak Entities Type Hierarchies Design Principles
• Translating ERD to Relational Schemas
Outline
![Page 58: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/58.jpg)
The Relational Database Model
• A relational database is modeled via two concepts: – A relational schema
• Spec of structure, types, constraints – A database instance over the schema
• Actual tables (relations) with actual rows (tuples) and values (attribute values) corresponding to the schema
58
![Page 59: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/59.jpg)
Relational Schema
• Just schema for short • Consists of:
– A signature • Relation names and associated attributes
(names/types) – Constraints on the signature
• Which combinations of relations are allowed in schema instances?
59
![Page 60: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/60.jpg)
Signature Example
• Relation name: Movie • 5 attributes: title, year, length, gender, rating • Attributes have domains (sets of legal values)
• We often ignore the domains if they are
irrelevant to the discussion – Or if they significantly complicate things
Movie(title,year,length,genre,rating) integers
(≥0) integers
(>1800, <3000)
strings (length≤1024)
strings (length≤1024)
{‘G’, ‘PG’, ‘PG-13’, ‘R’, ‘NC-17’}
60
![Page 61: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/61.jpg)
Examples of Constraints: Key Constraint
• A set K of attributes such that no two distinct tuples can have the same values on every attribute in K
• Example: “no two Movie tuples can have both the same title and the same year” – Hence, {title,year} is a key for Movies – In the common case where there is a single
key, we denote the key attributes using underline:
Movie(title,year,length,genre,rating)
61
![Page 62: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/62.jpg)
Examples of Constraints: Foreign Key
• A set F of attributes is a foreign key of a relation R if there is a relation S with a key K such that for every r in R there is s in S such that r[F]=s[K] – Note: t[X] is obtained from t by restriction to X
• In Role(actor,movie,role), the actor value must be the id key of a tuple in Actor(id,name,photo) – In our notation, we will use arrows
• (Later in the course we will get deeper into schema constraints)
Role(actor,movie,role)
Actor(id,name,photo)
62
![Page 63: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/63.jpg)
ERD to Relational Schema
• Context: – We have an ERD for our application data – We wish to store our data in a relational DB – Need to convert: ERD relational schema
• Principles: – Avoid duplicating information – Constrain as much as possible
• Ideally, we should be able to map legal schema instances back to the ER model without violating any ERD constraint
63
![Page 64: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/64.jpg)
Translating an Entity Type
• Straightforward – entity name relation name – attribute name attribute name – key key
name
birthday photo id
address Actor
Actor(id,name,birthday,photo,address) 64
![Page 65: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/65.jpg)
Set Attribute
name
birthday photo id
address Actor
Actor(id,name,birthday,photo)
65
Photos(aid,photo)
![Page 66: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/66.jpg)
Example of Relationship Translation
name
birthday id
Actor PlaysIn genre
year name
Movie
salary
PlaysIn(aid,name,year,salary)
Actor(id,name,birthday) Movie(name,year,genre)
66
![Page 67: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/67.jpg)
Translating a Relationship
• Translation: – relationship name relation name – entity keys + relationship attributes relation
attributes • Attributes may need to be renamed for distinctness
and clarity – Entity keys form the key of the new relation
67
![Page 68: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/68.jpg)
Example in PostgreSQL PlaysIn(aid,name,year,salary)
Actor(id,name,birthday) Movie(name,year,genre)
CREATE TABLE Actor ( id int, name text, birthday date, PRIMARY KEY (id) )
CREATE TABLE Movie ( name text, year int, genre text, PRIMARY KEY (name,year) )
CREATE TABLE PlaysIn ( aid int, name text, year int, salary int, PRIMARY KEY (aid,name,year), FOREIGN KEY (aid) REFERENCES Actor(id), FOREIGN KEY (name,year) REFERENCES Movie(name,year) )
68
![Page 69: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/69.jpg)
Translating a One-to-Many Relationship
Studio Owns name
address
genre
year name
Movie
Remove attributes from the relationship key
Owns(sname,mname,year)
Studio(name,address) Movie(name,year,genre)
69
![Page 70: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/70.jpg)
Translating Unique Reference
Studio Owns name
address
genre
year name
Movie
Add a foreign key
Studio(name,address)
Movie(name,year,genre,sname)
70
![Page 71: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/71.jpg)
Translating a One-to-Many Relationship
Studio Owns name
address
genre
year name
Movie
Remove attributes from the relationship key
Owns(sname,mname,year)
Studio(name,address) Movie(name,year,genre)
71
Could we do it with Owns?
![Page 72: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/72.jpg)
Translating a One-to-Many Relationship
Studio Owns name
address
genre
year name
Movie
Remove attributes from the relationship key
Owns(sname,mname,year)
Studio(name,address) Movie(name,year,genre)
72
Could we do it with Owns?
![Page 73: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/73.jpg)
Translating Weak Entities
• Recall: a weak entity has an identifying relationship to an identifying entity
• Typical translation: – No specific relationship for the identifying
relationship – Weak entity references its identifying entity – Key of weak entity includes the key of its
identifying entity
73
![Page 74: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/74.jpg)
Example
Crew WorksFor Studio
name
address
name
Studio(name,address)
Crew(name,sname, room)
room
74
![Page 75: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/75.jpg)
Translating ISA
• Similar to weak entities: subclass references superclass
name
birthday
photo
id
Person
ISA
Actor Director
Person(id,name,birthday)
Actor(id,photo) Director(id)
75
![Page 76: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/76.jpg)
Question • An employee belongs to a
single project • For project work, employees
use tools
• An employee belongs to a single project
• An employee may use a tool for just the project to which the employee belongs
• An employee belongs to a single project
• An employee may use a tool for just one project
ETP
E T
P EP
ETP E T
P EP
?
![Page 77: Database Management Systems - Semantic Scholar · Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology ... Entities Relationships](https://reader034.vdocument.in/reader034/viewer/2022052615/607a0495dea44b569f7e5ff0/html5/thumbnails/77.jpg)
Solution: Grouping (Aggregation)
77
• Translation: – E – P – EP – ETP (a key for EP, a key for T) – T
EP
ETP
T
E P A higher level entity type