CS 4604: Introduc0on to Database Management Systems. B. Aditya Prakash Lecture #5: En-ty/Rela-onal Models- - - Part 1



Similar documents
Entity-Relationship Model. Purpose of E/R Model. Entity Sets

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

Conceptual Design Using the Entity-Relationship (ER) Model

CS 4604: Introduc0on to Database Management Systems

2. Conceptual Modeling using the Entity-Relationship Model

The Entity-Relationship Model

Database Design Overview. Conceptual Design ER Model. Entities and Entity Sets. Entity Set Representation. Keys

Database Design. Database Design I: The Entity-Relationship Model. Entity Type (con t) Chapter 4. Entity: an object that is involved in the enterprise

COMP 378 Database Systems Notes for Chapter 7 of Database System Concepts Database Design and the Entity-Relationship Model

Database Design. Goal: specification of database schema Methodology: E-R Model is viewed as a set of

THE ENTITY- RELATIONSHIP (ER) MODEL CHAPTER 7 (6/E) CHAPTER 3 (5/E)

Outline. Data Modeling. Conceptual Design. ER Model Basics: Entities. ER Model Basics: Relationships. Ternary Relationships. Yanlei Diao UMass Amherst

BİL 354 Veritabanı Sistemleri. Entity-Relationship Model

Lecture 6. SQL, Logical DB Design

DATABASE DESIGN. - Developing database and information systems is performed using a development lifecycle, which consists of a series of steps.

The Relational Model. Ramakrishnan&Gehrke, Chapter 3 CS4320 1

Entity/Relationship Modelling. Database Systems Lecture 4 Natasha Alechina

Chapter 3. Data Modeling Using the Entity-Relationship (ER) Model

Databases and BigData

The Entity-Relationship Model

Review: Participation Constraints

Unit 2.1. Data Analysis 1 - V Data Analysis 1. Dr Gordon Russell, Napier University

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

Introduction to Database Systems CS4320/CS5320. CS4320/4321: Introduction to Database Systems. CS4320/4321: Introduction to Database Systems

Data Modeling. Database Systems: The Complete Book Ch ,

Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model

Chapter 2: Entity-Relationship Model. Entity Sets. " Example: specific person, company, event, plant

CSC 742 Database Management Systems

Data Analysis 1. SET08104 Database Systems. Napier University

Chapter 2: Entity-Relationship Model. E-R R Diagrams


There are five fields or columns, with names and types as shown above.

14 Databases. Source: Foundations of Computer Science Cengage Learning. Objectives After studying this chapter, the student should be able to:

Entity-Relationship Model

Review Entity-Relationship Diagrams and the Relational Model. Data Models. Review. Why Study the Relational Model? Steps in Database Design

Entity Relationship Diagram

How To Improve Performance In A Database

Data Modeling: Part 1. Entity Relationship (ER) Model

The Entity-Relationship Model

CPS352 Database Systems: Design Project

Privacy- Preserving P2P Data Sharing with OneSwarm. Presented by. Adnan Malik

IV. The (Extended) Entity-Relationship Model

CSCI-GA Database Systems Lecture 7: Schema Refinement and Normalization

Lecture 12: Entity Relationship Modelling

Lesson 8: Introduction to Databases E-R Data Modeling

CS2Bh: Current Technologies. Introduction to XML and Relational Databases. The Relational Model. The relational model

Requirement Analysis & Conceptual Database Design. Problem analysis Entity Relationship notation Integrity constraints Generalization

CS411 Database Systems

Object Oriented Databases (OODBs) Relational and OO data models. Advantages and Disadvantages of OO as compared with relational

ER modelling, Weak Entities, Class Hierarchies, Aggregation

LAB 3: Introduction to Domain Modeling and Class Diagram

Exercise 1: Relational Model

DATABASE INTRODUCTION

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

Chapter 8 The Enhanced Entity- Relationship (EER) Model

three Entity-Relationship Modeling chapter OVERVIEW CHAPTER

LOGICAL DATABASE DESIGN

Bridge from Entity Relationship modeling to creating SQL databases, tables, & relations

IT2305 Database Systems I (Compulsory)

(Refer Slide Time 00:56)

