Database Management Systems Course 236363 Faculty of Computer Science Technion – Israel Institute of Technology Lecture 2: Entity-Relationship Diagrams.

Slides:



Advertisements
Similar presentations
Relational Database. Relational database: a set of relations Relation: made up of 2 parts: − Schema : specifies the name of relations, plus name and type.
Advertisements

BUSINESS DRIVEN TECHNOLOGY Plug-In T4 Designing Database Applications.
The Entity-Relationship (ER) Model
Ch5: ER Diagrams - Part 1 Much of the material presented in these slides was developed by Dr. Ramon Lawrence at the University of Iowa.
Text-Book Chapters (7 and 8) Entity-Relationship Model
Databases Revision.
1 Translation of ER-diagram into Relational Schema Prof. Sin-Min Lee Department of Computer Science.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model.
The Entity-Relationship (ER) Model CS541 Computer Science Department Rutgers University.
The Entity-Relationship Data Model
Slides adapted from A. Silberschatz et al. Database System Concepts, 5th Ed. Entity-Relationship Model Database Management Systems I Alex Coman, Winter.
1 The Entity-Relationship Data Model Chapter 2 (Database Design)
1 Data Modelling Which data to include in the database.
Chapter 2: Entity-Relationship Model (Continued)
Michael F. Price College of Business Chapter 6: Logical database design and the relational model.
Database Systems Entity Relationship Diagrams.
The Entity-Relationship Model. 421B: Database Systems - ER Model 2 Overview of Database Design q Conceptual Design -- A first model of the real world.
Ch5: ER Diagrams - Part 2 Much of the material presented in these slides was developed by Dr. Ramon Lawrence at the University of Iowa.
1 Web-Enabled Decision Support Systems Entity-Relationship Modeling Prof. Name Position (123) University Name.
DeSiamorewww.desiamore.com/ifm1 Database Management Systems (DBMS)  B. Computer Science and BSc IT Year 1.
CSE314 Database Systems Data Modeling Using the Entity- Relationship (ER) Model Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson Ed Slide Set.
the Entity-Relationship Model
Chapter 4 The Relational Model.
Entities and Attributes
Web-Enabled Decision Support Systems
Database Systems: Design, Implementation, and Management Ninth Edition
1 ER Modeling BUAD/American University Entity Relationship (ER) Modeling.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model.
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 2/1 Copyright © 2004 Please……. No Food Or Drink in the class.
1 Translation of ER-diagram into Relational Schema Prof. Sin-Min Lee Department of Computer Science.
©Silberschatz, Korth and Sudarshan2.1Database System Concepts Chapter 2: Entity-Relationship Model Entity Sets Relationship Sets Design Issues Mapping.
1.1 CAS CS 460/660 Relational Model. 1.2 Review E/R Model: Entities, relationships, attributes Cardinalities: 1:1, 1:n, m:1, m:n Keys: superkeys, candidate.
Entity-Relationship (ER) Modelling ER modelling - Identify entities - Identify relationships - Construct ER diagram - Collect attributes for entities &
Entity-Relationship Model Using High-Level Conceptual Data Models for Database Design Entity Types, Sets, Attributes and Keys Relationship Types, Sets,
DeSiamorePowered by DeSiaMore1 Database Management Systems (DBMS)  B. Computer Science and BSc IT Year 1.
CS 405G: Introduction to Database Systems Lecture 2 : Database Design I.
Msigwaemhttp//:msigwaem.ueuo.com/1 Database Management Systems (DBMS)  B. Computer Science and BSc IT Year 1.
Database Management Systems MIT Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz.
Tallahassee, Florida, 2015 COP4710 Database Systems E-R Model Fall 2015.
© D. Wong Ch. 2 Entity-Relationship Data Model (continue)  Data models  Entity-Relationship diagrams  Design Principles  Modeling of constraints.
Entity-Relationship Model
CPSC 603 Database Systems Lecturer: Laurie Webster II, M.S.S.E., M.S.E.E., M.S.BME, Ph.D., P.E. Lecture 2 Introduction to a First Course in Database Systems.
UNIT_2 1 DATABASE MANAGEMENT SYSTEM[DBMS] [Unit: 2] Prepared By Lavlesh Pandit SPCE MCA, Visnagar.
1 Database Course. 2 General Information TAs: –Sara Cohen –Jonathan Mamou Course Moderated Newsgroup: local.course.db.ta Students.
Computing & Information Sciences Kansas State University Friday, 26 Sep 2008CIS 560: Database System Concepts Lecture 13 of 42 Friday, 26 September 2008.
Database Management Systems Course Faculty of Computer Science Technion – Israel Institute of Technology Lecture 2: Entity-Relationship Diagrams.
Exam 1 Review Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2008.
The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.
The Entity-Relationship Model CIS 4301 Lecture Notes 1/12/2006.
Exam 1 Review Dr. Bernard Chen Ph.D. University of Central Arkansas.
Data Modeling and the Entity-Relationship Model CS 475 Lecture Notes.
CSE 412/598 DATABASE MANAGEMENT COURSE NOTES 3. ENTITY-RELATIONSHIP CONCEPTUAL MODELING Department of Computer Science & Engineering Arizona State University.
LECTURE 1: Entity Relationship MODEL. Think before doing it! Like most of the software projects, you need to think before you do something. Before developing.
©Silberschatz, Korth and Sudarshan2.1Database System Concepts Chapter 2: Entity-Relationship Model Entity Sets Relationship Sets Mapping Constraints Keys.
©Silberschatz, Korth and Sudarshan7.1Database System Concepts - 6 th Edition Chapter 7: Entity-Relationship Model.
Lecture 26 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.
High-level Database Models Prof. Yin-Fu Huang CSIE, NYUST Chapter 4.
Topic 3: ER – Entity Relationship Model (ERM) 6/12/
Modeling: Entity-Relationship Diagrams
1 The Relational Data Model David J. Stucki. Relational Model Concepts 2 Fundamental concept: the relation  The Relational Model represents an entire.
Rationale Databases are an integral part of an organization. Aspiring Database Developers should be able to efficiently design and implement databases.
1 CS122A: Introduction to Data Management Lecture #4 (E-R  Relational Translation) Instructor: Chen Li.
The Entity-Relationship Diagram for Data Modeling
ER Diagrams and Relational Model CS 174a (Winter 2015)
Database Management Systems
COP Introduction to Database Structures
Entity-Relationship Model
Outline of the ER Model By S.Saha
Database Management Systems
Translation of ER-diagram into Relational Schema
Presentation transcript:

