OOSAD Chapter 11

Download Report

Transcript OOSAD Chapter 11

Chapter 11:
Physical Database Design
Object-Oriented Systems Analysis and
Design
Joey F. George, Dinesh Batra,
Joseph S. Valacich, Jeffrey A. Hoffer
© Prentice Hall, 2004
11-1
Chapter Objectives

After studying this chapter you should
be able to:
– Design database fields.
– Evaluate denormalization situations.
– Design file organization structures.
– Design object-relational features.
Chapter 11
© Prentice Hall, 2004
11-2
Chapter 11
© Prentice Hall, 2004
11-3
What Is Physical Database
Design?

The part of a database design that deals with
efficiency considerations for access of data

Processing speed, storage space, and data
manipulation are key issues in physical
database design
Chapter 11
© Prentice Hall, 2004
11-4
Sometimes, the analyst and the
designer are the same person,
Deliverables
Chapter 11
© Prentice Hall, 2004
11-5
Chapter 11
© Prentice Hall, 2004
11-6
What Is SQL?

Structured Query Language

The standard language for creating and
using relational databases

ANSI Standards
– SQL-92 – most commonly available
– SQL-99 – included object-relational features
Chapter 11
© Prentice Hall, 2004
11-7
Common SQL Commands

CREATE TABLE – used to define table structures and link
tables together

SELECT – used to retrieve data using specified formats
and selection criteria

INSERT – used to add new rows to a table

UPDATE – used to modify data in existing table rows

DELETE – used to remove rows from tables
Chapter 11
© Prentice Hall, 2004
11-8
Example CREATE TABLE
Statements
Here, a table called DEPT is created, with
one numeric and two text fields.
The numeric field is the primary key.
Chapter 11
© Prentice Hall, 2004
11-9
SELECT
The SELECT, and FROM clauses are required.
All others are optional.
WHERE is used very commonly.
Chapter 11
© Prentice Hall, 2004
11-10
Example SELECT Statements

Select * from EMP where ENAME =
‘SMITH’;

Select EMPNO, ENAME From EMP where
JOB = ‘SALESMAN’ order by ENAME;
Chapter 11
© Prentice Hall, 2004
11-11
What Is a Join Query?

A query in which the WHERE clause
includes a match of primary key and foreign
key values between tables that share a
relationship

Select EMPNO, ENAME, DNAME from
EMP, DEPT where EMP.DEPT_NO =
DEPT.DEPT_NO;
Chapter 11
© Prentice Hall, 2004
11-12
Example Data Manipulation
Commands

Insert into DEPT values (50, ‘DESIGN’,
‘MIAMI’);

Update EMP set SAL = 3000 where
EMPNO = 7698;

Delete from EMP where EMPNO = 7844
Chapter 11
© Prentice Hall, 2004
11-13
Designing Fields

Field – the smallest unit of named application
data recognized by system software such as a
DBMS

Fields map roughly onto attributes in
conceptual data models

Field design involves consideration of identity,
data types, sizes, and constraints
Chapter 11
© Prentice Hall, 2004
11-14
Chapter 11
© Prentice Hall, 2004
11-15
Mapping a composite attribute onto multiple fields
with various data types
Chapter 11
© Prentice Hall, 2004
11-16
Creating and Using Composite
Attribute Types
Chapter 11
© Prentice Hall, 2004
11-17
Data Integrity Controls





Default Values – used if no explicit value is
entered
Format Controls – restricts data entry values in
specific character positions
Range Controls – forces values to be among an
acceptable set of values
Referential Integrity – forces foreign keys to align
with primary keys
Null Value Controls – determines whether fields
can be empty of value
Chapter 11
© Prentice Hall, 2004
11-18
Chapter 11
© Prentice Hall, 2004
11-19
What Is Denormalization?

The process of combining normalized
relations into physical tables based on
affinity of use of rows and fields, and on
retrieval and update frequencies on the
tables

Results in better speed of access, but
reduces data integrity and increases data
redundancy
Chapter 11
© Prentice Hall, 2004
11-20
This will result in null values in several rows’ application data.
Chapter 11
© Prentice Hall, 2004
11-21
Chapter 11
© Prentice Hall, 2004
11-22
This will result in duplications of item descriptions in several
rows of the CanSupplyDR table.
Chapter 11
© Prentice Hall, 2004
11-23
Duplicate regionManager data
Chapter 11
© Prentice Hall, 2004
11-24
What Is a File Organization?

A technique for physically arranging the
row objects of a file

Main purpose of file organization is to
optimize speed of data access and
modification
Chapter 11
© Prentice Hall, 2004
11-25
Chapter 11
© Prentice Hall, 2004
11-26
Determining Table Scan Time

A table scan is a complete read of the file block by
block, regardless of the number of row objects in
the answer to a query

Block – a unit of data retrieval from secondary
storage

Blocking factor – the number of row objects that
fit in one block
Chapter 11
© Prentice Hall, 2004
11-27
Determining Table Scan Time
(Continued)

Block read time is determined by seek,
rotation and transfer.

Average table scan time equals #rows in
table divided by blocking factor multiplied
by block read time
Chapter 11
© Prentice Hall, 2004
11-28
What Is a Heap?

A file with no organization

Requires full table scan for data retrieval

Only use this for small, cacheable tables
Chapter 11
© Prentice Hall, 2004
11-29
What Is Hashing?

A technique that uses an algorithm to
convert a key value to a row address

Useful for random access, but not for
sequential access
Chapter 11
© Prentice Hall, 2004
11-30
What Is an Indexed File
Organization?

A storage structure involving indexes, which are
key values and pointers to row addresses

Indexed file organizations are structured to enable
fast random and sequential access

Index files are fast for queries, but require
additional overhead for inserts, deletes, and
updates
Chapter 11
© Prentice Hall, 2004
11-31
Random Access Processing Using B+ Tree Indexes
Indexes are usually implemented as B+ trees
These are balanced trees, which preserve a sequential ascending
order of items as they are added.
Chapter 11
© Prentice Hall, 2004
11-32
Issues to Consider When
Selecting a File Organization

File size
 Frequency of data retrievals
 Frequency of updates
 Factors related to primary and foreign keys
 Factors related to non-key attributes
Chapter 11
© Prentice Hall, 2004
11-33
Chapter 11
© Prentice Hall, 2004
11-34
Recap

After studying this chapter we learned to:
– Design database fields.
– Evaluate denormalization situations.
– Design file organization structures.
– Design object-relational features.
Chapter 11
© Prentice Hall, 2004
11-35