DATABASE DESIGN I - 1DL300

Similar documents
DATABASE TECHNOLOGY - 1DL124

DATABASE TECHNOLOGY. Spring An introduction to database systems

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

DATABASE DESIGN I - 1DL300

DATABASE DESIGN I - 1DL300

Chapter 2: Relational Model

DATABASE TECHNOLOGY - 1MB025 (also 1DL029, 1DL300+1DL400)

Database System Concepts

CSE 132A Database Systems Principles

DATABASE DESIGN I - 1DL300

DATABASE DESIGN I - 1DL300

DATABASE DESIGN - 1DL400

DATABASE DESIGN - 1DL400

Database Management System (15ECSC208) UNIT I: Chapter 2: Relational Data Model and Relational Algebra

Relational Model. CS 377: Database Systems

Chapter 3: Relational Model

ITCS 3160 DATA BASE DESIGN AND IMPLEMENTATION

The Basic (Flat) Relational Model. Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

DATABASTEKNIK - 1DL116

Chapter 2: Entity-Relationship Model

Chapter 2: Relational Model

CS34800 Information Systems. The Relational Model Prof. Walid Aref 29 August, 2016

Relational Model History. COSC 304 Introduction to Database Systems. Relational Model and Algebra. Relational Model Definitions.

Chapter 5. Relational Model Concepts 5/2/2008. Chapter Outline. Relational Database Constraints

Chapter 5. Relational Model Concepts 9/4/2012. Chapter Outline. The Relational Data Model and Relational Database Constraints

Introduction to Relational Databases. Introduction to Relational Databases cont: Introduction to Relational Databases cont: Relational Data structure

Comp 5311 Database Management Systems. 2. Relational Model and Algebra

Chapter 4. The Relational Model

Database System Concepts, 5 th Ed.! Silberschatz, Korth and Sudarshan See for conditions on re-use "

CS275 Intro to Databases

Chapter 6: Entity-Relationship Model. The Next Step: Designing DB Schema. Identifying Entities and their Attributes. The E-R Model.

The Next Step: Designing DB Schema. Chapter 6: Entity-Relationship Model. The E-R Model. Identifying Entities and their Attributes.

Chapter 6: Entity-Relationship Model

CSIT5300: Advanced Database Systems

ECE 650 Systems Programming & Engineering. Spring 2018

CS 377 Database Systems

Relational Data Model. Christopher Simpkins

CMSC 424 Database design Lecture 4: Relational Model ER to Relational model. Book: Chap. 2 and 6. Mihai Pop

COSC344 Database Theory and Applications. σ a= c (P) Lecture 3 The Relational Data. Model. π A, COSC344 Lecture 3 1

PES Institute of Technology Bangalore South Campus (1 K.M before Electronic City,Bangalore ) Department of MCA. Solution Set - Test-II

ACS-3902 Fall Ron McFadyen 3D21 Slides are based on chapter 5 (7 th edition) (chapter 3 in 6 th edition)

Ch 9: Mapping EER to Relational. Follow a seven-step algorithm to convert the basic ER model constructs into relations steps 1-7

Databases: Why? Databases: What? Databases: How? DATABASE DESIGN I - 1DL300

Chapter 5. The Relational Data Model and Relational Database Constraints. Slide 5-١. Copyright 2007 Ramez Elmasri and Shamkant B.

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 5-1

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

THE RELATIONAL DATABASE MODEL

The Relational Data Model and Relational Database Constraints

Entity-Relationship Modelling. Entities Attributes Relationships Mapping Cardinality Keys Reduction of an E-R Diagram to Tables

COSC 304 Introduction to Database Systems. Entity-Relationship Modeling

Running Example Tables name location

CSCI1270 Introduction to Database Systems

Chapter 2 Introduction to Relational Models

The Relational Model and Relational Algebra

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

CS403- Database Management Systems Solved Objective Midterm Papers For Preparation of Midterm Exam

Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5-1

Database Design Process

Chapter 9: Relational DB Design byer/eer to Relational Mapping Relational Database Design Using ER-to- Relational Mapping Mapping EER Model

Database Applications (15-415)

Mapping ER Diagrams to. Relations (Cont d) Mapping ER Diagrams to. Exercise. Relations. Mapping ER Diagrams to Relations (Cont d) Exercise

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

