Systems Analysis and Design Allen Dennis and Barbara Haley Text

Download Report

Transcript Systems Analysis and Design Allen Dennis and Barbara Haley Text

Object Persistence Design
Chapter 13
Key Definitions
Object persistence involves the
selection of a storage format
and optimization for
performance.
Four basic formats used for
object persistence are: files, OO
databases, object-relational,
and relational databases.
OBJECT PERSISTENCE
FORMATS
Files
Sequential Access
Data stored in order based on a
particular attribute
Typically efficient for reports using all
or most of the file’s data
Random Access
Data stored in unordered fashion
Typically efficient for finding individual
records
Other files
Master files
Transaction files
Audit
History
Look-up
Customer Order File
Figure 13-1 Goes Here
Relational Databases
Primary key
Foreign key
Referential integrity
Structured Query Language (SQL)
Tables
Joining tables
Objects must be converted so they
can be stored in a table
Object-Relational Databases
Relational databases extended to
handle the storage of objects
Use of user-defined data types
Extended SQL
Inheritance tends to be language
dependent
Relational Database Example
Figure 13-3 Goes Here
Object-Oriented Databases
Two approaches
Adding persistence extensions to OO
languages
Separate database management systems
 Extents
 Object ID assigned
 Some inheritance
 Repeating groups or multivalued
attributes
 Mainly support multimedia
applications
 Sharp learning curve
Selecting an Object
Persistence Format
MAPPING PROBLEM DOMAIN
OBJECTS TO OBJECT
PERSISTENCE FORMATS
Initial Points to Consider
Adding primary and foreign keys
Unless they add too much
overhead
Data management functionality only
in classes at data management
layer
May add overhead, but aids in
portability and reuse
Appointment System Problem
Domain and Data Management
Layers
Factoring Out Multiple Inheritance
Effect
Mapping Problem Domain Objects to
ORDBMS Schema -- Rules
Mapping Problem Domain Objects to
ORDBMS Schema -- Example
Maintain a Clean Problem
Domain Layer
Modifying the problem domain layer can
create problems between the system
architecture and human computer
interface layer
The development and production costs of
OODBMS may offset the production cost
of having the data management layer
implemented in ORDBMS
Mapping Problem Domain Objects to
RDBMS Schema -- Rules
OPTIMIZING RDBMS-BASED
OBJECT STORAGE
Dimensions of Data
Storage Optimization
Storage efficiency (minimizing
storage space)
Speed of access (minimizing
time to retrieve desired
information)
Optimizing Storage Efficiency
Reduce redundant data
Limit null values
Multiple possible interpretations
can lead to mistakes
A well-formed logical data model
does not contain redundancy or
many null values
The Steps of Normalization
First Normal Form (1NF)
Second Normal Form
(2NF)
Third Normal Form (3NF)
Optimizing Access Speed
Denormalization
Clustering
Intra-file
Inter-file
Indexing
Payment Type Index
Guidelines for Creating
Indexes
Use indexes sparingly for transaction
systems
Use many indexes to increase response
times in decision support systems
For each table
Create a unique index based on the primary
key
Create an index based on the foreign key
Create an index for fields used frequently for
grouping, sorting, or criteria
Estimating Data Storage
Size
Field
Average Size (Characters)
Order number
Date
Cust ID
Last name
First name
State
Amount
Tax rate
Record Size
Overhead (30%)
Total Record Size
8
7
4
13
9
2
4
2
49
14.7
63.7
Initial Table Size
Initial Table Volume
Growth/Month
Table volume @
3 years
50,000
3,185,000
1,000
5,478,200
Summary
There are four basic types of object persistence
formats: files (sequential and random access),
object-oriented databases, object-relational
databases, and relational databases.
Tradeoffs between the formats make it
necessary to consider which to apply in each
environment
Once the format has been selected, data
storage needs to be optimized for efficiency and
speed of access.