Modeling Your Data. Chapter 2. cs542 1

Similar documents
The Entity-Relationship Model

The Entity-Relationship (ER) Model

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

The Entity-Relationship Model

Database Management Systems. Chapter 2 Part 2

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

The Entity-Relationship Model. Overview of Database Design

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

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

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

MIS Database Systems Entity-Relationship Model.

The Entity-Relationship (ER) Model 2

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

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

OVERVIEW OF DATABASE DEVELOPMENT

Database Applications (15-415)

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

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

Database Applications (15-415)

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

Introduction to Database Design

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

Introduction to Database Design

The Entity-Relationship Model. Steps in Database Design

Database Management Systems. Syllabus. Instructor: Vinnie Costa

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

CIS 330: Applied Database Systems

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

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

Database Design CENG 351

Database Management Systems. Chapter 3 Part 2

Conceptual Design. The Entity-Relationship (ER) Model

The Entity-Relationship Model

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

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

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

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

Entity-Relationship Diagrams

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

CSE 530A. ER Model. Washington University Fall 2013

ER Model. CSC 343 Winter 2018 MICHAEL LIUT

The Relational Model 2. Week 3

The Relational Model (ii)

The Relational Model. Chapter 3

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

High Level Database Models

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

ER to Relational Mapping. ER Model: Overview

CONCEPTUAL DESIGN: ER TO RELATIONAL TO SQL

KEYS WEAK ENTITY SETS EXAMPLE: WEAK ENTITY SET EXAMPLE: WEAK ENTITY SET. Beers. Ales. Players. Teams ISA. and. Plays-on

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

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

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

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

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

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

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

CS2 Current Technologies Lecture 5: Data Modelling and Design

Conceptual Design. The Entity-Relationship (ER) Model

Database Management Systems. Session 2. Instructor: Vinnie Costa

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

Review The Big Picture

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

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

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

COMP Instructor: Dimitris Papadias WWW page:

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

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

SQL DDL. CS3 Database Systems Weeks 4-5 SQL DDL Database design. Key Constraints. Inclusion Constraints

Conceptual Design with ER Model

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

DATABASE MANAGEMENT SYSTEMS

CSC 261/461 Database Systems Lecture 10

Chapter 2 Conceptual Modeling. Objectives

A database can be modeled as: + a collection of entities, + a set of relationships among entities.

Schema Refinement and Normal Forms

Database Management Systems MIT Introduction By S. Sabraz Nawaz

COMP 244. Entity Relationship Model Basics. Entity-Relationship Models. Key elements of the E-R model DATABASE CONCEPTS & APPLICATIONS

Conceptual Database Design. COSC 304 Introduction to Database Systems. Entity-Relationship Modeling. Entity-Relationship Modeling

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

Administrivia. Physical Database Design. Review: Optimization Strategies. Review: Query Optimization. Review: Database Design

Distributed Database Systems By Syed Bakhtawar Shah Abid Lecturer in Computer Science

CS 146 Database Systems

Database Design Process

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

Database Design and Tuning

Intro to DB CHAPTER 6

Using High-Level Conceptual Data Models for Database Design A Sample Database Application Entity Types, Entity Sets, Attributes, and Keys

CMSC 424 Database design Lecture 3: Entity-Relationship Model. Book: Chap. 1 and 6. Mihai Pop

High-Level Database Models (ii)

Database Systems ER Model. A.R. Hurson 323 CS Building

COSC 304 Introduction to Database Systems. Entity-Relationship Modeling

Chapter Outline. Note 1. Overview of Database Design Process Example Database Application (COMPANY) ER Model Concepts

DATABASE SCHEMA DESIGN ENTITY-RELATIONSHIP MODEL. CS121: Relational Databases Fall 2017 Lecture 14

Chapter 2: Entity-Relationship Model. Entity Sets. Entity Sets customer and loan. Attributes. Relationship Sets. A database can be modeled as:

Conceptual Modeling in ER and UML