The E-R èentity-relationshipè data model views the real world as a set of basic objects èentitiesè and

Foundations of Information Management

Offensive & Defensive & Forensic Techniques for Determining Web User Iden<ty

not necessarily strictly sequential feedback loops exist, i.e. may need to revisit earlier stages during a later stage

Enhanced-ER Data Model

Clinical teachers experiences of nursing and teaching. Dr. Helen Forbes Deakin University

IT2304: Database Systems 1 (DBS 1)

Database Design--from E-R Diagram to SQL Statement

In This Lecture. Security and Integrity. Database Security. DBMS Security Support. Privileges in SQL. Permissions and Privilege.

SQL DDL. DBS Database Systems Designing Relational Databases. Inclusion Constraints. Key Constraints

Database Design. Marta Jakubowska-Sobczak IT/ADC based on slides prepared by Paula Figueiredo, IT/DB

Foundations of Information Management

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar

Quiz! Database Indexes. Index. Quiz! Disc and main memory. Quiz! How costly is this operation (naive solution)?

SBML SBGN SBML Just my 2 cents. Alice C. Villéger COMBINE 2010

Winter Winter

CS2Bh: Current Technologies. Introduction to XML and Relational Databases. Introduction to Databases. Why databases? Why not use XML?

Database Management Systems. Chapter 1

ONTOLOGIES A short tutorial with references to YAGO Cosmina CROITORU

Pu?ng B2B Research to the Legal Test

CMU - SCS / Database Applications Spring 2013, C. Faloutsos Homework 1: E.R. + Formal Q.L. Deadline: 1:30pm on Tuesday, 2/5/2013

Chapter 2: Designing XML DTDs

A brief overview of developing a conceptual data model as the first step in creating a relational database.

DTCC Data Quality Survey Industry Report

We know how to query a database using SQL. A set of tables and their schemas are given Data are properly loaded

1 Class Diagrams and Entity Relationship Diagrams (ERD)

DBMS / Business Intelligence, SQL Server

11 November

Chapter 2: Entity-Relationship Model

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

Relational Database Basics Review

Transcription:

CS 4604: Introduc0on to Database Management Systems B. Aditya Prakash Lecture #5: En-ty/Rela-onal Models- - - Part 1

Announcements- - - Project Goal: design a database system applica-on with a web front- end Project Assignment 1 released this week Total of 3 during the semester Heads- up: Start thinking about groups same group for rest of the semester You are free to choose your own project members If you like me to assign you to a group, send me email Min size=2 members, Max size=3 members. Anything else needs an excellent reason (and my permission) Prakash 2015 VT CS 4604 2

E/R: NOT IN BOOK! IMPORTANT: Follow only lecture slides for this topic! Differences from the book: More details Slightly different nota-on Prakash 2015 VT CS 4604 3

Database Design Requirements Analysis user s needs Conceptual Design high level (E/R) Logical Design tables (schema) Schema Refinement normaliza@on Physical Design indices etc. Security Design access controls Prakash 2015 VT CS 4604 4

Database Design Requirements Analysis user s needs Conceptual Design high level (E/R) Logical Design tables (schema) Schema Refinement normaliza@on Physical Design indices etc. Security Design access controls Prakash 2015 VT CS 4604 5

Basic Database Terminology Data model : describes high- level conceptual structuring of data Example: Data is set of student records, each with ID, name, address, and courses Example: Data is a graph where nodes represent people and edges represent friendship rela-ons Schema describes how data is to be structured and stored in a database Defined during crea-on of the database Schemas rarely change Data is actual instance of database Updated con-nuously Changes rapidly Prakash 2015 VT CS 4604 6

Why Learn About Database Modeling? The way in which data is stored is very important for subsequent access and manipula-on by SQL. Proper-es of a good data model: It is easy to write correct and easy to understand queries. Minor changes in the problem domain do not change the schema. Major changes in the problem domain can be handled without too much difficulty. Can support efficient database access. Prakash 2015 VT CS 4604 7

Purpose of E/R Model The E/R model allows us to sketch the design of a database informally. Represent different types of data and how they relate to each other Designs are drawings called en@ty- rela@onship diagrams. Fairly mechanical ways to convert E/R diagrams to real implementa-ons like rela-onal databases exist. Prakash 2015 VT CS 4604 8