Database Management Systems Course Faculty of Computer Science Technion – Israel Institute of Technology Lecture 2: Entity-Relationship Diagrams

Introduction ER Diagrams  Entities  Relationships  Weak Entities  Type Hierarchies  Design Principles Translating ERD to Relational Schemas Outline

Modeling Data App development is often based on a formal modeling of the underlying data semantics Typically: entities of various types, connected by relationships of various types Examples: –Movies, actors, directors, roles, awards –Students, courses, lecturers, rooms –Products, users, purchases, credit companies –Dishes, ingredients, cooking actions –Divisions, battalions, soldiers, tanks, planes –Persons, statuses, friendships, messages, likes 3

The IMDb Application 4

Steps in Database Setup Requirement analysis –What information needs to be stored? How will it be used? What integrity constraints should be imposed? Conceptual database design –Define/describe/discuss the semantic modeling of data in the application (ER model via ER diagrams) Logical database design –Translate the ER diagram into a relational DB schema Physical database design –Translate the database schema into a a physical storage plan on available hardware (done by DBMS) 5

Entity-Relationship Diagram (ER Diagram / ERD) Formalism to model data in real-world scenarios What is it modeling? –Entity types –Attribute names per entity type –Relationship types –Attribute names per relationship type –Constraints on legal instantiations (sets of entities and relationships) A movie has a unique identifier and ≥1 directors; each award is associated with a unique movie, etc. No individual entities & rels.; only types! –Instantiations consist of sets of entities and sets of relationships of the corresponding types 6

