The requirements for making the DBA??™s
involvement in application development a reality are described in Chapter 5. In designing an
application, you can take several steps to make effective and proper use of the available
technology, as described in the following sections.
Effective Table Design
No matter how well designed your database is, poor table design will lead to poor performance.
Not only that, but overly rigid adherence to relational table designs will lead to poor performance.
That is due to the fact that while fully relational table designs (said to be in the third normal form
or even fourth normal form) are logically desirable, they are usually physically undesirable in
anything but OLTP environments.
The problem with such designs is that although they accurately reflect the ways in which an
application??™s data is related to other data, they do not reflect the normal access paths that users will
employ to access that data. Once the user??™s access requirements are evaluated, the fully relational
table design will become unworkable for many large queries. Typically, the first problems will occur
with queries that return a large number of columns. These columns are usually scattered among
several tables, forcing the tables to be joined together during the query. If one of the joined tables
is large, the performance of the whole query may suffer.
In designing the tables for an application, developers should first develop the model in third
normal form and then consider denormalizing data to meet specific requirements??”for example,
creating small summary tables (or materialized views) from large, static tables.
Pages:
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406