Professional Documents
Culture Documents
Spring 2008
Entity-Relationship Diagrams
Spring 2008
Scenario
http://www.imdb.com wants to store information about movies and has chosen you to help them
Three steps:
Requirements Analysis: Discover what information needs to be stored, how the stored information will be used, etc. Taught in course on system analysis and design Conceptual Database Design: High level description of data to be stored (ER model) Logical Database Design: Translation of ER diagram to a relational database schema (description of tables) Physical Database Design: Done by the DB system
5
Requirements (1)
For actors and directors, we want to store their name, a unique identification number, address and birthday (why not age?) For actors, we also want to store a photograph For films, we want to store the title, year of production and type (thriller, comedy, etc.)
We want to know who directed and who acted in each film. Every film has one director. We store the salary of each actor for each film
6
Requirements (2)
An actor can receive an award for his part in a film. We store information about who got which award for which film, along with the name of the award and year. We also store the name and telephone number of the organization who gave the award. Two different organizations can give an award with the same name. A single organization does not give more than one award with a particular name per year.
7
id
Organization
Gives
ISA
Director Directed
Won
Award year name
year
ER-diagrams have a formal semantics (meaning) that must be thoroughly understood, in order to create correct diagrams
Attributes
Attributes (): Used to describe entities
All entities in the set have the same attributes A minimal set of attributes that uniquely identify
11
Attributes (2)
Examples of attributes: Examples of things that cannot be attributes: Attributes are drawn using ovals The names of the attributes which make up a key are underlined
12
Example
id Actor name
birthday
address
13
id Actor name
birthday
address
14
id Actor name
birthday
address
15
16
Example
title birthday
salary
17
Recursive Relationships
An entity set can participate more than once in a relationship In this case, we add a description of the role to the ERdiagram
phone number
manager
name
address
18
n-ary Relationship
An n-ary relationship R set involves exactly n entity
sets: E1, , En. Each relationship in R involves exactly n entities: e1 in E1, , en in En Formally, R E1x x En
id Director name
id Actor name
19
Produced
Film
title
Example
Suppose that there are:
Actors: Mickey Mouse, Donald Duck Directors: Big Bird, Kermit
Director
name
id Actor name
20
Produced
Film
title
21
Important Note
The entities in a relationship set must identify the relationship Attributes of the relationship set cannot be used for identification! Suppose we wanted to store the role of an actor in a film.
How should we store the role of the actor? How would we store information about a person who acted in one film in several roles?
id Actor name
22
Acted In
Film
title
Key Constraints ()
Key constraints specify whether an entity can participate in one, or more than one, relationships in a relationship set
23
One-to-Many
A film is directed by at most one director A director can direct any number of films
id Director name
Directed
Film
title
Director
Directed
Film
24
Many-to-Many
A film is directed by any number of directors A director can direct any number of films
id Director name
Directed
Film
title
Director
Directed
Film
25
One-to-One
A film is directed by at most one director A director can direct at most one film
id Director name
Directed
Film
title
Director
Directed
Film
26
Another Example
Where would you put the arrow?
age
father id Person child FatherOf
name
27
id
Actor
name
id
Director
name
produced
Film
title
Participation Constraints ))
Participation constraints specify whether or not an entity must participate in a relationship set
When there is no participation constraint, it is possible that an entity will not participate in a relationship set When there is a participation constraint, the entity must participate at least once
Participation constraints are drawn using a thick line from the entity set to the relationship set
29
Example (1)
A film has at lease one director A director can direct any number of films
id Director name
Directed
Film
title
Do you think that there should be a participation constraint from Director to Directed?
Director
Directed
Film
30
Example (2)
We can combine key and participation constraints.
31
Won
33
Example
name phone number
Organization
35
Example
36
Example
Suppose that you were storing information about books. Should books be modeled as a weak entity set or a regular entity set?
Does ISBN identify a book The answer: it depends what type of data you
id Person
title
Borrowed
Copy condition
38
copy number
ISA Hierarchies
ISA Relationships: Define a hierarchy between entity sets
ISA is similar to inheritance ISA relationships are drawn as a triangle with
39
Example
What are the keys of:
address
birthday Movie Person name id
1. Movie Person
2. Actor 3. Director
ISA
picture
Actor
Director
40
Overlap Constraints
Overlap constraints: Determine whether two sub-entity sets can contain the same entity
Example: Can an Actor be a Director?
41
Covering Constraints
Covering constraints: Determine whether every entity in the super-entity set is also in at least one of the sub-entity sets
Example: Is every movie person either an Actor
or a Director?
Write "Actor AND Director COVER Movie Person". If not written, assume no covering
42
Aggregation
Aggregation: Allows us to indicate that a relationship set participates in a relationship set Remember, we want to store information about Actors, Films and their award. We will
Whats Wrong?
All the actors for all their participation in all the films must get an award!
Award
picture salary
Actor Acted In
year
44
Whats Wrong?
An actor may get an award for a film in which he has never acted in!
Won Award
picture salary
Actor Acted In
year
45
Suppose that there are: The Solution 3 actors 2 films 4 awards How many pairs can there be in ActedIn? How many pairs can there be in Won? Note that the pairs of Won are of a special type
picture Won Award salary Actor Acted In
year
46
Final Diagram
birthday name phone number
address
id
Movie Person name
Organization
ISA
Gives
picture
Actor Acted In
Director Directed
Won
Award year name
salary
year
References
Database Management Systems, by Raghu Ramakrishnan & Johannes Gehrke, third edition, McGraw-Hill, 2003. Chapters: 2
48
Assignment #2
In the Ramakrishnan book, exercises 2.2 and 2.3 (Chapter 2). page 52.: Exercise 2.2:
A university DB contains information about professors (identified by social security number, or SSN) and courses (identified by courseid). Professors teach courses; each of the following situations concerns the Teachers relationship set. For each situation, draw an ER diagram that describes it (assuming no further constraints hold).
Professors can teach the same course in several semesters, and each ofering must be recorded.
Professors can teach the same course in several semesters, and only the most recent such offering needs to be recorded. (Assume this condition applies in all subsequent questions.)
Every professor must teach some course. Every professor teaches exactly one course. Every professor teaches exactly one course, and every course must be taught by some professor.
Now suppose that certain courses can be taught by a team of professors jointly, but it is possible that no one professor in a team can teach the course.
49
Assignment #2
Exercise 2.3:
Design and draw ER diagram capturing all the following constraints regarding an university DB:
Professors have an SSN, a name, an age, a rank, and a research specialty.
Projects have a project number, a sponsor name, a starting date, an ending date, and a budget. Graduate students have an SSN, a name, an age, and a degree program (M.S. or Ph.D.)
Each project is managed by one professor (known as the projects principal investigator).
Each project is worked on by one or more professors (known as the projects coinvestigators). Professors can manage and/or work on multiple projects.
Each project is worked on by one or more graduate students (the projects research assistants).
50
Assignment #2
Exercise 2.3 cont.:
When grad. students work on a project, a professor must supervise their work on the project. Grad. Students may work on many projects (in this case they may have more than one supervisor). Departments have a department number, name, and a main office. Departments have a professor, who runs the department. Professors work in one or more departments, and for each department that they work in, a time percentage is associated with their job. Grad. students have one major department in which they are working on their degree. Each grad. Student has another, more senior grad. student (a student advisor) who advises him/her on what courses to take.
51