Object Persistence Design Chapter 13
Jan 02, 2016
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 AccessData stored in order based on a particular attribute Typically efficient for reports using all or most of the file’s data
Random AccessData stored in unordered fashionTypically efficient for finding individual records
Other files
Master filesTransaction filesAuditHistoryLook-up
Customer Order File
Figure 13-1 Goes Here
Relational Databases
Primary keyForeign keyReferential integrityStructured Query Language (SQL)TablesJoining tablesObjects must be converted so they can be stored in a table
Object-Relational Databases
Relational databases extended to handle the storage of objectsUse of user-defined data typesExtended SQLInheritance tends to be language dependent
Relational Database Example
Figure 13-3 Goes Here
Object-Oriented DatabasesTwo approaches
Adding persistence extensions to OO languagesSeparate 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 keysUnless 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 layerThe 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 dataLimit 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
DenormalizationClustering
Intra-fileInter-file
Indexing
Payment Type Index
Guidelines for Creating Indexes
Use indexes sparingly for transaction systemsUse many indexes to increase response times in decision support systemsFor each table
Create a unique index based on the primary keyCreate 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 8Date 7Cust ID 4Last name 13First name 9State 2Amount 4Tax rate 2Record Size 49Overhead (30%) 14.7Total Record Size 63.7
Initial Table Size 50,000Initial Table Volume 3,185,000
Growth/Month 1,000Table volume @ 3 years 5,478,200
SummaryThere 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 environmentOnce the format has been selected, data storage needs to be optimized for efficiency and speed of access.