Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Database Course. 2 General Information TAs: –Gideon Rothschild, office hours: Sun 16:00- 17:00 at Ross 109 –Aron Matskin, office hours: TBA Course Homepage:

Similar presentations


Presentation on theme: "1 Database Course. 2 General Information TAs: –Gideon Rothschild, office hours: Sun 16:00- 17:00 at Ross 109 –Aron Matskin, office hours: TBA Course Homepage:"— Presentation transcript:

1 1 Database Course

2 2 General Information TAs: –Gideon Rothschild, office hours: Sun 16:00- 17:00 at Ross 109 –Aron Matskin, office hours: TBA Course Homepage: http://www.cs.huji.ac.il/~db Course Email: db@cs.huji.ac.il Moderated Newsgroup: local.course.db.ta Students Newsgroup: local.course.db.stud

3 3 TA Lectures Tue – Wed – Sun cycle Same TA during the cycle If a TA lecture falls out on a holiday, students should plan to attend another lecture during the same cycle Students are responsible for all the material for the final exam. That includes lectures, TA lectures, slides, and homework

4 4 Assignments (1) About 10-12 assignments Assignments are 25% of the final grade All assignments must be handed in! Assignments are to be done alone (not in pairs)! Must include name, login, student number. Points will be taken off if login is omitted

5 5 Assignments (2) Assignment submission: –Theoretical assignments - box in Ross -2 –Programming assignments - electronically Assignments are returned in Ross –2, grades available on the internet Make sure that you have a grade when the exercise is returned!

6 6 Appeals and Extensions Appeals are submitted to box in Ross -2 Appeal form available on the course site Appeals should be submitted no later than 1 week after assignments are returned Extensions are possible in special cases (i.e., miluim, childbirth, etc.). Ask for the extension before the due date

7 7 Course Books Database Management Systems, by Raghu Ramakrishnan Principles of Database and Knowledge-Base Systems, Volumes I and II, by Jeffery Ullman (essentially chapter 7 concerning Design Theory) Oracle 8i: The Complete Reference, by Kevin Loney and George Koch

8 8 Entity-Relationship Diagrams Database Course, Fall 2005

9 9 Scenario http://www.imdb.com wants to maintain a movie database The design approach we now consider: –Conceptual Database Design: high level description of data to be stored (ER model) –Logical Database Design: translation of ER diagrams into a relational database schema (description of tables)

10 10 Movie Database Requirements (1) For actors and directors, we want to store their name, a unique identification number, address, and birthday For actors, we also want to store a picture For movies, we want to store the title, year of production, and type We want to know who directed and who acted in each movie. Every movie has one director We store the pay of each actor for each movie

11 11 Movie Database Requirements (2) An actor can receive an award for his part in a movie. We store information about who got which award for which movie, along with the name of the award and year. We also store the name and telephone number of the organization that 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 in the same year.

12 12 Entities, Entity Sets Entity ( ישות ): An object in the world that can be distinguished from other objects Entity set ( קבוצת ישויות ): A set of similar entities  Entity sets are drawn as rectangles Compare to objects and classes in OOD Q: What are some of the entity sets in our movie database?

13 13 Attributes Attributes ( תכונות ): Used to describe entities –All entities in the set have the same attributes  Attributes are drawn using ovals –A minimal set of attributes that uniquely identify an entity is called a key  The names of the attributes which make up the key are underlined

14 14 Example Actor id name address birthday

15 15 Another Option for a Key? Actor id name address birthday

16 16 Relationships, Relationship Sets Relationship ( קשר ): Association among two or more entities –Relationships may have attributes Relationship Set ( קבוצת קשרים ): Set of similar relationships  Relationship sets are drawn using diamonds Q: Could you name some of the relationship sets in the movie database?

17 17 Example Actor id name address birthday Acted In Movie title type year Where does the salary attribute belong? salary

18 18 Recursive Relationships Employee id 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

