Slide 1 Object Persistence Design Chapter 13 Alan Dennis, Barbara Wixom, and David Tegarden John...

Preview:

Citation preview

Slide 1

Object Persistence Design

Chapter 13

Alan Dennis, Barbara Wixom, and David Tegarden

John Wiley & Sons, Inc.

Slides by Fred NiedermanEdited by Solomon Negash

Slide 2

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 3

OBJECT PERSISTENCE FORMATS

Slide 4

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

Slide 5

Other files

Master filesTransaction filesAuditHistoryLook-up

Slide 6

Customer Order File

Figure 13-1 Goes Here

Slide 7

Relational Databases

Primary keyForeign keyReferential integrityStructured Query Language (SQL)TablesJoining tablesObjects must be converted so they can be stored in a table

Slide 8

Object-Relational Databases

Relational databases extended to handle the storage of objectsUse of user-defined data typesExtended SQLInheritance tends to be language dependent

Slide 9

Relational Database Example

Figure 13-3 Goes Here

Slide 10

Object-Oriented Databases

Two approachesAdding 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

Slide 11

Selecting an Object Persistence Format

Slide 12

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 13

MAPPING PROBLEM DOMAIN OBJECTS TO OBJECT PERSISTENCE FORMATS

Slide 14

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

Slide 15

Appointment System Problem Domain and Data Management

Layers

Slide 16

Factoring Out Multiple Inheritance Effect

Slide 17

Mapping Problem Domain Objects to ORDBMS Schema -- Rules

Slide 18

Mapping Problem Domain Objects to ORDBMS Schema -- Example

Slide 19

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

Slide 20

Mapping Problem Domain Objects to RDBMS Schema -- Rules

Slide 21

OPTIMIZING RDBMS-BASED OBJECT STORAGE

Slide 22

Dimensions of Data Storage Optimization

Storage efficiency (minimizing storage space)Speed of access (minimizing time to retrieve desired information)

Slide 23

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

Slide 24

The Steps of Normalization

Slide 25

First Normal Form (1NF)

Slide 26

Second Normal Form (2NF)

Slide 27

Third Normal Form (3NF)

Slide 28

Optimizing Access Speed

DenormalizationClustering

Intra-fileInter-file

Indexing

Slide 29

Payment Type Index

Slide 30

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

Slide 31

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

Slide 32

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.

Recommended