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