The Entity-Relationship Model

Slides:



Advertisements
Similar presentations
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,
Advertisements

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.
Database Design The process of finding user requirement
The Entity-Relationship Model
Conceptual Design using the Entity-Relationship Model
Database Management Systems, R. Ramakrishnan and J. Gehrke1 The Entity-Relationship Model Chapter 2.
The Entity-Relationship Model
Database Management Systems, R. Ramakrishnan and J. Gehrke1 The Entity-Relationship Model Chapter 2.
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
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 The Entity-Relationship Model Chapter 2.
The Entity-Relationship Model
Comp3300/fall021 The Entity-Relationship Model Chapter 2 What are the steps in designing a database ? Why is the ER model used to create an initial design?
The Entity-Relationship Model
The Entity-Relationship Model Jianlin Feng School of Software SUN YAT-SEN UNIVERSITY courtesy of Joe Hellerstein for some slides.
Conceptual Design and The Entity-Relationship Model
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 The Entity-Relationship Model Chapter 2.
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.
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 Model CS 186 Fall 2002: Lecture 2 R &G - Chapter 2 A relationship, I think, is like a shark, you know? It has to constantly move.
The Entity-Relationship (ER) Model CS541 Computer Science Department Rutgers University.
1 Data Modeling Yanlei Diao UMass Amherst Feb 1, 2007 Slides Courtesy of R. Ramakrishnan and J. Gehrke.
The Entity- Relationship Model R &G - Chapter 2 A relationship, I think, is like a shark, you know? It has to constantly move forward or it dies. And I.
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.
Modeling Your Data Chapter 2. Part II Discussion of the Model: Good Design/ Bad Design?
1 The Entity-Relationship Model Chapter 2. 2 Database Design Process  Requirement collection and analysis  DB requirements and functional requirements.
ISOM MIS710 Module 1a Data and Process Modeling Arijit Sengupta.
The Entity-Relationship Model. 421B: Database Systems - ER Model 2 Overview of Database Design q Conceptual Design -- A first model of the real world.
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,
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 The Entity-Relationship Model Chapter 2.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 The Entity-Relationship Model Chapter 2.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 The Entity-Relationship Model Chapter 2.
Chapter 2.  Conceptual design: (ER Model is used at this stage.) ◦ What are the entities and relationships in the enterprise? ◦ What information about.
CMPT 258 Database Systems The Entity-Relationship Model Part II (Chapter 2)
ICS 321 Spring 2011 High Level Database Models Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa 2/7/20111Lipyeow.
Christoph F. Eick: Designing E/R Diagrams 1 The Entity-Relationship Model Chapter 3+4.
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.
 Entity-relationship models (ERM) Entity-relationship models (ERM)  Simple E-R Diagram Simple E-R Diagram  Weak Entity Weak Entity  Strong Entity.
09/03/2009Lipyeow Lim -- University of Hawaii at Manoa 1 ICS 321 Fall 2009 Introduction to Database Design Asst. Prof. Lipyeow Lim Information & Computer.
1 Conceptual Design using the Entity- Relationship Model.
The Entity-Relationship (ER) Model. Overview of db design Requirement analysis – Data to be stored – Applications to be built – Operations (most frequent)
CSC 411/511: DBMS Design 1 1 Dr. Nan WangCSC411_L2_ER Model 1 The Entity-Relationship Model (Chapter 2)
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.
©Silberschatz, Korth and Sudarshan2.1Database System Concepts Chapter 2: Entity-Relationship Model Entity Sets Relationship Sets Mapping Constraints Keys.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 The Entity-Relationship Model Chapter 2.
1 Introduction to Data Management Lecture #3 (Conceptual DB Design) Instructor: Chen Li.
Database Management Systems, R. Ramakrishnan and J. Gehrke1 The Entity-Relationship Model Chapter 2.
COP Introduction to Database Structures
MODELS OF DATABASE AND DATABASE DESIGN
The Entity-Relationship Model
Instructor: Elke Rundensteiner
DATABASE MANAGEMENT SYSTEMS
The Entity-Relationship (ER) Model
The Entity-Relationship Model
The Entity-Relationship Model
The Entity-Relationship Model
The Entity-Relationship Model
The Entity-Relationship Model
The Entity-Relationship Model
The Entity-Relationship Model
The Entity-Relationship Model
The Entity-Relationship Model
The Entity-Relationship (ER) Model
Presentation transcript:

The Entity-Relationship Model Chapter 2 1