7 Terminology so far... Entity Entity Type Entity Set Relationship Relationship Type Relationship Set Instances

More on ERD Presented and taught by a visual language (diagrams) rather than a textual one Have a formal and precise meaning –Need to thoroughly understand it to correctly design and interpret diagrams Middleman between logical layer and reality –Facilitates the process of defining the logical level of the data model (e.g., relational schemas) –Translates informal requirements into formal ones An opportunity to introduce elementary DB concepts Comes in many variants –Differ in visuals and semantics –We will use Garcia-Molina, Ullman & Widom 8

Introduction ER Diagrams  Entities  Relationships  Weak Entities  Type Hierarchies  Design Principles Translating ERD to Relational Schemas Outline

Graphical Components of ER Diagrams Shapes (labeled w/ text) w/ different edge types Connecting lines/arrows rectangleellipserhombus triangle 10

ERD Example name birthday photo id address Person ISA Actor Director genre year name Directs role PlaysIn Crew WorksFor Studio name Address name Owns Movie 11

Introduction ER Diagrams  Entities  Relationships  Weak Entities  Type Hierarchies  Design Principles Translating ERD to Relational Schemas Outline

Entities Entity – abstract object, entity set – collection of similar entities An entity type has a name and a set of attribute names, Denoted by a rectangle connected to ellipses (attributes) An instance has a set of actors, each having an id, a birthday, a photo, name birthdayphotoid address Actor

Attributes May Be Compound photoid address Actor daymonthyear firstmiddlelast name birthday 14 One level; no more

Key Attributes Let E be an entity type and A={a 1,...,a k } a subset of the attributes of E We say that A is a key for E if for every legal set S of E entities, no two distinct entities have the same values for A In notation: ∀ e,f ∊ S ( e[a 1 ]=f[a 1 ] ∧... ∧ e[a k ]=f[a k ] ) ⇒ e=f Hence, by specifying key attributes we specify both attributes and constraints –Constraints are on entity sets/instances 15

Keys in ERD In ERD, underline names of attributes that constitute the key (if one exists) name birthdayphoto id address Actor 16 It is conventional to specify a key for every entity type (unless we have a good reason not to); keys are sometimes “natural” (e.g., SSN) and sometimes artificial (internal identifiers)

Other Options Make Sense? name birthdayphotoid address Actor 17 name birthdayphotoid address Actor name birthdayphotoid address Actor Overly restricted Overly permissive

What is the Difference? 18 name birthdayemp#id address Actor name birthdayemp#id address Actor name birthdayemp#id address Actor Can we say that both id and emp# are keys? There is a limit to what we can express with a small set of arrows and shapes

Multi-Value Attributes name birthdayid address Actor Each actor may have multiple photos photo 19

Introduction ER Diagrams  Entities  Relationships  Weak Entities  Type Hierarchies  Design Principles Translating ERD to Relational Schemas Outline

Relationships By a relationship we mean a named association among entities –actsIn, directedBy, marriedTo, follows, messageAuthor, worksIn,... A relationship type has a name and a set of entity types that participate in relationships –And possibly attribute names As usual, a relationship constraint applies to the set of relationships of the corresponding type in an instance of the diagram 21

Relationship Examples name birthdayid Actor Actors and movies relate to each other via the binary plays-in relationship An actor can play in any number of movies (including zero) A movie can have any number of actors PlaysIn genre year name Movie 22

Relationship Attributes name birthdayid Actor Each plays-in relationship is associated with a role PlaysIn genre year name Movie role 23 Implicit constraint: No two relationships differ only in attributes (that is, the involved entities form a key for the relationship) What should we do if we want an actor to have multiple roles?

