Oracle Design looks thoroughly at the field of Oracle relational database design. The design of both databases and applications is an often neglected area of Oracle, but one that has an enormous impact on the ultimate power and performance of a system. If the initial design is poor, then the most powerful hardware, the most sophisticated software tools, and the most highly tuned data and programs won't make your system run smoothly and efficiently. Indeed, applications that have been designed poorly will never be able to perform well, regardless of the tuning and retrofitting performed later on.
There are three main areas of Oracle design:
- The design of the specific database objects (e.g., tables, views, indexes, stored functions) that will be implemented in a database.
- The design of the screens, reports, and programs that will maintain the data and allow inquiries against it.
- Under certain circumstances, the design must also be concerned with the specific environment or technology (e.g., the network topology, the hardware configuration, and the use of a client/server, parallel processing, or distributed database architecture).
This book examines all aspects of database and code design. Part I examines the project life cycle and where design fits in that cycle; it shows a sample case study, identifies the areas of Oracle7 that are of particular interest to designers, takes a look ahead at Oracle8, and provides an in-depth discussion of data modeling (e.g., entities, relationships, attributes, entity models, function hierarchies). Part II describes design issues for the database itself -- denormalization, data types, keys, indexes, temporal data, import/export, backup, recovery, security, and more. Part III explores design issues for specific architectures and environments -- client/server, distributed database, data warehouses, and parallel processing. Part IV describes design issues for the code that accesses the database -- metrics and prototypes, locking, the toolset, design of screens, reports, batch programs, etc. Part V contains summary appendixes.
The table of contents follows:
Part I: Getting Started with Design
- 1. Introduction
- 2. Why is Design so Important for Oracle?
- 3. Data Modeling
Part II: Designing the Database
- 4. Deciding When to Denormalize
- 5. Choosing Data Types and NULLs
- 6. Choosing Keys and Indexes
- 7. Dealing with Temporal Data
- 8. Loading and Unloading Data
- 9. Deciding on Object Placement and Storage
- 10. Safeguarding Your Data
Part III: Designing for Specific Architectures
- 11. Designing for Client/Server
- 12. Designing Distributed Databases
- 13. Designing for Data Warehouse
- 14. Designing for Parallel Processing
Part IV: Designing the Code Modules
- 15. Introduction to Code Design
- 16. Determining Where to Locate the Processing
- 17. Metrics, Prototypes, and Specifications
- 18. Locking
- 19. Selecting the Toolset
- 20. Designing Screens, Reports, Batch Programs, Error Handling, and Help
Part V: Appendixes
- A. Off-the-Shelf Packages
- B. Tricks of the Trade