1 Database Design I: The Entity- Relationship Model Chapter 5.

Slides:



Advertisements
Similar presentations
Chapter 2: Entity-Relationship Model
Advertisements

ER to Relational Mapping. Logical DB Design: ER to Relational Entity sets to tables. CREATE TABLE Employees (ssn CHAR (11), name CHAR (20), lot INTEGER,
Convert ER to Relational Database Entity relation Entity relation Attributes attributes Attributes attributes Primary key primary key Primary key primary.
Logical DB Design: ER to Relational Entity sets to tables. Employees ssn name lot CREATE TABLE Employees (ssn CHAR (11), name CHAR (20), lot INTEGER, PRIMARY.
CSCI 4333 Database Design and Implementation Review for Midterm Exam I
IS698: Database Management Min Song IS NJIT. The Relational Data Model.
Relational Database. Relational database: a set of relations Relation: made up of 2 parts: − Schema : specifies the name of relations, plus name and type.
Database Management Systems, R. Ramakrishnan and J. Gehrke1 The Entity-Relationship Model Chapter 2.
1 Chapter 4 Database Design I: The Entity-Relationship Model.
The Entity-Relationship Model
Database Management Systems, R. Ramakrishnan and J. Gehrke1 The Entity-Relationship Model Chapter 2.
Book Chapter 3 (part 2 ) From ER to Relational Model.
1 541: Database Systems S. Muthu Muthukrishnan. 2 Overview of Database Design  Conceptual design: (ER Model is used at this stage.)  What are the entities.
The Entity-Relationship (ER) Model
The Entity-Relationship Model
SQL Lecture 10 Inst: Haya Sammaneh. Example Instance of Students Relation  Cardinality = 3, degree = 5, all rows distinct.
The Entity-Relationship Model Jianlin Feng School of Software SUN YAT-SEN UNIVERSITY courtesy of Joe Hellerstein for some slides.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 The Entity-Relationship Model Chapter 2.
1 The Entity-Relationship Model Chapter 2. 2 Overview of Database Design  Conceptual design: (ER Model is used at this stage.) –What are the entities.
1 Translation of ER-diagram into Relational Schema Prof. Sin-Min Lee Department of Computer Science.
SPRING 2004CENG 3521 The Relational Model Chapter 3.
Modeling Your Data Chapter 2. Overview of Database Design Conceptual design: –What are the entities and relationships in the enterprise? – What information.
Conceptual Design Using the Entity-Relationship (ER) Model
The Entity-Relationship (ER) Model CS541 Computer Science Department Rutgers University.
Levels of Abstraction in DBMS data * Schemas are defined using DDL; data is modified/queried using DML. – Views describe how users see data (possibly.
1 Data Modeling Yanlei Diao UMass Amherst Feb 1, 2007 Slides Courtesy of R. Ramakrishnan and J. Gehrke.
1 Database Design I: The Entity-Relationship Model Chapter 5.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 The Entity-Relationship Model Chapter 2.
ER continued, and ER to Relational Mappings R&G Chapters 2, 3 Lecture 22.
1 Data Modelling Which data to include in the database.
1 Chapter 4 Database Design I: The Entity-Relationship Model.
The Entity-Relationship Model. 421B: Database Systems - ER Model 2 Overview of Database Design q Conceptual Design -- A first model of the real world.
Lecture 2: Entity-Relationship Modeling
1 The Entity-Relationship Model Chapter 2. 2 Overview of Database Design  Conceptual design : (ER Model is used at this stage.)  What are the entities.
ER to Relational Mapping. Logical DB Design: ER to Relational Entity sets to tables. CREATE TABLE Employees (ssn CHAR (11), name CHAR (20), lot INTEGER,
Chapter 2.  Conceptual design: (ER Model is used at this stage.) ◦ What are the entities and relationships in the enterprise? ◦ What information about.
1 Chapter 4 Database Design I: The Entity-Relationship Model.
1 CSE 480: Database Systems Lecture 5: Relational Data Model.
Christoph F. Eick: Designing E/R Diagrams 1 The Entity-Relationship Model Chapter 3+4.
The Relational Model1 ER-to-Relational Mapping and Views.
Data modeling using the entity-relationship model Chapter 3 Objectives How entities, tuples, attributes and relationships among entities are represented.
Database Management Systems MIT Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz.
1 Conceptual Design using the Entity- Relationship Model.
CMPT 258 Database Systems The Relationship Model PartII (Chapter 3)
Keys for Relationship Sets The combination of primary keys of the participating entity sets forms a super key of a relationship set. – (customer-id, account-number)
Lecture 3 Book Chapter 3 (part 2 ) From ER to Relational.
The Entity-Relationship (ER) Model. Overview of db design Requirement analysis – Data to be stored – Applications to be built – Operations (most frequent)
Chapter 3: Modeling Data in the Organization. Business Rules Statements that define or constrain some aspect of the business Assert business structure.
ER & Relational: Digging Deeper R &G - Chapters 2 & 3.
Mapping E/R to RM, R. Ramakrishnan and J. Gehrke with Dr. Eick’s additions 1 Mapping E/R Diagrams to Relational Database Schemas Second Half of Chapter.
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.
Topic 3: ER – Entity Relationship Model (ERM) 6/12/
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 The Entity-Relationship Model Chapter 2.
IT 5433 LM2 ER & EER Model. Learning Objectives: Explain importance of data modeling Define and use the entity-relationship model Define E/R terms Describe.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 The Relational Model Chapter 3.
1 CS122A: Introduction to Data Management Lecture #5 (E-R  Relational, Cont.) Instructor: Chen Li.
Lecture # 14 Chapter # 5 The Relational Data Model and Relational Database Constraints Database Systems.
IT 5433 LM3 Relational Data Model. Learning Objectives: List the 5 properties of relations List the properties of a candidate key, primary key and foreign.
Database Management Systems, R. Ramakrishnan and J. Gehrke1 The Entity-Relationship Model Chapter 2.
ER Diagrams and Relational Model CS 174a (Winter 2015)
Chapter 2: Entity-Relationship Model
COP Introduction to Database Structures
Databases (CS507) CHAPTER 7.
Database Design Goal: specification of database schema Methodology:
Entity-Relationship Model
Chapter 7 Entity-Relationship Model
Entity-Relationship Model
Translation of ER-diagram into Relational Schema
From ER to Relational Model
The Entity-Relationship Model
Presentation transcript:

1 Database Design I: The Entity- Relationship Model Chapter 5

2 Database Design Goal: specification of database schema Methodology: –Use E-R model to get a high-level graphical view of essential components of enterprise and how they are related –Convert E-R diagram to DDL E-R Model: enterprise viewed as set of –Entities –Relationships among entities

3 Entities Entity: an object that is involved in the enterprise –Ex: John, CSE305 Entity Type: set of similar objects –Ex: students, courses Attribute: describes one aspect of an entity type –Ex: name, maximum enrollment

4 Entity Type Entity type described by set of attributes –Student: Id, Name, Address, Hobbies Domain: possible values of an attribute –Value can be a set (in contrast to relational model) (111111, John, 123 Main St, (stamps, coins)) Key: minimum set of attributes that uniquely identifies an entity (candidate key) Entity Schema: entity type name, attributes (and associated domain), key constraints

5 Representation in Relational Model Entity type corresponds to a relation Relation’s attributes = entity type’s attributes –Problem: entity type can have set valued attributes. –Solution: Use several rows to represent a single entity (111111, John, 123 Main St, stamps) (111111, John, 123 Main St, coins) –Problems with solution: Redundancy Key of entity type not key of relation => resulting relation must be further transformed

6 Entity Type (con’t) Graphical Representation in E-R diagram: Person Name AddressSSN Hobbies

7 Relationship Relationship: relates two or more entities –John majors in Computer Science Relationship Type: set of similar relationships –Student (entity type) related to Department (entity type) by MajorsIn (relationship type). Distinction - –relation (relational model) - set of tuples –relationship (E-R Model) – describes relationship between entities of an enterprise –Both entity types and relationship types (E-R model) are mapped to relations (relational model)

8 Attributes and Roles Attribute of a relationship type describes the relationship –e.g., John majors in CS since 2000 John and CS are related 2000 describes relationship - value of SINCE attribute of MajorsIn relationship type Role of a relationship type names one of the related entities –e.g., John is value of Student role, CS value of Department role of MajorsIn relationship type –(John, CS, 2000) describes a relationship

9 Relationship Type Described by set of attributes and roles –e.g., MajorsIn: Student, Department, Since –Here we have used as the role name (Student) the name of the entity type (Student) of the participant in the relationship, but...

10 Roles Problem: relationship can relate elements of same entity type –e.g., ReportsTo relationship type relates two elements of Employee entity type: Bob reports to Mary since 2000 –We do not have distinct names for the roles –It is not clear who reports to whom

11 Roles (con’t) Solution: role name of relationship type need not be same as name of entity type from which participants are drawn – ReportsTo has roles Subordinate and Supervisor and attribute Since –Values of Subordinate and Supervisor both drawn from entity type Employee

12 Schema of a Relationship Type Role names, R i, and their corresponding entity sets. Roles must be single valued (number of roles = degree) Attribute names, A j, and their corresponding domains. Attributes may be set valued Key: Minimum set of roles and attributes that uniquely identify a relationship Relationship: –e i is an entity, a value from R i ’s entity set –a j is a set of attribute values with elements from domain of A j

13 Graphical Representation Roles are edges labeled with role names (omitted if role name = name of entity set). Most attributes have been omitted.

14 Representation of Relationship Type in Relational Model Attributes of corresponding relation are –Attributes of relationship type –For each role, the primary key of the entity type associated with that role Ex.: – S2000Courses (CrsCode, SectNo, Enroll) – Professor (Id, DeptId, Name) – Teaching (CrsCode, SecNo, Id, RoomNo) Teaching S2000CoursesProfessor DeptIdNameRoomNo CrsCodeEnroll SectNo Id

15 Representation in Relational Model Candidate key of corresponding table = candidate key of relation –Except when there are set valued attributes –Example: Teaching (CrsCode, SectNo, Id, RoomNo, TA) Key of relationship type = (CrsCode, SectNo) Key of relation = (CrsCode, SectNo, TA) CrsCode SectNo Id RoomNo TA CSE Hum 22 Joe CSE Hum 22 Mary

16 Representation in SQL Each role of relationship type produces a foreign key in corresponding relation –Foreign key references table corresponding to entity type from which role values are drawn

17 Example 1 WorksIn ProfessorDepartment SinceStatus CREATE TABLE WorksIn ( Since DATE, -- attribute Status CHAR (10), -- attribute ProfId INTEGER, -- role (key of Professor) DeptId CHAR (4), -- role (key of Department) PRIMARY KEY (ProfId), -- since a professor works in at most one department FOREIGN KEY (ProfId) REFERENCES Professor (Id), FOREIGN KEY (DeptId) REFERENCES Department )

18 Example 2 Sold ProjectPart DatePrice CREATE TABLE Sold ( Price INTEGER, -- attribute Date DATE, -- attribute ProjId INTEGER, -- role SupplierId INTEGER, -- role PartNumber INTEGER, -- role PRIMARY KEY (ProjId, SupplierId, PartNumber, Date), FOREIGN KEY (ProjId) REFERENCES Project, FOREIGN KEY (SupplierId) REFERENCES Supplier (Id), FOREIGN KEY (PartNumber) REFERENCES Part (Number) ) Supplier

19 Key Constraint (special case) If, for a particular participant entity type, each entity participates in at most one relationship, corresponding role is a key of relationship type –E.g., Professor role is unique in WorksIn Representation in E-R diagram: arrow WorksInProfessorDepartment

20 Key Constraint (special case) Relational model representation: key of relation corresponding to entity type is key of relation corresponding to relationship type –Id is primary key of Professor; ProfId is key of WorksIn. Professor 4100 does not participate. –Cannot use foreign key in Professor since some professors do not participate CSE 3216 AMS Professor WorksIn Id ProfId

21 Entity Type Hierarchies One entity type might be subtype of another –Freshman is a subtype of Student A relationship exists between a Freshman entity and the corresponding Student entity –e.g., Freshman John is related to Student John This relationship is called IsA –Freshman IsA Student –The two entities related by IsA are always descriptions of the same real-world object

22 IsA FreshmanSophmoreJuniorSenior Student IsA Represents four relationship types

23 Properties of IsA Inheritance - Attributes of supertype apply to subtype. –E.g., GPA attribute of Student applies to Freshman –Subtype inherits all attributes of supertype. –Key of supertype is key of subtype Transitivity - Hierarchy of IsA –Student is subtype of Person, Freshman is subtype of Student

24 IsA Advantage: Used to create a more concise and readable E-R diagram –Attributes common to different entity sets need not be repeated –They can be grouped in one place as attributes of supertype –Attributes of (sibling) subtypes can be different

25 IsA Hierarchy - Example

26 Type Hierarchy Might have associated constraints: –Covering constraint: Union of subtype entities is equal to set of supertype entities Employee is either a secretary or a technician (or both) –Disjointness constraint: Sets of subtype entities are disjoint from one another Freshman, Sophomore, Junior, Senior are disjoint sets Might be associated with fragmentation of data

27 Type Hierarchies and Relational Model Supertypes and subtypes can be realized as separate relations –Need a way of identifying subtype entity with its (unique) related supertype entity Choose a candidate key and make it an attribute of all entity types in hierarchy

28 Type Hierarchies and Relational Model Id attrib1 Id attrib2 Id attrib3 Id attrib4 Id attrib0 Student Freshman Sophmore Junior Senior

29 Type Hierarchies and Relational Model Redundancy eliminated if IsA is not disjoint –For individuals who are both employees and students, Name and DOB are stored once SSN Name DOB SSN Department Salary SSN GPA StartDate 1234 Mary Accounting PersonEmployee Student

30 Participation Constraint If every entity participates in at least one relationship, a participation constraint holds: –A participation constraint of entity type E having role  in relationship type R states that for e in E there is an r in R such that  (r) = e. –e.g., every professor works in at least one department Representation in E - R diagram: WorksIn ProfessorDepartment

31 Representing Participation Constraints Inclusion dependency: Every professor works in at least one dep’t. –in relational model: (easy) Professor (Id) references WorksIn (ProfId) –in SQL: Special case: Every professor works in exactly one dep’t. (easy) –FOREIGN KEY Id REFERENCES WorksIn (ProfId) General case (not so easy) CREATE ASSERTION ProfsInDepts CHECK ( NOT EXISTS ( SELECT * FROM Professor P WHERE NOT EXISTS ( SELECT * FROM WorksIn W WHERE P.Id = W.ProfId ) ) )

32 Participation Constraint in Relational Model Example (can’t use foreign key in Professor) CSE 1123 AMS 4100 ECO 3216 AMS Professor WorksIn Id ProfId ProfId not a candidate key

33 Participation and Key Constraint If every entity participates in exactly one relationship, both a participation and a key constraint hold: –e.g., every professor works in exactly one department Representation in E-R diagram: WorksIn ProfessorDepartment

34 Participation and Key Constraint in SQL If both participation and key constraints apply, use foreign key constraint in entity table (but beware: if candidate key in entity table is not primary, presence of nulls violates participation constraint). CREATE TABLE Professor ( Id INTEGER, …… PRIMARY KEY (Id), -- Id can’t be null FOREIGN KEY (Id) REFERENCES WorksIn (ProfId) --all professors participate ) ProfessorWorksIn Department

35 Participation and Key Constraint in Relational Model Example: xxxxxx 1123 yyyyyy 4100 zzzzzzz CSE 4100 ECO 3216 AMS Professor Id ProfId WorksIn

36 Participation and Key Constraint in Relational Model (again) Alternate solution if both key and participation constraints apply: merge the tables representing the entity and relationship sets –Since there is a 1-1 and onto relationship between the rows of the entity set and the relationship sets, might as well put all the attributes in one table

37 Participation and Key Constraint in Relational Model Example xxxxxxx 1123 CSE yyyyyyy 4100 ECO zzzzzzzz 3216 AMS Prof_WorksIn

38 Entity or Attribute? Sometimes information can be represented as either an entity or an attribute. StudentSemester Course Student Course Transcript Grade Semester Appropriate if Semester has attributes

39 Entity or Relationship?

40 (Non-) Equivalence of Diagrams Transformations between binary and ternary relationships.