what is database system management

51
1 W W hat is a Database hat is a Database Management System? Management System? Lecture slides by Dr. Sara Cohen Spring 2008

description

 

Transcript of what is database system management

Page 1: what is database system management

1

WWhat is a Database hat is a Database Management System?Management System?

Lecture slides by Dr. Sara Cohen

Spring 2008

Page 2: what is database system management

2

What and WhyWhat 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

Page 3: what is database system management

3

What and WhyWhat and Why

– Protect the data from corruption or security leaks

– Allow multiple users to access the data

simultaneously

– Provide crash recovery

– And more…

Page 4: what is database system management

4

Entity-Relationship DiagramsEntity-Relationship Diagrams

Spring 2008

Page 5: what is database system management

5

ScenarioScenario

• 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

Page 6: what is database system management

6

Requirements (1)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

Page 7: what is database system management

7

Requirements (2)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.

Page 8: what is database system management

8

Movie Person

ISA

Actor

id

name

address

birthday

picture Director

Filmyear

typetitle

Acted In Directedsalary

Award

Organization

Gives

year

name

name

phonenumber

Won

In the rest of this lesson we

explain this diagram

Page 9: what is database system management

9

ER-Diagrams: General ER-Diagrams: General InformationInformation

• 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

Page 10: what is database system management

10

Entities, Entity SetsEntities, 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

Page 11: what is database system management

11

AttributesAttributes

• 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)

Page 12: what is database system management

12

Attributes (2)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

Page 13: what is database system management

13

ExampleExample

Actorid

name address

birthday

Page 14: what is database system management

14

Another Option for a Key?Another Option for a Key?

Actorid

name address

birthday

Page 15: what is database system management

15

Another Option for a Key?Another Option for a Key?

Actorid

name address

birthday

Page 16: what is database system management

16

Relationships, Relationship SetsRelationships, 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

Page 17: what is database system management

17

ExampleExample

Actorid

name

address

birthday

Acted In Film

title

type

year

salaryWhere does the salary

attribute belong?

Page 18: what is database system management

18

Recursive RelationshipsRecursive Relationships

Employeeid

name

address

phone number

Manages

• An entity set can participate more than once in a relationship

• In this case, we add a description of the role to the ER-diagram

manager

worker

Page 19: what is database system management

19

nn-ary Relationship-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

Actorid

name

Produced Film title

Directorid name

Page 20: what is database system management

20

ExampleExample

• Suppose that there are:

– Actors: Mickey Mouse, Donald Duck

– Directors: Big Bird, Kermit

– Films: Mickey’s Club

Actorid

name

Produced Film title

Directorid name

How many triplets can be in the relationship set “Produced”?How many pairs can be in the

relationship set “Produced”?

Page 21: what is database system management

21

Another Option: Another Option: Remember Recursive Remember Recursive

RelationshipsRelationships

Page 22: what is database system management

22

Important NoteImportant Note

Actorid

name

Acted In Film title

• 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?

Page 23: what is database system management

23

Key Constraints (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

Page 24: what is database system management

24

One-to-ManyOne-to-Many

A film is directed by at most one director

A director can direct any number of films

Directorid

name

Directed Film title

Director Directed Film

Page 25: what is database system management

25

Many-to-ManyMany-to-Many

A film is directed by any number of directors

A director can direct any number of films

Directorid

name

Directed Film title

Director Directed Film

Page 26: what is database system management

26

One-to-OneOne-to-One

A film is directed by at most one director

A director can direct at most one film

Directorid

name

Directed Film title

Director Directed Film

Page 27: what is database system management

27

Another ExampleAnother Example

Personid

name

age

FatherOf

Where would you put the arrow?

father

child

Page 28: what is database system management

28

Key Constraints in Key Constraints in Ternary RelationshipsTernary Relationships

Directorid

name

produced Film title

Actorid name

What does this mean?

Page 29: what is database system management

29

Participation Constraints 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

Page 30: what is database system management

30

Example (1)Example (1)

• A film has at lease one director

• A director can direct any number of films

Directorid

name

Directed Film title

Director Directed Film

Do you think that there

should be a participation constraint

from Director to Directed?

Page 31: what is database system management

31

Example (2)Example (2)

• We can combine key and participation constraints.

• What does this diagram mean?

Directorid

name

Directed Film title

Page 32: what is database system management

32

Storing Award InformationStoring Award Information

• What do you think of this?

• To model this correctly we need weak entity sets

Award

year

org_name

name

phonenumber

Won

Page 33: what is database system management

33

Weak Entity SetsWeak 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

Page 34: what is database system management

34

Weak Entity SetsWeak 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

Page 35: what is database system management

35

ExampleExample

Award

Organization

Gives

year

name

name

phonenumber

Won

What would be the meaning if this was not a

thick line?

Page 36: what is database system management

36

EExamplexample

פלוגה

שייכת ל

אות פלוגה

מחלקה

מספר מחלקה

גדוד

מספר גדודשייכת ל

How are the entity sets identified?

How are the entity sets

identified?

Page 37: what is database system management

37

ExampleExample

• 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!

Page 38: what is database system management

38

Copies of Books in Copies of Books in LibrariesLibraries

Booktitle

author

isbn

Copy

copy number condition

Copy Of

Borrowed

Person

id

Owned ByLibraryname

Page 39: what is database system management

39

ISA HierarchiesISA 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

Page 40: what is database system management

40

ExampleExample

What are the keys of:

1. Movie Person

2. Actor

3. Director

Movie Person

ISA

Actor

id

name

address

birthday

picture Director

Page 41: what is database system management

41

Overlap ConstraintsOverlap 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

Page 42: what is database system management

42

Covering ConstraintsCovering 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

Page 43: what is database system management

43

AggregationAggregation

• 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…

Page 44: what is database system management

44

What’s Wrong?What’s Wrong?

Actorpicture

Filmyear

typetitle

Acted Insalary

Award

All the actors for all their participation in all the films must get

an award!

Page 45: what is database system management

45

What’s Wrong?What’s Wrong?

Actorpicture

Filmyear

typetitle

Acted Insalary

AwardWon

An actor may get an award for a film in

which he has never acted in!

Page 46: what is database system management

46

The SolutionThe Solution

Actorpicture

Filmyear

typetitle

Acted Insalary

Award

Won

Suppose that there are:3 actors2 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

Page 47: what is database system management

47

Movie Person

ISA

Actor

id

name

address

birthday

picture Director

Filmyear

typetitle

Acted In Directedsalary

Award

Organization

Gives

year

name

name

phonenumber

Won

Final DiagramFinal Diagram

Page 48: what is database system management

48

ReferencesReferences

• “Database Management Systems”, by

Raghu Ramakrishnan & Johannes Gehrke,

third edition, McGraw-Hill, 2003.

Chapters: 2

Page 49: what is database system management

49

Assignment #2Assignment #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.

Page 50: what is database system management

50

Assignment #2Assignment #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 project’s principal investigator).

• Each project is worked on by one or more professors (known as the project’s co-investigators).

• Professors can manage and/or work on multiple projects.

• Each project is worked on by one or more graduate students (the project’s research assistants).

Page 51: what is database system management

51

Assignment #2Assignment #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.