Database Management Systems. Chapter 2 Part 2

Similar documents
The Entity-Relationship Model

The Entity-Relationship Model

The Entity-Relationship Model. Overview of Database Design. ER Model Basics. (Ramakrishnan&Gehrke, Chapter 2)

The Entity-Relationship (ER) Model

The Entity-Relationship Model. Overview of Database Design

Introduction to Database Design

Introduction to Database Design. Dr. Kanda Runapongsa Dept of Computer Engineering Khon Kaen University

CIS 330: Web-driven Web Applications. Lecture 2: Introduction to ER Modeling

Introduction to Data Management. Lecture #3 (Conceptual DB Design)

CS/INFO 330 Entity-Relationship Modeling. Announcements. Goals of This Lecture. Mirek Riedewald

Introduction to Data Management. Lecture #3 (Conceptual DB Design) Instructor: Chen Li

The Entity-Relationship (ER) Model 2

MIS Database Systems Entity-Relationship Model.

Introduction to Data Management. Lecture #3 (Conceptual DB Design)

Contents. Database. Information Policy. C03. Entity Relationship Model WKU-IP-C03 Database / Entity Relationship Model

Modeling Your Data. Chapter 2. cs542 1

Database Applications (15-415)

Overview of db design Requirement analysis Data to be stored Applications to be built Operations (most frequent) subject to performance requirement

