Object Persistence Design Chapter 13. Key Definitions Object persistence involves the selection of a...

Post on 02-Jan-2016

217 views 1 download

Tags:

Transcript of Object Persistence Design Chapter 13. Key Definitions Object persistence involves the selection of a...

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.