Chapter 6: RELATIONAL DATA MODEL AND RELATIONAL ALGEBRA

Chapter 6: Entity-Relationship Model

ER to Relational Mapping

Relational Database Systems Part 01. Karine Reis Ferreira

Relational Model. Rab Nawaz Jadoon DCS. Assistant Professor. Department of Computer Science. COMSATS IIT, Abbottabad Pakistan

DATABASE DESIGN I - 1DL300

ER Model. Objectives (2/2) Electricite Du Laos (EDL) Dr. Kanda Runapongsa Saikaew, Computer Engineering, KKU 1

Lecture 03. Spring 2018 Borough of Manhattan Community College

The Entity Relationship Model

The data structures of the relational model Attributes and domains Relation schemas and database schemas

High Level Database Models

Intro to DB CHAPTER 6

Sankalchand Patel College of Engineering, Visnagar B.E. Semester III (CE/IT) Database Management System Question Bank / Assignment

DATABASDESIGN FÖR INGENJÖRER F

DATABASTEKNIK - 1DL116

Database Applications (15-415)

The Relational Model

Chapter 6: Entity-Relationship Model

Supplier-Parts-DB SNUM SNAME STATUS CITY S1 Smith 20 London S2 Jones 10 Paris S3 Blake 30 Paris S4 Clark 20 London S5 Adams 30 Athens

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

Topic 5: Mapping of EER Diagrams to Relations

Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition. Chapter 8 Data Modeling Advanced Concepts

We shall represent a relation as a table with columns and rows. Each column of the table has a name, or attribute. Each row is called a tuple.

CSC 742 Database Management Systems

Conceptual Data Modeling

Chapter 2: Intro to Relational Model

COMP Instructor: Dimitris Papadias WWW page:

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

Relational Model: History

DATABASE DESIGN I - 1DL300

CSCC43H: Introduction to Databases

CS403- Database Management Systems Solved MCQS From Midterm Papers. CS403- Database Management Systems MIDTERM EXAMINATION - Spring 2010

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

A database consists of several tables (relations) AccountNum

How to translate ER Model to Relational Model

Introduction to Database Management Systems

The Relational Model

Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No.

Transcription:

DATABASE DESIGN I - 1DL300 Spring 2011 An introductory course on database systems http://www.it.uu.se/edu/course/homepage/dbastekn/vt11/ Manivasakan Sabesan Uppsala Database Laboratory Department of Information Technology, Uppsala University, Uppsala, Sweden 2011-02-04 1

Introduction to the Relational Model Elmasri/Navathe ch 3,8 Padron-McCarthy/Risch ch 5, 6 Manivasakan Sabesan Department of Information Technology Uppsala University, Uppsala, Sweden 2011-02-04 2

The Relational Model The relational model was introduced by Dr. Edgar (Ted) F. Codd (1924-2003) in 1970. Dr. Codd. a mathematician from Oxford (UK), was at that time working as an IBM researcher in the IBM San Jose Research Laboratory (USA). Many DBMS s are based on the relational data model. It support simple declarative, but yet powerful, languages for describing operations on data. Operations in the relational model applies to relations (tables) and produce new relations. This means that an operation can be applied to the result of another operation and that several different operations can be combined. Operations are described in an algebraic notation that is based on relational algebra. 2011-02-04 3

Relations as mathematical objects In set theory, a relation is defined as a subset of the product set (Cartesian product) of a number of domains (value sets). The product set of the domains D 1, D 2,..., D n is written as D 1 D 2.. D n. D 1 D 2... D n constitute the set of all ordered sets <v 1,v 2,...,v n > such that v i belongs to D i for all i. If n=2, D 1={T, F} and D 2={P, Q, R} one gets the product sets: D 1 D 2 = {<T,P>,<T,Q>,<T,R>,<F,P>,<F,Q>,<F,R>} D 2 D 1 = {<P,T>,<P,F>,<Q,T>,<Q,F>,<R,T>,<R,F>} For example, we have the relations: R 1 D 2 D 1 R 1 = {<P,T>,<Q,T>,<R,T>} R 2 D 2 D 1 R 2 = {<P,T>,<P,F>} Members of a relation is called tuples. If the relation is of degree n, the tuples are called n-tuples. 2011-02-04 4