Databases Model the Real World. The Entity- Relationship Model. Conceptual Design. Steps in Database Design. ER Model Basics. ER Model Basics (Contd.

OVERVIEW OF DATABASE DEVELOPMENT

Database Management Systems. Chapter 3 Part 2

The Entity-Relationship Model

Introduction to Database Design

The Entity-Relationship Model. Steps in Database Design

Database Design CENG 351

Introduction to Database Design

Database Design. ER Model. Overview. Introduction to Database Design. UVic C SC 370. Database design can be divided in six major steps:

Overview. Introduction to Database Design. ER Model. Database Design

Introduction to Data Management. Lecture #3 (E-R Design, Cont d.)

CIS 330: Applied Database Systems

Database Management Systems. Syllabus. Instructor: Vinnie Costa

Databases Model the Real World. The Entity- Relationship Model. Conceptual Design. Steps in Database Design. ER Model Basics. ER Model Basics (Contd.

SYLLABUS ADMIN DATABASE SYSTEMS I WEEK 2 THE ENTITY-RELATIONSHIP MODEL. Assignment #2 changed. A2Q1 moved to A3Q1

ER Model Overview. The Entity-Relationship Model. Database Design Process. ER Model Basics

Database Applications (15-415)

Introduction to Data Management. Lecture #4 E-R Model, Still Going

High Level Database Models

Entity-Relationship Diagrams

Introduction to Data Management. Lecture #5 (E-R Relational, Cont.)

High-Level Database Models (ii)

ER Model. CSC 343 Winter 2018 MICHAEL LIUT

The Relational Model (ii)

From ER to Relational Model. Book Chapter 3 (part 2 )

COMP Instructor: Dimitris Papadias WWW page:

The Relational Model. Chapter 3. Database Management Systems, R. Ramakrishnan and J. Gehrke 1

VARDHAMAN COLLEGE OF ENGINEERING Shamshabad , Hyderabad B.Tech. CSE IV Semester (VCE - R11) T P C 3+1* -- 4 (A1511) DATABASE MANAGEMENT SYSTEMS

Introduction to Data Management. Lecture #4 (E-R à Relational Design)

CONCEPTUAL DESIGN: ER TO RELATIONAL TO SQL

Introduction to Data Management. Lecture #6 E-Rà Relational Mapping (Cont.)

CSE 530A. ER Model. Washington University Fall 2013

ENTITY-RELATIONSHIP. The database design process can be divided into six steps. The ER model is most relevant to the first three steps:

Database Systems. Lecture2:E-R model. Juan Huo( 霍娟 )

The Relational Model. Chapter 3

CSIT5300: Advanced Database Systems

Data Modeling. Yanlei Diao UMass Amherst. Slides Courtesy of R. Ramakrishnan and J. Gehrke

ER to Relational Mapping. ER Model: Overview

The Relational Model. Why Study the Relational Model? Relational Database: Definitions

The Relational Model 2. Week 3

CIS 330: Applied Database Systems. ER to Relational Relational Algebra

Conceptual Design. The Entity-Relationship (ER) Model

The Relational Model. Chapter 3. Comp 521 Files and Databases Fall

Database Management Systems. Session 2. Instructor: Vinnie Costa

Relational Model. Topics. Relational Model. Why Study the Relational Model? Linda Wu (CMPT )

Database Systems. Course Administration

Database Applications (15-415)

Why Study the Relational Model? The Relational Model. Relational Database: Definitions. The SQL Query Language. Relational Query Languages

CSC 261/461 Database Systems Lecture 10

Database Applications (15-415)

The Relational Model. Chapter 3. Comp 521 Files and Databases Fall

Conceptual Design. The Entity-Relationship (ER) Model

Database Systems ( 資料庫系統 )

Problem. Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications

COMP 244. ER-Diagram Notations. Entity-Relationship Diagrams DATABASE CONCEPTS & APPLICATIONS. Database Concepts & Applications 1.

Database Design & Deployment

Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Problem. Faloutsos - Pavlo CMU SCS /615

The Relational Model. Outline. Why Study the Relational Model? Faloutsos SCS object-relational model

COMP 244 DATABASE CONCEPTS & APPLICATIONS

The Relational Model. Roadmap. Relational Database: Definitions. Why Study the Relational Model? Relational database: a set of relations

Relational Databases BORROWED WITH MINOR ADAPTATION FROM PROF. CHRISTOS FALOUTSOS, CMU /615

Chapter 2: Entity-Relationship Model

CS 4604: Introduction to Database Management Systems. B. Aditya Prakash Lecture #5: Entity/Relational Models---Part 1

Administrivia. Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Course Topics. Problem

Chapter 6: Entity-Relationship Model

! Need to decide. " What are relations. " What are columns/attributes in relations. " What integrity constraints or business rules hold?

2. DatabaseDesign. Master I Software Engineering. Dr. Imed Bouchrika Dept of Mathematics & Computer Science University of Souk-Ahras

Database Design Process

Entity Relationship Data Model. Slides by: Shree Jaswal

Chapter 6: Entity-Relationship Model

CMPT 354 Database Systems I

The DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data.

CS 146 Database Systems

CSC 261/461 Database Systems Lecture 8. Fall 2017

CSC 261/461 Database Systems Lecture 8. Spring 2018

Translation of ER-diagram into Relational Schema. Dr. Sunnie S. Chung CIS430/530

Intro to DB CHAPTER 6

Overview of Database Design Process Example Database Application (COMPANY) ER Model Concepts

Database Design Process. Requirements Collection & Analysis

Chapter 7: Entity-Relationship Model

LAB 3 Notes. Codd proposed the relational model in 70 Main advantage of Relational Model : Simple representation (relationstables(row,

Chapter 7: Entity-Relationship Model

Transcription:

Database Management Systems Chapter 2 Part 2 Introduction to Database Design Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Class Hierarchies Classify entities sets into Super-class and Subclass. Super-class: Subclasses: Hourly_Emps and Contract_Emps. A subclass entity ISA super-class entity. All attributes of super-class entity set are inherited by the subclass entity set. A subclass entity set has its specific attributes. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 2

ISA (`is a ) Hierarchies hourly_wages hours_worked ISA contractid Hourly_Emps Contract_Emps Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 3 Exercise: Hierarchy Examples In a university database system, Person includes Student, and Employee. Employee includes Faculty, Staff and Student_Assistant. Student includes Graduate_Student, Undergraduate_Student, and Student_Assistant. In a bank system, both checking account and saving accounts are Accounts. At Ford, Vehicle includes Car and Truck. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 4

ISA (`is a ) Hierarchies Overlap constraints determine whether two subclasses are allowed to contain the same entity. By default, the answer is Disallowed. Example: Can Joe be an Hourly_Emps as well as a Contract_Emps entity? (Allowed/disallowed) If the answer is Allowed, there should be a statement like A OVERLAPS B. hourly_wages hours_worked ISA contractid Hourly_Emps Contract_Emps Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 5 Exercise: Overlap? In a university, will a Employee be a Student? In a university, will a Staff be a Faculty member? Who is Faculty? Who is Staff? Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 6

ISA (`is a ) Hierarchies Covering constraints determine whether the entities in the subclasses collectively include all entities in the super-class. By default, the answer is No. Example: Does every entity also have to be an Hourly_Emps or a Contract_Emps entity? (Yes/no) If the answer is Yes, there should be a statement like A AND B COVER C. (A and B are subclasses, C is super-class). hourly_wages hours_worked ISA contractid Hourly_Emps Contract_Emps Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 7 Exercise: Covering All? In a university, is there someone who is not student, faculty, or staff? Yes or No? Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 8

ISA (`is a ) Hierarchies Specialization: Entities of super-class are specialized into subclasses. Generalization: Entities of subclasses are generalized by super-class. Reasons for using ISA: To avoid duplicate attributes. To add descriptive attributes specific to a subclass. To identify some entities that participate in a relationship. Example: Only senior employees could be managers. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 9 Aggregation Aggregation allows us to treat a relationship set as an entity set for purposes of participation in (other) relationships (dashed box). Used when we have to model a relationship involving (entitity sets and) a relationship set. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 10

Example Sponsors relationship set describes the association that Projects entity is sponsored by one or more Departments. And a department that sponsors a project assigns employees to monitor the sponsorship. Monitors relationship set associates a Sponsors relationship with an entity. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 11 Aggregation Treated as an entity set Monitors until pid started_on pbudget since did d budget Projects Sponsors Departments Each Department sponsors at least one project. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 12

Exercise: Aggregation A job-applicant is interviewed by companies. Some interviews result in a job offer. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 13 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? Aggregation? Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 14

Entity vs. Attribute Should address be an attribute of or an entity (connected to by a relationship)? Depends upon the use we want to make of address information, and the semantics of the data: If we have several addresses per employee, address must be an entity (since attributes cannot be setvalued). If the structure (city, street, etc.) is important, e.g., we want to retrieve employees in a given city, address must be modeled as an entity (since attribute values are atomic). Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 15 Entity vs. Attribute (Contd.) Works_In4 does not allow an employee to work in a department for two or more periods. from to Works_In4 did d budget Departments Similar to the problem of wanting to record several addresses for an employee: We want to record several values of the descriptive attributes for each instance of this relationship. Accomplished by introducing new entity set, Duration. from Works_In4 Duration did to d budget Departments Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 16

Entity vs. Relationship First ER diagram OK if a manager gets a separate discretionary budget for each dept. What if a manager gets a discretionary budget that covers all managed departments? Redundancy: dbudget stored for each dept managed by manager. Misleading: Suggests dbudget associated with department-mgr combination. ISA Managers Manages2 d budget Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 17 since since dbudget Manages2 dbudget did did Departments d budget Departments This fixes the problem! Binary vs. Ternary Relationships p age Covers Dependents Bad design policyid Policies cost If A policy cannot be owned jointly by two or more employees. (Key constraint? But one dependent only for each policy?) Every policy must be owned by some employee. (Total participation constraint? But each policy covers at least one dependent?) Dependents is a weak entity set. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 18

Binary vs. Ternary Relationships The additional constraints in the 2nd diagram: Key constraint and Total participation of Policies entity. Key constraint and Total participation of Weak entity Dependents. Bad design policyid Covers Policies cost p p age Dependents Weak Entity age Dependents Purchaser Beneficiary Better design Policies Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke policyid cost 19 Exercise Professors teach Sessions in Classrooms. A prof. teaches several sessions, or may not teach. Each session is taught by at least one prof. Several sessions could be scheduled in one classroom, however, only one classroom is assigned to each session. Students take Sessions in Classrooms. A student should take at least one session. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 20

Binary vs. Ternary Relationships (Contd.) An example in the other direction: a ternary relation Contracts relates entity sets Parts, Departments and Suppliers, and has descriptive attribute qty. No combination of binary relationships is an adequate substitute: S can-supply P, D needs P, and D deals-with S does not imply that D has agreed to buy P from S. How do we record qty? Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 21 Aggregation vs. ternary relationship Monitors is a distinct relationship, with a descriptive attribute (a ternary relationship works if there is no attribute of until) Also, we can say that each sponsorship is monitored by at most one employee (a ternary relationship does not work). pid Monitors until started_on since d pbudget did budget Projects Sponsors Departments Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 22

Exercise: Aggregation vs. Ternary A job-applicant is interviewed by companies. Some interviews result in a job offer. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 23 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. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 24

Summary of ER (Contd.) Several kinds of integrity constraints can be expressed in the ER model: key 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. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 25 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. FD information and normalization techniques are especially useful. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 26