slide 1 object persistence design chapter 13 alan dennis, barbara wixom, and david tegarden john...
TRANSCRIPT
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.