1 / 32

Object Persistence Design Chapter 13

Object Persistence Design Chapter 13. Alan Dennis, Barbara Wixom, and David Tegarden John Wiley & Sons, Inc. Slides by Fred Niederman Edited by Solomon Negash. Key Definitions. Object persistence involves the selection of a storage format and optimization for performance.

keiji
Télécharger la présentation

Object Persistence Design Chapter 13

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Object Persistence Design Chapter 13 Alan Dennis, Barbara Wixom, and David Tegarden John Wiley & Sons, Inc. Slides by Fred Niederman Edited by Solomon Negash

  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.

  3. OBJECT PERSISTENCE FORMATS

  4. 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

  5. Other files • Master files • Transaction files • Audit • History • Look-up

  6. Customer Order File Figure 13-1 Goes Here

  7. 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 Relational Databases

  8. Relational databases extended to handle the storage of objects Use of user-defined data types Extended SQL Inheritance tends to be language dependent Object-Relational Databases

  9. Relational Database Example Figure 13-3 Goes Here

  10. 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 Object-Oriented Databases

  11. Selecting an Object Persistence Format

  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?

  13. MAPPING PROBLEM DOMAIN OBJECTS TO OBJECT PERSISTENCE FORMATS

  14. Initial Points to Consider • Adding primary and foreign keys • Unless they add too much overhead • Data management functionality only in classes at datamanagement layer • May add overhead, but aids in portability and reuse

  15. Appointment System Problem Domain and Data Management Layers

  16. Factoring Out Multiple Inheritance Effect

  17. Mapping Problem Domain Objects to ORDBMS Schema -- Rules

  18. Mapping Problem Domain Objects to ORDBMS Schema -- Example

  19. 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 Maintain a Clean Problem Domain Layer

  20. Mapping Problem Domain Objects to RDBMS Schema -- Rules

  21. OPTIMIZING RDBMS-BASED OBJECT STORAGE

  22. Dimensions of Data Storage Optimization • Storage efficiency (minimizing storage space) • Speed of access (minimizing time to retrieve desired information)

  23. 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

  24. The Steps of Normalization

  25. First Normal Form (1NF)

  26. Second Normal Form (2NF)

  27. Third Normal Form (3NF)

  28. Denormalization Clustering Intra-file Inter-file Indexing Optimizing Access Speed

  29. Payment Type Index

  30. 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

  31. Estimating Data Storage Size Field Average Size (Characters) Order number 8 Date 7 Cust ID 4 Last name 13 First name 9 State 2 Amount 4 Tax rate 2 Record Size 49 Overhead (30%) 14.7 Total Record Size 63.7 Initial Table Size 50,000 Initial Table Volume 3,185,000 Growth/Month 1,000 Table volume @ 3 years 5,478,200

  32. 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.

More Related