Download presentation
Presentation is loading. Please wait.
Published byHarry Richards Modified over 9 years ago
1
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
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
3 How to maintain relationships? Foreign Key Primary key of another relation (table) Representing relationship between two relations (tables)
4
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
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
6 Mapping Strong Entities to Relation (Table) Schemas Replacing composite attributes with simple attributes Adding new tables to remove multi- value attributes
7
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
8 Composite Attributes staffNoNameAddress... SL21John White1 main street, Platteville, WI 53818 SG37Ann Beech15 University Dr, Madison, WI 53706 SA9Mary Howe908 Western avenue, Dubuque, IA 52001-1234 Search on state or zip code
9
9 Simple Attributes staffNofirstNamelastNameStreetCityStatezip SL21JohnWhite1 main streetPlattevilleWI53818 SG37AnnBeech15 University DrMadisonWI53706 SA9MaryHowe908 Western avenue DubuqueIA52001 -1234 Search on state or zip code
10
10 Removing Multi-Value Attributes No multi-value attributes in relational databases First Order Logic No sets as set elements
11
11 Multi-Value Attributes branchNostreetcitystatezipCodetelNo B0011 main street PlattevilleWI53818608-348-1234 608-348-3345 B00215 university drive MadisonWI53706608-255-3034 608-255-1023 877-323-5678 ………………
12
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
13 Each Branch Has at Most Three Phone Numbers branchNostreet...phone1phone2phone3 B0011 main street 608-348-1234608-348-3345 B00215 university drive 608-255-3034608-255-1023877-323-5678 ……………
14
14 Home Phone, WorkPhone and Cell Phone staffNostreet...homePhoneworkPhonecellPhone SL211 main street 608-348-1234608-348-3345 SG3715 university drive 608-255-3034608-255-1023877-323-5678 SA79……608-255-3847
15
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
16 Replacing Multi-Value Attributes branchNo...telNo B001608-348-1234 608-348-3345 B002608-255-3034 608-255-1023 877-323-5678 ……… branchNoStreetCityStatezipCode B001 B002 … branchNotelNo B001608-348-1234 B001608-348-3345 B002608-255-3034 B002608-255-1023 B002877-323-5678 …… One table two tables Multi-Value attribute multiple records Primary Key Foreign Key
17
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
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
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
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
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
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.
23
Assignment 4 Due Wednesday, Feb 20 23
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.