19 19 n-ary Relationship An n-ary relationship set R involves exactly n entity sets: E 1, …, E n Each relationship in R involves exactly n entities: e 1   E 1, …, e n   E n Formally, R  E 1 x …x E n Actor id name Produced Movie title Director idname

20 20 Another Option: Remember Recursive Relationships Person id name title produce d Movie director actor

21 21 Binary vs. Ternary Relationship מרצהקורס לימד שם קורס שם מרצה מס זהות מספר קטלוגי מוסד שם מוסד מרצהקורס לימד ב שם קורס שם מרצה מס זהות מספר קטלוגי מוסד שם מוסד לימד את ניתן ב

22 22 Important Note id name Actor Acted In Movie The entities in a relationship set identify the relationship Suppose we wanted to store the role of an actor in a movie How would we store information about a person who acted in one movie in several roles? role title Role title

23 23 Important Note id name Actor Acted In Movie The entities in a relationship set identify the relationship Suppose we wanted to store the role of an actor in a movie role title

24 24 Important Note id name Actor Acted In Movie How would we store information about a person who acted in one movie in several roles? title Role title

25 25 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

26 26 Many-to-Many A movie is directed by any number of directors A director can direct any number of movies Director id name Directed Movie title DirectorDirectedMovie

27 27 One-to-Many A movie is directed by at most one director A director can direct any number of movies Director id name Directed Movie title DirectorDirectedMovie

28 28 One-to-One A movie is directed by at most one director A director can direct at most one movie Director id name Directed Movie title DirectorDirectedMovie

29 29 Another Example Person id name age FatherOf Where would you put the arrow? father child

30 30 Another Example Person id name age FatherOf father child

31 31 Key Constraints in Ternary Relationships Director id name produced Movie title Actor idname What does this mean? A movie has at most one actor and one director

32 32 Participation Constraints אילוצי השתתפות )) 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

33 33 Example (1) A movie has at least one director A director can direct any number of movies Director id name Directed Movie title DirectorDirectedMovie Do you think that there should be a participation constraint from Director to Directed?

34 34 Example (2) We can combine key and participation constraints. What does this diagram mean? Director id name Directed Movie title A movie has exactly one director. A director directs at least one movie.

35 35 Weak Entity Sets (1) Award year name organization What is the problem here?

36 36 Weak Entity Sets (2) Award Organization Gives year name phone number Does this solve the problem?

37 37 Weak Entity Sets (3) 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

38 38 Weak Entity Sets (4) 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

39 39 Weak Entity Sets (5) Award Organization Gives year name phone number

40 40 Example Book title author isbn Copy copy numbercondition Copy Of Borrowed Person id

41 41 What if We Store Information About Many Libraries? Book title author isbn Copy copy numbercondition Copy Of Borrowed Person id Owned By Library name

42 42 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

43 43 Example What are the keys of: 1.Movie Person 2.Actor 3.Director Movie Person ISA Actor id name address birthday picture Director

44 44 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

45 45 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

46 46 child Person Married nameid ParentO f parentwoman man Example Is this good? A man can be married to a man and a woman to a woman!

47 47 Example Person ISA Man Woman ParentOf Married child parent name id Man AND Woman COVER Person

48 48 Aggregation Aggregation: Allows us to indicate that a relationship set participates in a relationship set

49 49 Is this good? (1) Actor picture Movie year type title Acted In salary Award Each movie has received at least one award Each actor has received at least one award

50 50 Is this good? (2) Actor picture Movie year type title Acted In salary Award Won The same award can be granted to an actor A and to a movie F although the actor A has not acted in the movie F.

51 51 Solution: Use Aggregation Actor picture Movie year type title Acted In salary Award Won

52 52 Movie Person ISA Actor id name address birthday picture Director Movie year type title Acted InDirected salary Award Organization Gives year name phone number Won


Download ppt "1 Database Course. 2 General Information TAs: –Gideon Rothschild, office hours: Sun 16:00- 17:00 at Ross 109 –Aron Matskin, office hours: TBA Course Homepage:"

Similar presentations


Ads by Google