Professional Documents
Culture Documents
What Is A Database Management System?: Spring 2008
What Is A Database Management System?: Spring 2008
What Is A Database Management System?: Spring 2008
Spring 2008
And more
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
phone number
name
Organization
ISA
Director
Acted In
Directed
year
Attributes
Attributes ( :)Used to describe entities
All entities in the set have the same attributes A minimal set of attributes that uniquely identify an entity is called a key An attribute contains a single piece of
11
Attributes (2)
Examples of attributes: Examples of things that cannot be attributes: Attributes are drawn using ovals
Example
id Actor name
birthday
address
13
id
birthday
Actor
name
address
14
id
birthday
Actor
name
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
Manages
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 When there is no key constraint an entity can participate any number of times When there is a key constraint, the entity can participate at most one time Key constraints are drawn using an arrow from the entity
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 name child FatherOf
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
phone number
year
name
33
Example
name
phone number
Organization
35
Example
63
Example
Suppose that you were storing information
about books.
Should books be modeled as a weak entity
title
Borrowed
Copy condition
38
copy number
ISA Hierarchies
ISA Relationships: Define a hierarchy
below
39
Example
What are the keys of:
address
birthday Movie Person id
name
ISA
picture
Actor
Director
40
Overlap Constraints
Overlap constraints: Determine whether
41
Covering Constraints
Covering constraints: Determine whether
42
Aggregation
Aggregation: Allows us to indicate that a
Whats Wrong?
All the actors for all their participation in all the films must get an award!
Award
picture
salary
Actor Acted In
year
Film
title
type
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
Film
title
type
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 year Film title type salary Actor Acted In
46
Final Diagram
birthday name
address
id
Movie Person
phone number
name
Organization
ISA
picture salary
Actor Acted In
Director
Directed
year
References
Database Management Systems, by
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).
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