More Than Two Entity Types name birthdayid Client Purchase id vendor name Product Storeaddress manages name birthdayid Employee 24 Ternary relationship type

Multiplicity Constraints on Rel. Sets Multiplicity constraints on relationship sets over entities E 1,...,E k,F involve the following: –Maximum # F s per E 1,...,E k –Minimum # F s per E 1,...,E k Graphically, denoted by decorating the edges between entity types and relationship types 25

Many-to-Many Actor PlaysIn Movie An L can relate to any number of R s An R can relate to any number of L s 26

Many-to-One Song MadeFor Movie An L can relate to at most one R An R can relate to any number of L s 27 If we’re given LHS, then we know RHS A and B are in a many-to-one relationship if each B may have many A, but each A may have at most one B

One-to-Many Studio Owns Movie An L can relate to any number of R s An R can relate to at most one L 28 A and B are in a one-to-many relationship if each B has at most one A, but each A may have many B

One-to-One Person PresidentOf Studio An L can relate to at most one R An R can relate to at most one L 29 A and B are in a one-to-one relationship if each B has at most one A, AND each A has at most one B

Multiplicity in Multiway Relationships Role Plays Movie Actor What does it mean? For every movie and role there is a single actor (Put differently, Movie and Role determine Actor) 30

Limitation in Expressiveness Owns President What does it mean? Movie and President (combined together) determine Studio Studio and Movie (combined together) determine President MovieStudio In reality, Movie alone determines Studio; Studio alone determines President;... This is a limitation in ERD expressive power; typical in visual models, since there is only so much we can represent with arrows... “Good” modeling?? 31 The conjunction of both arrows

(Unique) Referential Integrity Studio Owns Movie An R relates to precisely one L Here, every movie is owned by at most one studio, and moreover, every movie is owned by at least one studio (But a studio may exist without owning any movie, and a studio may own multiple movies) 32

Which Graphs Match This Meaning? President Heads Studio ACDBEF 33

Degree Constraints Actor StarsIn Movie Generalize X-to-X and referential constraints using explicit constraints written in math <3 A movie cannot have more than 2 stars Actor PlaysIn Movie >1 A movie has at least two actors 34

Roles in Relationships Movie Sequel Sometimes an entity type participates more than once in a relationship (e.g., ParentOf, Follows, HasALinkTo,...) To distinguish between the different roles of the entity type, we label each edge with a role name origin follows Person Parents parent child name id Where should the arrow go? 35

Grouping a Relationship By grouping a relationship type, we can treat whole relationships as entities (that participate in other relationships) name birthdayid Actor PlaysIn genre year name Movie role Awarded Awardname 36

Introduction ER Diagrams  Entities  Relationships  Weak Entities  Type Hierarchies  Design Principles Translating ERD to Relational Schemas Outline

Identifying Keys Crew WorksFor Studio name Address name 38 Can there be two crews with the same name (e.g., Crew 1)? Makes sense within a studio; but outside?

Weak Entity Types Represent entities that are part of others –Departments of stores –Companies of battalions –Rooms of buildings We would like to say that a dept. is identified by its name (e.g., “kids”) while allowing different stores to have departments with that name –That is, we view different stores as independent for the matter of identifying departments In ERD, we distinguish the subentity-entity relationship by double-edge shapes 39

Examples of Weak Entities Company BC Battalion number name Crew WorksFor Studio name Address name 40 “Weak Entity” “Identifying Relationship” “Identifying owner”

Identifying Keys Crew WorksFor Studio name Address name 41 Can there be two crews with the same name? What info uniquely identifies a crew?

What’s the Difference? Company BC Battalion number name Company BC Battalion number name CompanyBattalion number name BC 42

Weak Entities Depending on Multiple Entity Types 43 Contract CA Actor number id name CS Studio address name birthday The existence of Contract depends on BOTH Actor and Studio date

