What Is A Database Management System?: Spring 2008

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 51

What is a Database Management System?

Spring 2008

Lecture slides by Dr. Sara Cohen


1

What and Why


A database management system is a program used to:
Store large amounts of data Allow easy access to the data (using a query language) Separate the physical schema from the logical schema

What and Why


Protect the data from corruption or security leaks Allow multiple users to access the data simultaneously Provide crash recovery

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

address birthday Movie Person name

id

phone number

name

Organization

Gives Won Award year name

In the rest of this lesson we explain this diagram picture Actor


salary

ISA

Director

Acted In

Directed

year

Film title type


8

ER-Diagrams: General Information


ER-diagrams are a formalism to model real-world scenarios There are many versions of ER-diagrams that differ both in their appearance and in their meaning We will use the version appearing in the course book (Database Management Systems by Ramakrishnan) ER-diagrams have a formal semantics (meaning) that must be thoroughly understood, in order to create correct diagrams

Entities, Entity Sets


Entity ( :)An object in the world that can be distinguished from other objects
Examples of entities: Examples of things that are not entities:

Entity set ( :) A set of similar entities


Examples of entity sets: Entity sets are drawn as rectangles
10

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

information (and not a list of data)

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

Another Option for a Key?

id

birthday

Actor
name

address

14

Another Option for a Key?

id

birthday

Actor
name

address

15

Relationships, Relationship Sets


Relationship ( :)Association among two or more entities
Relationships may have attributes Examples of Relationships:

Relationship Set ( :) Set of similar relationships


Examples of Relationship sets:
Relationship sets are drawn using diamonds

16

Example
title
birthday

id Actor name address type Acted In Film year

Where does the salary attribute belong?

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

id Employee worker name address


18

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

Films: Mickeys Club


How many pairs can be in the relationship set Produced?
id

How many triplets can be in the relationship set Produced?

Director

name

id
Actor name
20

Produced

Film

title

Another Option: Remember Recursive Relationships

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

set to the 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 name child FatherOf

27

Key Constraints in Ternary Relationships

id

Actor

name

id
Director name produced Film title

What does this mean?


28

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.

What does this diagram mean?


id
Director name Directed Film title

31

Storing Award Information


What do you think of this?

org_ name Award

Won

phone number

year

name

To model this correctly we need weak entity sets


32

Weak Entity Sets


Weak entity sets are entity sets that are not uniquely identified by their attributes A weak entity set has an "identifying relationship" with an entity set that is the

"identifying owner" of the weak entity set

33

Weak Entity Sets


A weak entity set must:
participate fully in the identifying relationship ( a thick line) participate in a one to many relationship with the identifying owner ( an arrow) Weak entity sets have a thick rectangle, their keys are underlined with a broken line, and the identifying relationship has a thick diamond
34

Example
name

phone number

Organization

What would be the meaning if this was not a thick line?


year

Gives Won Award name

35

Example

How are the entity sets ?identified


63

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 are interested in storing!
37

Copies of Books in Libraries


name Library Owned By author id Person

title

Book isbn Copy Of

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 the word ISA inside it. The "super entity-set" is above the triangle and the "sub entity-sets" are

below

39

Example
What are the keys of:
address
birthday Movie Person id

1. Movie Person 2. Actor 3. Director

name

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? Write "Actor OVERLAPS Director". If not written, assume no overlap

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 see why aggregation is needed for this
43

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

Gives Won Award year name

picture salary

Actor Acted In

Director

Directed

year

Film title type


47

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

You might also like