Relation schema and instance A 1, A 2,..., A n are attributes R = (A 1, A 2,..., A n ) is a relation schema Customer-schema(customer-name, customer-street, customer-city) r(r) is a relation on the relation schema R customer (Customer-schema) an attribute The current values (relation instance) of a relation are specified by a table. An element t of r is a tuple - represented by a row in a table customer customer a relation customer-name customer-street customer-city Jones M ain Harrison Smith North Rye Curry North Rye Lindsay Park Pittsfield a tuple 2011-02-04 5

First Normal Form Only simple or atomic values are allowed in the relational model. Attributes is not allowed to have composite or multiple values. The theory for the relational model is based on these assumptions which is called: The first normal form assumption 2011-02-04 6

Null values A special value, null or, can sometimes be used as an attribute value. Every occurrence of null is unique. Thus, two occurrences of null is not considered to be equal even if they are represented by the same symbol. null is used: when one does not know the actual value of an attribute. when a certain attribute does not have a value. when an attribute is not applicable. Examples of the use of null are showed later. 2011-02-04 7

Keys Because relations are sets, all tuples in the relation are different. There is usually a subset k of the attributes in a relation schema R, i.e. k R, that has the characteristic that if the tuples t1, t2 r(r) and t1 t2, the following holds: t1[k] t2[k] (i.e. the value of k in t1 the value of k in t2) Every such subset k is called a superkey for R. 2011-02-04 8

Keys - continued... A superkey k is minimal if there is no other superkey k' such that k' k. Every minimal superkey (NOTE! there can be more than one) is called a candidate key for R. The candidate key chosen by the database designer as the key for R is called primary key or just key. In addition, term foreign key is used when a tuple is referenced, from another relation, with its key. 2011-02-04 9

Determining keys from E-R types Strong entity type. The primary key of the entity type becomes the primary key of the relation. Weak entity type. The primary key of the relation consists of the union of the primary key of the strong entity type and the discriminator of the weak entity type. Relationship type. The union of the primary keys of the related entity types becomes a super key of the relation. For binary many-to-many relationship types, above super key is also the primary key. For binary many-to-one relationship types, the primary key of the many entity type becomes the relation s primary key. For one-to-one relationship types, the relation s primary key can be that of either entity type. 2011-02-04 10

Integrity constraints for a relational database schema 1. Domain constraint attribute values for attribute A shall be atomic values from dom(a) 2. Key constraint candidate keys for a relation must be unique 3. Entity integrity constraint no primary key is allowed to have a null value 4. Referential integrity constraint a tuple that refers to another tuple in another relation must refer to an existing tuple 5. Semantic integrity constraint e.g. an employee s total work time per week can not exceed 40 hours for all projects taken all together 2011-02-04 11

Steps in translation from E-R model to relational model Translation of entity types and their attributes Step 1) Entity types Step 2) Weak entity types Translation of relationships Step 3) 1-1 Relationship Step 4) 1-N Relationship Step 5) M-N Relationship Translation of multivalued attributes and relationships Step 6) Multivalued attributes Step 7) Multivalued relationships 2011-02-04 12

Translating entity types and their attributes Step 1: Entity types - a strong entity type reduces to a table with the same attributes. pk Key attributes (primary key - pk) is made the primary key column(s) for the table. Each attribute gets their own column. Composite attributes are normally represented by their simple components. Example customer schema and table: Customer(social-security, customer-name, c-street, c-city) social-security customer-name c-street c-city 321-12-3123 Jones M ain Harrison 019-28-3746 Smith North Rye 677-89-9011 Hayes M ain Harrison 2011-02-04 13

Translating entity types cont... Step 2: Weak entity types - a weak entity type becomes a table that includes a column for the primary key of the identifying strong entity type. pk E1 1 N R E2 k a1 a2 pk a1 pk k a2 2011-02-04 14

Translating entity types cont... The table corresponding to a relationship type linking a weak entity type to its identifying strong entity type is redundant. Example of the payment schema and table: The payment table already contains the information that would appear in the loan-payment table (i.e., the columns loan-number and payment-no). Payment(loan-number, payment-no, pay-date, amount) loan-number payment-no pay-date amount L-17 5 10 M ay 1996 50 L-23 11 17 M ay 1996 75 L-15 22 23 M ay 1996 300 2011-02-04 15

