Database Course 1 General Information TAs Gideon Rothschild
Database Course 1
General Information • TAs: – Gideon Rothschild, office hours: Sun 16: 0017: 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 2
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 3
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 4
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! 5
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 6
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 8 i: The Complete Reference, by Kevin Loney and George Koch 7
Entity-Relationship Diagrams Database Course, Fall 2005 8
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) 9
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 10
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. 11
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? 12
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 13
Example birthday id Actor name address 14
Another Option for a Key? birthday id Actor name address 15
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? 16
Example title birthday id Actor Movie Acted In year name salary address type Where does the salary attribute belong? 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 Manages name address 18
n-ary Relationship • An n-ary relationship set R involves exactly n entity sets: E 1, …, En • Each relationship in R involves exactly n entities: e 1Î E 1, …, en Î En • Formally, R E 1 x …x En id Director name id Actor Produced Movie title name 19
Another Option: Remember Recursive Relationships id director Person actor produce d Movie title name 20
Important Note • 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? title Role role id Actor name Acted In Movie title 22
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 25
Many-to-Many ü A movie is directed by any number of directors ü A director can direct any number of movies id Director Directed Movie title name Director Directed Movie 26
One-to-Many ü A movie is directed by at most one director ü A director can direct any number of movies id Director Directed Movie title name Director Directed Movie 27
One-to-One ü A movie is directed by at most one director ü A director can direct at most one movie id Director Directed Movie title name Director Directed Movie 28
Another Example Where would you put the arrow? age father id Person child Father. Of name 29
Another Example age father id Person child Father. Of name 30
Key Constraints in Ternary Relationships id Actor name id Director produced Movie title name What does this mean? A movie has at most one actor and one director 31
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 32
Example (1) • A movie has at least one director • A director can direct any number of movies id Director Directed Movie title name Do you think that there should be a participation constraint from Director to Directed? Director Directed Movie 33
Example (2) • We can combine key and participation constraints. • What does this diagram mean? id Director Directed Movie title name A movie has exactly one director. A director directs at least one movie. 34
Weak Entity Sets (1) organization Award year name What is the problem here? 35
Weak Entity Sets (2) phone number name Organization Gives Award year name Does this solve the problem? 36
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 37
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 38
Weak Entity Sets (5) phone number name Organization Gives Award year name 39
Example author id title Book isbn Person Copy Of Borrowed copy number Copy condition 40
What if We Store Information About Many Libraries? name Library Owned By author title id Book isbn Person Copy Of Borrowed copy number Copy condition 41
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 42
Example What are the keys of: address id birthday 1. Movie Person 2. Actor Movie Person name 3. Director ISA picture Actor Director 43
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 44
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 45
Example parent Parent. O f child name woman Person man Married id Is this good? A man can be married to a man and a woman to a woman! 46
Example parent Parent. Of child name Person id Man AND Woman COVER Person ISA Man Married Woman 47
Aggregation • Aggregation: Allows us to indicate that a relationship set participates in a relationship set 48
Is this good? (1) picture Actor salary Acted In year Award Movie title type • Each movie has received at least one award • Each actor has received at least one award 49
Is this good? (2) picture Actor salary Acted In year Won Award Movie title type 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. 50
Solution: Use Aggregation picture Won Actor salary Acted In Award year Movie title type 51
address id birthday Movie Person phone number name Organization ISA Gives picture Won Actor salary Acted In Award year name year Director Directed Movie title type 52
- Slides: 50