Object Persistence Design Chapter 13 Slide 1 Power
Object Persistence Design Chapter 13 Slide 1 Power. Point Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
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. 2 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
OBJECT PERSISTENCE FORMATS Slide 3 Power. Point Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
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 4 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Other files Master files Transaction files Audit History Look-up 5 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Customer Order File Figure 13 -1 Goes Here 6 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
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 7 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
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 8 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Relational Database Example Figure 13 -3 Goes Here 9 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
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 10 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Selecting an Object Persistence Format 11 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
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? 12 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
MAPPING PROBLEM DOMAIN OBJECTS TO OBJECT PERSISTENCE FORMATS Slide 13 Power. Point Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
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 14 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Appointment System Problem Domain and Data Management Layers 15 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Factoring Out Multiple Inheritance Effect 16 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Mapping Problem Domain Objects to ORDBMS Schema -- Rules 17 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Mapping Problem Domain Objects to ORDBMS Schema -- Example 18 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
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 19 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Mapping Problem Domain Objects to RDBMS Schema -- Rules 20 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
OPTIMIZING RDBMS-BASED OBJECT STORAGE Slide 21 Power. Point Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Dimensions of Data Storage Optimization Storage efficiency (minimizing storage space) Speed of access (minimizing time to retrieve desired information) 22 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
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 23 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
The Steps of Normalization 24 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
First Normal Form (1 NF) 25 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Second Normal Form (2 NF) 26 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Third Normal Form (3 NF) 27 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Optimizing Access Speed Denormalization Clustering Intra-file Inter-file Indexing 28 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Payment Type Index 29 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
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 30 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
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 31 8 7 4 13 9 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 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
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. 34 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Expanding the Domain The Object Data Management Group is working on standardization of the OO database features. Check them out at: http: //www. odmg. org 35 Power. Point Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
- Slides: 35