Introduction ER Diagrams  Entities  Relationships  Weak Entities  Type Hierarchies  Design Principles Translating ERD to Relational Schemas Outline

ISA Relationships ISA is a special relationship used for representing subtypes or subclasses Examples: –Director is a Movie Person, who is a Person –Cartoon is a Movie; Action-Movie is a Movie –Engineer is a Employee Important different from OOP: an object can be of different subclasses at the same time –For instance, a cartoon action movie 45

Representing ISA name birthday photo id address Person ISA Actor Director What is the key of an Actor? A director? 46

On ISA A ISA CB Every entity of B is also of A Every entity of C is also of A There may be entities that are of both B and C types There may be entities of A that are of neither B nor C (There are ERD formalisms that allow to distinguish between these cases, see next...) 47

Specialization and Generalization A ISA B Specialization 48 A ISA B Generalization C Some As are Bs, Bs are As An A is either a B or a C

Introduction ER Diagrams  Entities  Relationships  Weak Entities  Type Hierarchies  Design Principles Translating ERD to Relational Schemas Outline

Recipe for ERD Design 1.Identify the proper entity types 2.Determine if there are hierarchies (ISA or weak relationships) among entity sets 3.Identify the proper relationship types 4.Identify the attributes and keys 5.Determine relationship constraints 50

Good Practices Faithfulness Non-Redundancy Simplicity 51

Faithfulness (1) The design should correctly model the requirements of the application Actor PlaysIn Movie salary What could be a problem? 52

Faithfulness (2) Make sure that relationship types make as accurate associations as possible – constraints used precisely when needed Which is correct? Depends on the application! Movie ActsIn Actor Rep Agency ActsIn Actor Movie Agency 53 Movie ActsIn Actor Rep Agency

Non-Redundancy Avoid representing information that can be inferred otherwise (resulting in larger and slower databases, complicates maintenance, raising the risk of inconsistency) What’s the problem? Studio Owns name studioName Movie What’s the problem? studioIDstudioAddress studioName studioManager Movie 54

Simplicity (1) Simpler is better! Avoid introducing unneeded modeling and complexity Do we need Property entity? Depends... address id Person 55 name id Person name LivesIn Property value address

Simplicity (2) Simpler is better! Avoid introducing unneeded modeling and complexity Does it help to distinguish between movie persons and non- movie persons? salary birthday id MoviePerson ISA Actor Director Person ISA 56 What about Mammals? What about Drama Actors?

Introduction ER Diagrams  Entities  Relationships  Weak Entities  Type Hierarchies  Design Principles Translating ERD to Relational Schemas Outline

The Relational Database Model A relational database is modeled via two concepts: –A relational schema Spec of structure, types, constraints –A database instance over the schema Actual tables (relations) with actual rows (tuples) and values (attribute values) corresponding to the schema 58

Relational Schema Just schema for short Consists of: –A signature Relation names and associated attributes (names/types) –Constraints on the signature Which combinations of relations are allowed in schema instances? 59

Signature Example Relation name: Movie 5 attributes: title, year, length, gender, rating Attributes have domains (sets of legal values) We often ignore the domains if they are irrelevant to the discussion –Or if they significantly complicate things Movie(title,year,length,genre,rating) integers (≥0) integers (>1800, <3000) strings (length≤1024) strings (length≤1024) {‘G’, ‘PG’, ‘PG-13’, ‘R’, ‘NC-17’} 60

Examples of Constraints: Key Constraint A set K of attributes such that no two distinct tuples can have the same values on every attribute in K Example: “no two Movie tuples can have both the same title and the same year” –Hence, {title,year} is a key for Movies –In the common case where there is a single key, we denote the key attributes using underline: Movie(title,year,length,genre,rating) 61