Overview of Database Design Miniworld Requirements Collection and Analysis Functional requirements Database requirements Conceptual Design Functional Analysis Conceptual Schema (in a high-level data model : ER diagram) Transaction specification Logical Design Conceptual (Logical) Schema (in DMBS specific model) Application Program Design Physical Design Application program Physical Schema 2

Overview of Database Design Conceptual design: (ER Model is used at this stage.) What are the entities and relationships in the enterprise? What information about these entities and relationships should we store in the database? What are the integrity constraints or business rules that hold? A database `schema’ in the ER Model can be represented pictorially (ER diagrams). Can map an ER diagram into a relational schema. 2

ER Model Basics (Entity) Employees ssn name lot ER Model Basics (Entity) Entity: Real-world object distinguishable from other objects. An entity is described (in DB) using a set of attributes. Entity Set: A collection of similar entities. E.g., all employees. All entities in an entity set have the same set of attributes. Each entity set has a entity identifier (key). Each attribute has a domain. 3

ER Model Basics (Entity Cont’d) st. no. city zip Age DOB ssn address Employees Attribute: Property of an entity. Type: Atomic vs Composite Single-valued vs Multi-valued Stored vs Derived Relational model allows only atomic and single-valued. 3

ER Model Basics (Relationship) name ER Model Basics (Relationship) ssn lot Employees since name dname super-visor supervisee ssn lot did budget supervise Employees Works_In Departments Relationship: Association among two or more entities. E.g., Tom works in Pharmacy department. Relationship Set: Collection of similar relationships. An n-ary relationship set R relates n entity sets E1 ... En; Same entity set could participate in different relationship sets, or in different “roles” in same set. 4

Mapping Constraints (Cardinality Ratio) name address A# balance customer CA account 1-to-1 1-to Many Many-to-1 Many-to-Many 6

Mapping Constraints (Cardinality Ratio, 1-1) chris, 111 wert 100, $10,000 lisa, 222 pine 200, $500 tom, 333 bell 300, $2,000 customer CA account name address chris 111 wert lisa 222 pine tom 333 bell name A# chris 100 lisa 200 tom 300 A# balance 100 $10,000 200 $500 300 $2,000 Relationship ID : name or A# 6

Mapping Constraints (Cardinality Ratio, 1-N) chris, 111 wert 100, $10,000 200, $500 tom, 333 bell 300, $2,000 customer CA account name address chris 111 wert tom 333 bell name A# chris 100 chris 200 tom 300 A# balance 100 $10,000 200 $500 300 $2,000 Relationship ID : A# 6

Mapping Constraints (Cardinality Ratio, N-M) chris, 111 wert 100, $10,000 lisa, 222 pine 200, $500 tom, 333 bell 300, $2,000 customer CA account name address chris 111 wert lisa 222 pine tom 333 bell name A# chris 100 chris 200 lisa 300 tom 300 A# balance 100 $10,000 200 $500 300 $2,000 Relationship ID : (name, A#) 6

Participation Constraints Does every department have a manager? If so, this is a participation constraint: the participation of Departments in Manages is said to be total (vs. partial). Total participation is represented in thick (double) line. Every did value in Departments table must appear in a row of the Manages table (with a non-null ssn value!) since since name name dname dname ssn lot did did budget budget Employees Manages Departments Works_In 8

Exercise of Mapping Constraints and Participation Constraints lot name dname budget did Manages Departments Employees ssn 1 N An employee can be the manager of multiple departments while some employees are not manager. Each department must have exactly one manager. 8

Exercise of Mapping Constraints and Participation Constraints (Cont’d) lot name dname budget did Manages Departments Employees ssn 1 Every employee must manage exactly one department, while each department must also have exactly one manager. 8

Exercise of Mapping Constraints and Participation Constraints (Cont’d) lot name dname budget did works_in Departments Employees ssn M N Every employee must work in at least one or more than one departments. Each department may have multiple employees while there may be some department which do not have any employee to work in. 8

Weak Entities A weak entity can be identified uniquely only by considering the primary key of another (owner) entity. Key of weak entity : key of owner entity + partial key Owner entity set and weak entity set must participate in a one-to-many relationship set (one owner, many weak entities). Weak entity set must have total participation in this identifying relationship set. Removing owner entity results in removing its all weak entities : existence dependency. name cost ssn pname lot age 1 N Employees Policy Dependents 10

Ternary Relationships c# c_name course p# p_name s# s_name professor student offers An example of n-ary relationship 7

ISA (`is a’) Hierarchies name ISA (`is a’) Hierarchies ssn lot Employees As in C++, or other PLs, attributes are inherited. If we declare A ISA B, every A entity is also considered to be a B entity hourly_wages hours_worked ISA contractid Hourly_Emps Contract_Emps A is a subclass of B. B is a superclass of A. Also called generalization/specialization hierarchy Generalization: bottom up Specialization: top-down Reasons for using ISA: To add descriptive attributes specific to a subclass. To identify entities that participate in a relationship. 12

ISA (`is a’) Hierarchies (Cont’d) name ISA (`is a’) Hierarchies (Cont’d) ssn lot Employees hourly_wages hours_worked ISA contractid Hourly_Emps Contract_Emps Overlap constraints: Can Joe be an Hourly_Emps as well as a Contract_Emps entity? (Allowed/disallowed) Covering constraints: Does every Employees entity also have to be an Hourly_Emps or a Contract_Emps entity? (Yes/no) 12

ISA (`is a’) Hierarchies (Cont’d) name ISA (`is a’) Hierarchies (Cont’d) ssn lot Employees hourly_wages hours_worked d contractid Hourly_Emps Contract_Emps Overlap constraints: Can Joe be an Hourly_Emps as well as a Contract_Emps entity? (Allowed/disallowed) If allowed, then overlap, circled o. If disalloed, then disjoint, circled d. 12

ISA (`is a’) Hierarchies (Cont’d) name ISA (`is a’) Hierarchies (Cont’d) ssn lot Employees hourly_wages hours_worked contractid Hourly_Emps Contract_Emps Covering constraints: Does every Employees entity also have to be an Hourly_Emps or a Contract_Emps entity? (Yes/no) If yes, then thick (or double) line. If no, then think (or single) line. 12

name Aggregation ssn lot Employees Used when we have to model a relationship involving (entitity sets and) a relationship set. Aggregation allows us to treat a relationship set as an entity set for purposes of participation in (other) relationships. Monitors until started_on since dname pid pbudget did budget Projects Sponsors Departments 2

Conceptual Design Using the ER Model Design choices: Should a concept be modeled as an entity or an attribute? Should a concept be modeled as an entity or a relationship? Identifying relationships: Binary or ternary? Constraints in the ER Model: A lot of data semantics can (and should) be captured. But some constraints cannot be captured in ER diagrams. 3

Entity vs. Attribute Should address be an attribute of Employees or an entity (connected to Employees by a relationship)? Depends upon the use we want to make of address information, and the semantics of the data: If the structure (city, street, etc.) is important, e.g., we want to retrieve employees in a given city, address can be modeled as an entity (since attribute values are atomic).

Different Notations Ramakrishnan Ramakrishnan name name dname dname ssn lot did did budget budget 1 N Employees manages Departments Ramakrishnan name name dname dname ssn lot did did budget budget Employees manages Departments Ramakrishnan

Different Notations (Cont’d) name name dname dname ssn lot did did budget budget 1 N Employees manages Departments Elmasri and Navathe name name dname dname ssn lot did did budget budget 1 N Employees manages Departments Chen

Different Notations (Cont’d) name name dname dname ssn lot did did budget budget (0, N) (1, 1) Employees manages Departments Min-Max Notation with Look Here Notation name name dname dname ssn lot did did budget budget (1, 1) (0, N) Employees manages Departments Min-Max Notation with Look Across Notation

Summary of Conceptual Design Conceptual design follows requirements analysis, Yields a high-level description of data to be stored ER model popular for conceptual design Constructs are expressive, close to the way people think about their applications. Basic constructs: entities, relationships, and attributes (of entities and relationships). Some additional constructs: weak entities, ISA hierarchies, and aggregation. Note: There are many variations on ER model. 11

Summary of ER (Contd.) Several kinds of integrity constraints can be expressed in the ER model: mapping cardinality constraints, participation constraints, and overlap/covering constraints for ISA hierarchies. Some foreign key constraints are also implicit in the definition of a relationship set. Some constraints (notably, functional dependencies) cannot be expressed in the ER model. Constraints play an important role in determining the best database design for an enterprise. 12

Summary of ER (Contd.) ER design is subjective. There are often many ways to model a given scenario! Analyzing alternatives can be tricky, especially for a large enterprise. Common choices include: Entity vs. attribute, entity vs. relationship, binary or n-ary relationship, whether or not to use ISA hierarchies, and whether or not to use aggregation. Ensuring good database design: resulting relational schema should be analyzed and refined further. 13