Transcription:

Modeling Your Data Chapter 2 cs542 1

Part II Discussion of the Model: Good Design/ Bad Design cs542 2

Design : The Obvious Use meaningful and descriptive s (it s for the human after all) Keep as simple as possible Avoid redundant constructs Express all constraints, if possible, as then DBMS will help enforce them cs542 3

Conceptual Design Using 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? Constraints in the ER Model: A of data semantics can (and should) be captured. Some constraints cannot be captured in ER diagrams. cs542 4

Entity vs. Attribute Should address be an attribute of or an entity (connected to by a relationship)? cs542 5

Entity vs. Attribute Should address be an attribute of or a related entity? Answer: Depends upon how we want to use address information and its semantics : If we have several addresses per employee, address must be an entity (since attributes cannot be set-valued). 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). cs542 6

Entity vs. Attribute Reminder : Do not introduce un-necessary entities (and complexity) if not needed for your application! cs542 7

Entity vs. Attribute from to did d budget Works_In4 Departments cs542 8

Entity vs. Attribute Does Works_In allow an employee to work in a department for two or more periods??? from to did d budget Works_In Departments cs542 9

Entity vs. Attribute (Contd.) Works_In does not allow an employee to work in a department for two or more periods no multi-valued attributes in ER! from to did d budget Works_In Departments cs542 10

Entity vs. Attribute (Contd.) Works_In4 does not allow an employee to work in a department for two or more periods. from to did d budget Works_In4 Departments What do? 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. cs542 11

Entity vs. Attribute from to did d budget Works_In4 Departments did d budget Works_In4 Departments from Duration to cs542 12

Entity vs. Relationship? since dbudget did d budget Manages2 Departments cs542 13

Entity vs. Relationship since dbudget did d budget Manages2 Departments What if a manager gets a separate discretionary budget for each dept? OK! cs542 14

Entity vs. Relationship since dbudget did d budget Manages2 Departments What if a manager gets a discretionary budget that covers all managed depts? Redundancy: dbudget stored for each dept managed by manager. Misleading: Suggests dbudget associated with department-mgr combination. cs542 15

Entity vs. Relationship since dbudget did d budget Discretionary Manages2 Departments budget of manager that covers all managed depts? ISA since Manages2 did d budget Departments Managers dbudget cs542 16

Binary vs. Ternary Relationships p age Covers Dependents Policies policyid cost cs542 17

Binary vs. Ternary Relationships p age Covers Dependents Policies policyid cost What if each policy is owned by just 1 employee? What if each dependent should be tied to only 1 covering policy? cs542 18

Binary vs. Ternary Relationships Bad design! p age Covers Dependents Policies policyid cost What additional constraints in 2nd diagram? Purchaser Better design? p age Dependents Beneficiary Policies cs542 19 policyid cost

Binary vs. Ternary Relationships p age Bad design Covers Policies Dependents policyid cost p age Dependents Purchaser Beneficiary Even Better Design Policies cs542 policyid cost 20

Binary vs. Ternary Relationships Previous example illustrated when two binary relationships better than one ternary relationship. New Example: How about we want to model Contracts between the entity sets Parts, Departments and Suppliers, Where D has agreed to buy parts P from supplier S according to a given contract (i.e. a certain quantity of parts of type P).

Binary vs. Ternary Relationships How about ternary relation Contracts : entity sets Parts, Departments and Suppliers, and has descriptive attribute qty. sid qty pnum Suppliers contract Parts Department did

Binary vs. Ternary Relationships What about following binary relationships : S can-supply P, D needs P, and D deals-with S? No combination of binary relationships is an adequate substitute: Together 3 binary relationships don t imply that D has agreed to buy P from S. Also, how could we record qty? cs542 24

Summary of ER There are often many ways to model a given scenario! Not one correct ER design 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, aggregation. Ensuring good database design: Resulting relational schema should be analyzed and refined further. FD information and normalization techniques useful. cs542 25