Purpose of E/R Model When designing E/R diagrams, forget about rela-ons/tables! only consider how to model the informa-on you need to represent in your database. Prakash 2015 VT CS 4604 9

Example Professors advising students, Students taking courses, Students taught by professors Prakash 2015 VT CS 4604 10

Tools En--es ( en-ty sets ) Rela-onships ( rel. sets ) and mapping constraints N M Ahributes P Prakash 2015 VT CS 4604 11

Example Professors advising students, Students taking courses, Students taught by professors Nouns à en-ty sets Verbs à rela-onship sets Prakash 2015 VT CS 4604 12

En0ty Sets En@ty = thing or objects En@ty set = collec-on of similar en--es. Similar to a class in object- oriented languages. Ahribute = property of an en-ty set. Generally, all en--es in a set have the same proper-es. Our conven-on is to use atomic ahributes e.g. integers, character strings etc. FYI: there exist Prakash 2015 mul0valued or set- valued ahributes (eg., dependents for EMPLOYEE) derived ahributes (eg., 15% -p) VT CS 4604 13

E/R Diagrams In an en-ty- rela-onship diagram, each en-ty set is represented by a rectangle. Each ahribute of an en-ty set is represented by an oval, with a line to the rectangle represen-ng its en-ty set. Prakash 2015 VT CS 4604 14

Example: En0ty Sets Prakash 2015 VT CS 4604 15

Rela0onships A rela-onship connects two or more en-ty sets. It is represented by a diamond, with lines to each of the en-ty sets involved. Don t confuse Rela-onships with Rela-ons! Prakash 2015 VT CS 4604 16

Example: Rela0onships Students Take Courses Professors Teach Courses Professors Advise Students Prakash 2015 VT CS 4604 17

Instance of an E/R Diagram An E/R is NOT an implementa-on of the DB Just a nota-on for specifying structure S-ll useful to think of instance of an E/R Diagram === the par-cular data stored in a database Prakash 2015 VT CS 4604 18

Instance of an En0ty Set For each en-ty set, the instance stores a specific set of en--es Each en-ty is a tuple containing specific values for each ahribute Example: Instance of En-ty set Students Prakash 2015 VT CS 4604 19

Instance of a Rela0onship Example: Instance of rela-onship Takes (no DeptName) Rela-onship R between (en-ty sets) E and F Relates some en@@es in E to some en@@es in F Prakash 2015 VT CS 4604 20

Instance of a Rela0onship Instance is a set of pairs of tuples (e; f ) where e is in E and f is in F Instance need not relate every tuple in E with every tuple in F Rela-onship set for R: the pairs of tuples (e; f ) related by R (Conceptually) An instance of R is simply the concatenta-on of the ahribute lists for all pairs of tuples (e; f ) in the rela-onship set for R Tuples in R have two components, one from E and one from F Prakash 2015 VT CS 4604 21

AXributes for a Rela0onship Ques-on: What is Grade an ahribute of? Such an ahribute is a property of the en-ty- pairs in the rela-onship Prakash 2015 VT CS 4604 22

Many- Many Rela0onships In a many- many rela-onship, an en-ty of either set can be connected to many en--es of the other set. Prakash 2015 VT CS 4604 23

Many- One Rela0onships Some binary rela-onships are many - one from one en-ty set to another. Each en-ty of the first set is connected to at most one en-ty of the second set. But an en-ty of the second set can be connected to zero, one, or many en--es of the first set. Prakash 2015 VT CS 4604 24

One- One Rela0onships In a one- one rela-onship, each en-ty of either en-ty set is related to at most one en-ty of the other set. The schema defines the mul-plicity of rela-onships. Don't use the instances of the schema to determine mul-plicity. Prakash 2015 VT CS 4604 25

Represen0ng Mul0plicity Show a many- one rela-onship by an arrow entering the one side. Show a one- one rela-onship by arrows entering both en-ty sets. Prakash 2015 VT CS 4604 26

Different kinds of rela0onships Profs. Advise Students many-many many-one one-one Students Take Courses Profs. Office Rooms Prakash 2015 VT CS 4604 27