Step 3: 1-1 Relationship types Translating relationship types The foreign key column (fk) is a copy of the other entity s primary key column (pk). The values in a fk-column point to unique row in the other table, and thus implement the relationship. pk1 E1 1 1 R E2 pk2 a1 a2 Alt 1: pk1 a1 pk2 a2 f k1 Alt 2: pk1 a1 f k2 pk2 a2 2011-02-04 16

Translating 1-1 relationship types cont... E1 R E2 Alt 3: pk1 a1 f k1 f k2 pk2 a2 E1 E2 Alt 4: pk1 a1 pk2 a2 2011-02-04 17

Step 4: 1-N Relationship types Translating relationship... cont... Include the primary key of the 1-side as a foreign key on the N-side, (i.e. the foreign key column is placed on the entity on the N-side). Alternatively, an extra table (R) is created whose primary key is a foreign key composed by the primary key from the N-side. pk1 E1 1 N R E2 pk2 a1 a2 Alt 1: pk1 a1 pk2 a2 f k1 Alt 2: pk1 a1 f k1 f k2 pk2 a2 2011-02-04 18

Translating relationship... cont... Step 5: M-N Relationship types Always a separate table with columns for the primary keys of the two participating entity types, and any descriptive attributes of the relationship type. pk1 E1 M R N E2 pk2 a1 a2 pk1 a1 f k1 f k2 pk2 a2 2011-02-04 19

Translating relationship... cont... Step 6: Multivalued attributes A separate table is created for the multivalued attribute. Its primary key is composed of the owning entity s primary key, and the attribute value itself. a pk E mva E E-MVA pk a pk mva 2011-02-04 20

Translating relationship... cont... Step 7: Multivalued relationship types First try to remove multivalued relationships on the E-R model level by model transformation. A separate table is created, with foreign keys to all tables that are included in the relationship. Its primary key is composed of all foreign keys. pk1 E1 N R N E2 pk2 N a pk3 E3 R f k1 f k2 f k3 a 2011-02-04 21

Translating relationship... cont... Step 7: Multivalued relationship types continued In the case where R is 1-N-N, the primary key on R shall not include the fk for the table with cardinality 1. pk1 E1 1 N R E2 pk2 N a pk3 E3 R f k1 f k2 f k3 a 2011-02-04 22

Translating Specialization/Generalization Alternative a) in Elmasri/Navathe E1 pk a1 pk a1 E1 E2 pk a2 pk a2 E2 pk a3 E3 E3 pk a3 2011-02-04 23

Translating aggregation Translating an implicit aggregation relationship type. PRODUCT PRODUCT DETAIL 1 N pid did part_of DETAIL fk1 Translating an objectified aggregation relationship type. PRODUCT 1 N consist ASSEMBLY 1 1 part_in DETAIL PRODUCT pid ASSEMBLY (aid) pid did DETAIL did 2011-02-04 24

Example E-R to relational model translation ename EMPLOYEE salary N 1 eno dname WORKS_IN 1 1 DEPARTMENT MANAGES sno sname SUPPLIER saddr dno date ono 1 CARRIES iname M ORDER N N ITEM INCLUDE M ino N SUPPLIES quantity price N PLACED_BY CUSTOMER cname 1 cno balance caddr 2011-02-04 25

Relational schemas for the example Schemas for the entity types in the example above EMPLOYEE(ENO,ENAME, SALARY, DNO) DEPARTMENT(DNO, DNAME, ENO) SUPPLIER(SNO,SNAME, SADDR) ITEM(INO, INAME, DNO) ORDER(ONO, DATE, CNO) CUSTOMER(CNO,CNAME, CADDR, BALANCE) Schemas for relationship types (M:N) SUPPLIES(SNO, INO, PRICE) INCLUDE(ONO, INO, QUANTITY) 2011-02-04 26

Short summary E-R -> R E-R concept Relational concept entity type relation 1:1 relationship type include one of the primary keys as a foreign key of the other entity relation 1:N relationship type include the 1-side primary key as a foreign key at the n-side M:N relationship type relation with two foreign keys n-ary relationship type (degree > 2) simple attribute composite attribute multivalued attribute value set key attribute relation with n foreign keys attribute simple attribute components relation anf foreign key domain primary (or secondary key) 2011-02-04 27