Examples of Constraints: Foreign Key A set F of attributes is a foreign key of a relation R if there is a relation S with a key K such that for every r in R there is s in S such that r[F]=s[K] –Note: t[X] is obtained from t by restriction to X In Role(actor,movie,role), the actor value must be the id key of a tuple in Actor(id,name,photo) –In our notation, we will use arrows (Later in the course we will get deeper into schema constraints) Role(actor,movie,role) Actor(id,name,photo) 62

ERD to Relational Schema Context: –We have an ERD for our application data –We wish to store our data in a relational DB –Need to convert: ERD  relational schema Principles: –Avoid duplicating information –Constrain as much as possible Ideally, we should be able to map legal schema instances back to the ER model without violating any ERD constraint 63

Translating an Entity Type Straightforward –entity name  relation name –attribute name  attribute name –key  key name birthdayphotoid address Actor Actor(id,name,birthday,photo,address) 64

Set Attribute name birthdayphotoid address Actor Actor(id,name,birthday,address) 65 Photos(aid,photo)

Example of Relationship Translation name birthdayid Actor PlaysIn genre year name Movie salary PlaysIn(aid,name,year,salary) Actor(id,name,birthday) Movie(name,year,genre) 66

Translating a Relationship Translation: –relationship name  relation name –entity keys + relationship attributes  relation attributes Attributes may need to be renamed for distinctness and clarity –Entity keys form the key of the new relation 67

Example in PostgreSQL PlaysIn(aid,name,year,salary) Actor(id,name,birthday) Movie(name,year,genre) CREATE TABLE Actor ( id int, name text, birthday date, PRIMARY KEY (id) ) CREATE TABLE Actor ( id int, name text, birthday date, PRIMARY KEY (id) ) CREATE TABLE Movie ( name text, year int, genre text, PRIMARY KEY (name,year) ) CREATE TABLE Movie ( name text, year int, genre text, PRIMARY KEY (name,year) ) CREATE TABLE PlaysIn ( aid int, name text, year int, salary int, PRIMARY KEY (aid,name,year), FOREIGN KEY (aid) REFERENCES Actor(id), FOREIGN KEY (name,year) REFERENCES Movie(name,year) ) CREATE TABLE PlaysIn ( aid int, name text, year int, salary int, PRIMARY KEY (aid,name,year), FOREIGN KEY (aid) REFERENCES Actor(id), FOREIGN KEY (name,year) REFERENCES Movie(name,year) ) 68

Translating a One-to-Many Relationship Studio Owns name address genre year name Movie Remove attributes from the relationship key Owns(sname,mname,year) Studio(name,address) Movie(name,year,genre) 69

Translating Unique Reference Studio Owns name address genre year name Movie Add a foreign key Studio(name,address) Movie(name,year,genre,sname) 70

Translating a One-to-Many Relationship Studio Owns name address genre year name Movie Remove attributes from the relationship key Owns(sname,mname,year) Studio(name,address) Movie(name,year,genre) 71 Could we do it with Owns?

Translating a One-to-Many Relationship Studio Owns name address genre year name Movie Remove attributes from the relationship key Owns(sname,mname,year) Studio(name,address) Movie(name,year,genre) 72 Could we do it with Owns?

Translating Weak Entities Recall: a weak entity has an identifying relationship to an identifying entity Typical translation: –No specific relationship for the identifying relationship –Weak entity references its identifying entity –Key of weak entity includes the key of its identifying entity 73

Example Crew WorksFor Studio name address name Studio(name,address) Crew(name,sname, room) room 74

Translating ISA Similar to weak entities: subclass references superclass name birthday photo id Person ISA Actor Director Person(id,name,birthday) Actor(id,photo)Director(id) 75

Question An employee belongs to a single project For project work, employees use tools An employee belongs to a single project An employee may use a tool for just the project to which the employee belongs An employee belongs to a single project An employee may use a tool for just one project ETP E T P EP ETP E T P EP ?

Solution: Grouping (Aggregation) 77 Translation: –E –P –EP –ETP (a key for EP, a key for T) –T EP ETP T E P A higher level entity type