26
Chapter 6 Physical Database Design

Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Embed Size (px)

Citation preview

Page 1: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Chapter 6

Physical Database Design

Page 2: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Introduction

• The purpose of physical database design is to translate the logical description of data into the technical specifications for storing and retrieving data.

• The goal is to create a design for storing data that will provide adequate performance and insure database integrity, security and recoverability.

Page 3: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Inputs to Physical Design

• Normalized relations.• Volume estimates.• Attribute definitions.• Data usage: entered, retrieved, deleted, updated.• Response time requirements.• Requirements for security, backup, recovery,

retention, integrity.

• DBMS characteristics.

Page 4: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Physical Design Decisions

• Specifying attribute data types.

• Modifying the logical design.

• Specifying the file organization.

• Choosing indexes.

Page 5: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Designing Fields

• Choosing data type.

• Coding, compression, encryption.

• Controlling data integrity.– Default value.– Range control.– Null value control.– Referential integrity.

Page 6: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Example of Data Dictionary (for team deliverable)

Attribute Table Null? Unique? Pkey? Fkey? Ref table Domain

CID College N Y Y N NA

4 digit integer greater than 1000

Office College Y N N N NA

character string length 10

DID Dept N Y Y N NA

4 digit integer greater than 1000

Location Dept Y N N N NA

character string length 65

CID Dept Y N N Y College

4 digit integer greater than 1000

Page 7: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Example code-look-up table (Pine Valley Furniture Company)

Page 8: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Composite usage map (Pine Valley Furniture Company)

Page 9: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Designing Fields

• Handling missing data.– Substitute an estimate of the missing value.– Trigger a report listing missing values.– In programs, ignore missing data unless the

value is significant.

Page 10: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Designing Physical Files

• Physical File: A file as stored on the disk.• Constructs to link two pieces of data:

– Sequential storage.– Pointers.

• File Organization: How the files are arranged on the disk.

• Access Method: How the data can be retrieved based on the file organization

Page 11: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Creating IndexesConsider this table:EMPLOYEE(E_ID, Name, Salary_Grade, Phone)Where E_ID is the primary keyAnd the domain for Salary_Grade is 1, 2, 3 or 4.

E_ID Name Salary_Grade Phone333 Smith 1 6377444 Sanghani 2 6301336 Gomez 3 6302432 Dumas 1 6377

Page 12: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Rules for Using Indexes

1. Use on larger tables.

2. Index the primary key of each table.

3. Index search fields.

4. Fields in WHERE clause of SQL commands.

5. When there are >100 values but not when there are <30 values.

Page 13: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Rules for Using Indexes

6. DBMS may have limit on number of indexes per table and number of bytes per indexed field(s).

7. Null values will not be referenced from an index.

8. Use indexes heavily for non-volatile databases; limit the use of indexes for volatile databases.

Page 14: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Physical Design Decisions• Denormalization• Partitioning• Selection of File Organization• Clustering Files• Placement of Indexes• Derived Columns• Repeating Groups Across Columns

– e.g., skill attribute

Page 15: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Denormalization

• One-to-one relationship. Fig. 6-3 (former 7-3)• STUDENT and APPLICATION become a single relation

STUDENT

• Many-to-many relationship. Fig. 6-4 (former 7-4)• Initial logical design suggests a need for 3 entities• Physical design suggests collapsing ITEM and PRICE_QUOTE

into a single relation ITEM_QUOTE• Small amount of data duplication in Description field

• One-to-many relationship. (next slide)• Initial logical design suggests 2 relations• STORAGE relation is combined into ITEM relation yielding a

single relation ITEM containing some redundant data in Description field.

Page 16: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

A possible denormalization situation: reference data

Page 17: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Partitioning

• Horizontal Partitioning: Distributing the rows of a table into several separate files.

• Vertical Partitioning: Distributing the columns of a table into several separate files.– The primary key must be repeated in each file.

Page 18: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Partitioning

• Advantages of Partitioning:– Records used together are grouped together.

– Each partition can be optimized for performance.

– Security, recovery.

– Partitions stored on different disks: contention.

– Take advantage of parallel processing capability.

• Disadvantages of Partitioning:– Slow retrievals across partitions.

– Complexity.

Page 19: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Designing Physical Files

• Physical file: a named portion of secondary memory (tape, hard disk, etc) allocated for the purpose of storing physical records.

• Logical versus physical:– Biblio.MDB – physical file containing a MS

Access database– Authors.MDB is composed of tables, or logical

files – Author, Title, Title_Author, Publisher

Page 20: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Physical File Organization

• Sequential files– Similar to alphabetical listing in the white pages, or cassette

tape

• Indexed– A table (index) is created to determine the location of rows in

a file that satisfy some condition– Secondary key: a field or combination of fields used in the

condition of a WHERE clause• eg, state, zip code

• Hashed: the address of each record is determined using an algorithm that converts a primary key into a physical record address

Page 21: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Rules for Adding Derived Columns

• Use when aggregate values are regularly retrieved.

• Use when aggregate values are costly to calculate.

• Permit updating only of source data.

• Create triggers to cascade changes from source data.

Page 22: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Rules for Storing Repeating Groups Across Columns

• Consider storing repeating groups across columns rather than down rows when:– The repeating group has a fixed number of

occurrences, each of which has a different meaning or

– The entire repeating group is normally accessed and updated as one unit.

Page 23: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Rules for Storing Repeating Groups Across Columns

EMPLOYEE Phone

Design Option:EMPLOYEE(EmpID, EmpName, …)EMP_PHONE(EmpID, Phone)

Another Design Option:EMPLOYEE(EmpID, EmpName, Phone1, Phone2, …)

Page 24: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

Selection of a Primary Key

• Consider contriving a shorter field or selecting another candidate key to substitute for a long, multi-field primary key (and all associated foreign keys.)– System-generated non-information-carrying

key– Versus– Primary key like Phone number

Page 25: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

RAID with four disks and striping

R RedundantA Arrays ofI InexpensiveD Disks

Page 26: Chapter 6 Physical Database Design. Introduction The purpose of physical database design is to translate the logical description of data into the technical

RAID

• A set of physical disks that appear to the db user/programs as if they are one large logical storage unit.

• Striping: balances the workload by storing sequential files across several disks; can then access them sequentially more rapidly

• Risk: a disk drive failure– Solution: redundant data stores