Progress
Database Design
Guide


Physical Database Design

The physical database design is a refinement of the logical design. In this phase, you examine how the user will access the database. During this phase you determine:

It is possible that at this stage you denormalize the database to meet performance requirements. Denormalizing a database means that you re-introduce redundancy into your database in order to meet processing requirements.

Let’s look at an example of when you might consider denormalizing a database. In "Table Relationships and Normalization," you looked at the Order table, which is shown here again in Table 3–1.

Table 3–1: Order Table with Derived Column 
Order Number
(Primary Key)
Order
Date
Order Amount
Total After
Tax
Cust Num
(Foreign Key)
M31
3/19/91
$400.87
$441.74
101
M98
8/13/91
$3,000.90
$3,300.99
101
M129
2/9/91
$919.45
$1,011.39
101
M56
5/14/90
$1,000.50
$1,100.55
102
M37
12/25/90
$299.89
$329.87
103
M140
3/15/91
$299.89
$329.87
103
M41
4/2/90
$2,300.56
$2,530.61
104

To reduce the table to third normal form, you eliminated the Total After Tax column because it contains data that can be derived. However, now you look at data access requirements. Although you can construct the Total After Tax value, your customer service representatives need this information immediately. Since this is an item of information that is constantly used, you don’t want to have to calculate it each time you need it. If you keep it in the database, it is available on request. In this instance, the performance outweighs other considerations.


Copyright © 2004 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095