Object Persistence Design
Chapter 13
Alan Dennis, Barbara Wixom, and David
Tegarden
John Wiley & Sons, Inc.
Slides by Fred Niederman
Edited by Solomon Negash
Slide 1
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.
Slide 2
OBJECT PERSISTENCE
FORMATS
Slide 3
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
Slide 4
Other files
Master files
Transaction files
Audit
History
Look-up
Slide 5
Customer Order File
Figure 13-1 Goes Here
Slide 6
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
Slide 7
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
Slide 8
Relational Database Example
Figure 13-3 Goes Here
Slide 9
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
Slide 10
Selecting an Object
Persistence Format
Slide 11
Your Turn
A major university graduates about
10,000 students a year and the
development office wants to build a
web-based system to solicit and
track donations.
What are the pros and cons of
each data storage format for this
sort of application?
Slide 12
MAPPING PROBLEM DOMAIN
OBJECTS TO OBJECT
PERSISTENCE FORMATS
Slide 13
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
Slide 14
Appointment System Problem
Domain and Data Management
Layers
Slide 15
Factoring Out Multiple Inheritance
Effect
Slide 16
Mapping Problem Domain Objects to
ORDBMS Schema -- Rules
Slide 17
Mapping Problem Domain Objects to
ORDBMS Schema -- Example
Slide 18
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
Slide 19
Mapping Problem Domain Objects to
RDBMS Schema -- Rules
Slide 20
OPTIMIZING RDBMS-BASED
OBJECT STORAGE
Slide 21
Dimensions of Data
Storage Optimization
Storage efficiency (minimizing
storage space)
Speed of access (minimizing
time to retrieve desired
information)
Slide 22
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
Slide 23
The Steps of Normalization
Slide 24
First Normal Form (1NF)
Slide 25
Second Normal Form
(2NF)
Slide 26
Third Normal Form (3NF)
Slide 27
Optimizing Access Speed
Denormalization
Clustering
Intra-file
Inter-file
Indexing
Slide 28
Payment Type Index
Slide 29
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
Slide 30
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
Slide 31
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.
Slide 32
Descargar

Systems Analysis and Design Allen Dennis and Barbara …