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
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
19. Selecting the Toolset
20. Designing Screens, Reports, Batch Programs, Error Handling, and Help