About the Book
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 Design1. Introduction 2. Why is Design so Important for Oracle? 3. Data Modeling
Part II: Designing the Database4. 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 Architectures11. Designing for Client/Server 12. Designing Distributed Databases 13. Designing for Data Warehouse 14. Designing for Parallel Processing
Part IV: Designing the Code Modules15. 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: AppendixesA. Off-the-Shelf Packages B. Tricks of the Trade
About the Author: Dave Ensor is manager of Worldwide Solutions, PATROL R&D, with BMC Software where his roles are to assist customers in their use of both BMC's PATROL product and the Oracle Server, and to feed the results of his field work back into product planning. He has more than 30 years of IT experience and has been involved with the design and performance issues surrounding Oracle since 1987. For many years he led Oracle Worldwide's Performance Studies Group based in the UK, which provided consultancy support to both customer and internal projects with critical performance requirements. Dave is well known as a speaker on performance management and design; he presents his papers at user conferences and writes and delivers one-day seminars. He lives in the UK just outside London, but spends much of the year traveling to user sites and meetings. In his spare time he also travels, but in this case without his laptop and with his wife. He can be reached at dave_ensor@compuserve.com. Ian Stevenson is a freelance consultant specializing in database design and development. He has worked with database technology for 19 years, starting with early hierarchical models. He worked for Oracle (UK) for two years in post-sales support and Human Resources Development. This is where he formed his friendship with Dave Ensor. Ian has a first-class honors degree in mathematics from the University of Southampton and is a member of the British Computer Society. He is married to Brenda and has two children, Todd and Tara. He is a fanatic supporter of the Southampton football club. He can be contacted via ian@westmail.demon.co.uk.
Ian Stevenson is a freelance consultant specializing in database design and development. He has worked with database technology for 19 years, starting with early hierarchical models. He worked for Oracle (UK) for two years in post-sales support and Human Resources Development. This is where he formed his friendship with Dave Ensor. Ian has a first-class honors degree in mathematics from the University of Southampton and is a member of the British Computer Society. He is married to Brenda and has two children, Todd and Tara. He is a fanatic supporter of the Southampton football club. He can be contacted via ian@westmail.demon.co.uk.