Exactly one In some situa-ons, we can also assert exactly one, i.e., each en-ty of one set must be related to exactly one en-ty of the other set. To do so, we use a rounded arrow. Prakash 2015 VT CS 4604 28

Example: Exactly One Consider Best- course between Profs and Courses. Some courses are not the best- course of any professor, so a rounded arrow to Profs would be inappropriate. But a professor has to have a best- course Profs. Best- course Courses Prakash 2015 VT CS 4604 29

Roles in Rela0onships Can the same en-ty set appear more than once in the same rela-onship? Prerequisite rela-onship between two Courses But which course is the pre- req? Prakash 2015 VT CS 4604 30

Roles in Rela0onships Label the connec-ng lines with the role of the en-ty Prakash 2015 VT CS 4604 31

Parallel Rela0onships Can there be more than one rela-onship between the same pair of en--es? TA and Take rela-onship between Students and Classes Prakash 2015 VT CS 4604 32

Are AXributes on Rela0onships Needed Ahribute on rela-onship à Ahribute to an en-ty and make rela-onship mul-- way Prakash 2015 VT CS 4604 33

En0ty vs. axribute En-ty EMPLOYEE (w/ emp#, name, job_code,...) Q: How about spouse - en-ty or ahribute? Q: How about dependents? Prakash 2015 VT CS 4604 34

En0ty vs. axribute En-ty EMPLOYEE (w/ emp#, name, job_code,...) Q: How about spouse - en-ty or ahribute? A: probably, ahribute is enough Q: How about dependents? A: En-ty - we may have many dependents Prakash 2015 VT CS 4604 35

Mul0- way Rela0onships Rela-onships may connect more than 2 en-ty sets >= 1 professor can teach a course but each student evaluates each professor separately Three- way Evalua-on rela-onship between Students, Professors, and Classes Prakash 2015 VT CS 4604 36

Mul0- way Rela0onships >= 1 professor can teach a course but each student taught by at most one professor, and each student only evaluates that professor Add arrow directed towards Professors Prakash 2015 VT CS 4604 37

Mul0plicity in Mul0way Rela0onships An arrow poin-ng to an en-ty set E => if we select an en-ty from each of the other en-ty sets, the selected en--es are related to at most one en-ty in E E/R diagram forbids connec-ons between Hermione Grainger, Po-ons" and two different professors. Prakash 2015 VT CS 4604 38

Binary vs Ternary Rel. Can a ternary rel. be replaced by binary rels? Prakash 2015 VT CS 4604 39

AXempt 1 qty Parts Contract Departments Suppliers VS. Parts Departments can-supply Suppliers deals-with Is this OK? Prakash 2015 VT CS 4604 40

AXempt 1: contd. qty Parts Contract Departments Suppliers VS. Parts Departments can-supply Suppliers deals-with 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? Prakash 2015 VT CS 4604 41

AXempt 2 qty Parts Contract Departments Suppliers qty Parts Contract Departments Suppliers Prakash 2015 VT CS 4604 42

AXempt 2: contd qty c-id Parts Contract Departments Suppliers Prakash 2015 VT CS 4604 43

Conver0ng Mul0way to Binary It is easy to convert a mul-way rela-onship to mul-ple binary rela-onships Create a new connec-ng en-ty set. Think of its en--es as the tuples in the rela-onship set for the mul-way rela-onship Introduce rela-onships from the connec-ng en-ty set to each of the en--es in the original rela-onship If an en-ty set plays > 1 role, create a rela-onship for each role Prakash 2015 VT CS 4604 44

Conver0ng Mul0way to Binary Equivalent: V V V Prakash 2015 VT CS 4604 45

Conver0ng Mul0way to Binary Not exactly equivalent, but can be made so by addi0onal FDs. V V V Prakash 2015 VT CS 4604 46

Example of the Conversion Instance of Evalua-on (ternary) rela-onship before conversion: Prakash 2015 VT CS 4604 47

Example of the Conversion Instance of Evalua-on (ternary) rela-onship before conversion: A_er Evalua-on en-ty set Student_of en-ty set Prakash 2015 VT CS 4604 48

Details of the Conversion Create an en-ty in the new Evalua-on en-ty set for each instance (row) in the ternary Evalua-on rela-onship. In the Student_of rela-onship, relate each en-ty in the Evalua-on en-ty set with the corresponding student en-ty. How many students can the Student_of rela-onship relate an Evalua-on en-ty to? Only one! Therefore, the mul-plicity of Student_of is many- to- one from Evalua-on to Student. Prakash 2015 VT CS 4604 49

Conversion Prakash 2015 VT CS 4604 50

Subclasses: Example University Employees, Handout 2 (will be released next week) All employees have a unique ID. In addi-on to professors, universi-es also employ staff. The university pays all its employees a salary. Professors come in three flavors: 9- month appointees, calendar year appointees, and research professors. Each 9- month appointee and research professor has a grant that pays part of the employee s salary. Calendar year and 9- month professors teach classes while research professors do not. Prakash 2015 VT CS 4604 51

Subclasses: Example University Employees, Handout 2 (will be released next week) All employees have a unique ID. In addi-on to professors, universi-es also employ staff. The university pays all its employees a salary. Professors come in three flavors: 9- month appointees, calendar year appointees, and research professors. Each 9- month appointee and research professor has a grant that pays part of the employee s salary. Calendar year and 9- month professors teach classes while research professors do not. Someone from staff IS A employee A Professor IS A employee A Research Professor IS A Professor A Teacher IS A Professor A 9- month appointee IS A?? Prakash 2015 VT CS 4604 52

Subclasses: Example University Employees, Handout 2 (will be released next week) All employees have a unique ID. In addi-on to professors, universi-es also employ staff. The university pays all its employees a salary. Professors come in three flavors: 9- month appointees, calendar year appointees, and research professors. Each 9- month appointee and research professor has a grant that pays part of the employee s salary. Calendar year and 9- month professors teach classes while research professors do not. Someone from staff IS A employee A Professor IS A employee A Research Professor IS A Professor A Teacher IS A Professor A 9- month appointee IS A Teacher! Prakash 2015 VT CS 4604 53

Subclasses: Example University Employees, Handout 2 Prakash 2015 VT CS 4604 54

Subclasses in the E/R Model A subclass of an en-ty set E is an en-ty set F such that each en-ty in F is an en-ty in E the en-ty set F must have at least one ahribute or par-cipate in at least one rela-onship that E does not Connect E to F using an isa rela-onship denoted by a triangle Conven-on is to draw E above F Each isa rela-onship is one- one but we do not draw the arrows. The set of isa rela-onships must form a tree. Prakash 2015 VT CS 4604 55

Subclasses: Example University Students, Handout 2 Students enrolled in a university can be either undergraduates or graduates. Graduate students can be enrolled either in a Masters or a Ph.D. program. Each graduate student must submit a thesis. The thesis can be uniquely iden-fied by its -tle. Each student can be a TA for at most one course. Furthermore, a course can have at most one graduate student as a TA (it may have mul-ple undergraduate TAs). Prakash 2015 VT CS 4604 56

Subclasses: Example University Students, Handout 2 Prakash 2015 VT CS 4604 57

E/R vs. OO Subclasses In object- oriented programming languages, each object is in only one class. A subclass inherits variables and methods from the superclasses. In an E/R diagram, an en-ty has components in all the subclasses to which it belongs If an en-ty e has a component in an subclass, then e has a component in the superclass Does e have a component in the root? The ahributes of e are the union of the ahributes of its components e par-cipates in all the rela-onships its components par-cipate in Prakash 2015 VT CS 4604 58

Components of an En0ty Prof. Fingers InMany Pies has a 9- month appointment, teaches in one semester every year, and does not teach in the other semester. In the other semesters, his research grant pays his salary. Which en-ty sets does he have components in? (using a different isa hierarchy than before ) Prakash 2015 VT CS 4604 59

Components of an En0ty How do we represent students enrolled in combined Bachelors- Masters programs? Such a student has components in mul-ple en-ty sets Prakash 2015 VT CS 4604 60

Components of an En0ty Such a student has components in mul-ple en-ty sets Prakash 2015 VT CS 4604 61