1 Design Methodology A structured approach that uses procedures, techniques, tools, and documentation aids to support and facilitate the process of design. Three main phases 1.Conceptual database design Understanding client data E-R (EER) Model Agreement between clients and designers E-R Model could be used for any database system 2.Logical database design Mapping E-R Model to (relational) database schema Normalization 3.Physical database design
2 Mapping E-R Model to Relational Database Schema 1.Entity type Table schema Composite Attributes Multi-Value Attributes 2.How to maintain relationships? Primary Key and Foreign Key Many-to-Many
3 How to maintain relationships? Foreign Key Primary key of another relation (table) Representing relationship between two relations (tables)
4 Foreign Key: Examples Branch (Bno, Street, City, State, Zipcode, Phone) Staff (Sno, firstName, lastName, Address, Bno ) Owner (Ono, firstName, lastName, Phone (Multi-Value)) PropertyForRent (Pno, Street, City, State, Zipcode, Ono) Client (Cno, firstName, lastName, Phone, MaxRent, PrefType) Viewing (Cno, Pno, ViewDate, Comment)
5 How to Describe a Table Schema? Database Design Language (DBDL) Branch (Bno, Street, City, State, Zipcode, Phone) PK: Bno AK: Street, City, Zipcode Phone FK: None Viewing (Rno, Pno, ViewDate, Comment) PK: Rno, ViewDate AK: None FK: Rno references Client (Cno) Pno references Property Multiple AK/FK on different lines! Viewing (Rno, Pno, ViewDate, Comment) PK: Rno, ViewDate AK: None FK: Rno, Pno FK: Rno references Client (Cno) Pno references Property One FK! Not two! References!
6 Mapping Strong Entities to Relation (Table) Schemas Replacing composite attributes with simple attributes Adding new tables to remove multi- value attributes
7 Replacing Composite Attributes with Simple Attributes Name: Composite (FirstName, LastName) Use two atriibutes: FirstName LastName Address : Compsite (Street, City, State, Zipcode) Use four attributes: Street City State Zipcode Performance issue
8 Composite Attributes staffNoNameAddress... SL21John White1 main street, Platteville, WI SG37Ann Beech15 University Dr, Madison, WI SA9Mary Howe908 Western avenue, Dubuque, IA Search on state or zip code
9 Simple Attributes staffNofirstNamelastNameStreetCityStatezip SL21JohnWhite1 main streetPlattevilleWI53818 SG37AnnBeech15 University DrMadisonWI53706 SA9MaryHowe908 Western avenue DubuqueIA Search on state or zip code
10 Removing Multi-Value Attributes No multi-value attributes in relational databases First Order Logic No sets as set elements
11 Multi-Value Attributes branchNostreetcitystatezipCodetelNo B0011 main street PlattevilleWI B00215 university drive MadisonWI ………………
12 Removing Multi-Value Attributes without Losing Data Entity Type in E-R Model Branch branchNo... telNo: multi-value How to Store telNo? phoneOne phoneTwo (When we know the limit of phone numbers at a branch: at most two) Staff staffNo homePhone workPhone cellPhone...
13 Each Branch Has at Most Three Phone Numbers branchNostreet...phone1phone2phone3 B0011 main street B00215 university drive ……………
14 Home Phone, WorkPhone and Cell Phone staffNostreet...homePhoneworkPhonecellPhone SL211 main street SG3715 university drive SA79……
15 Multi-Value Attributes Without Limit Entity Type in E-R Model Branch branchNo... telNo: multi-value (NO LIMIT!) More Examples Student Major Work Experience Research publications...
16 Replacing Multi-Value Attributes branchNo...telNo B B ……… branchNoStreetCityStatezipCode B001 B002 … branchNotelNo B B B B B …… One table two tables Multi-Value attribute multiple records Primary Key Foreign Key
17 Replacing Multi-Value Attributes Entity Type in E-R Model Branch branchNo... telNo: multi-value (NO LIMIT!) How to Store telNo? Remove it from Branch and create a new table! BranchPhone branchNo telPhone What is the PK? Assumption: two branches don’t share the same phone # Does it have a FK?
18 Mapping Entity Type to Table Schema Entity Type in E-R Model Branch branchNo address: composite (street, city, state, zipCode) telNo: multi-value (with or without limit!) Table Schema (DBDL) Branch (branchNo, street, city, state, zip) PK: branchNo AK: street, city, zip FK: NONE BranchPhone (branchNo, telPhone) PK: telPhone AK: NONE FK: branchNo references Branch
19 Entity Type in E-R Model Staff staffNo... DOB workExperince: multi-value Composite (start, end, org, position) Store workExperince with staffNo in a new Table! WorkExperience staffNo start end org position PK? Could create a new PK attribute (workExpID) FK? Mapping Entity Type to Table Schema
20 Storing Work Experience Entity Type in E-R Model Staff staffNo... DOB workExperince: multi-value Composite (start, end, org, position) Table Schema (DBDL) Staff (staffNo,..., DOB) PK: staffNo AK: NONE FK: NONE WorkExperience(workExpID, staffNo, start, end, org, position) PK: workExpID AK: ? FK: staffNo references Staff
21 Design Methodology A structured approach that uses procedures, techniques, tools, and documentation aids to support and facilitate the process of design. Three main phases 1.Conceptual database design Understanding client data E-R (EER) Model Contract between clients and designers E-R Model could be used for any database system 2.Logical database design Mapping E-R Model to (relational) database schema Normalization 3.Physical database design
22 Mapping E-R Model to Relational database schema (DBDL) Branch (Bno, Street, City, State, Zipcode) PK: Bno AK: Street, City, Zipcode Phone FK: None BranchPhone (branchNo, telPhone) PK: branchNo, telPhone AK: NONE FK: branchNo references Branch Staff (Sno, firstName, lastName, Address, Bno ) PK: Sno AK: None FK: Bno references Branch WorkExperience(staffNo, start, end, org, position) PK: staffNo, start, org AK: NONE FK: staffNo references Staff No multi-value attributes, no composite attributes.
Assignment 4 Due Wednesday, Feb 20 23