Hermit's Free Library Database
Four design rules and three tests that result in a proper relational database design every time.
A database's structure must reflect the natural organization of the information it contains in the real world, independently of software.
Database structure is created by key fields which create the relationships between different groups (tables) of data. Tables and relationships are what organize the information.
A primary key is the key field which uniquely identifies all the other elements with which it is associated. A primary key must have a one-to-one relationship to all of the elements with which it is associated.
See how in the following example a DIRECTOR'S NAME would be repeated for all EMPLOYEES with an identical DEPARTMENT CODE.
To correct the problem, remove the repeating field(s) to a separate table:
If not, it is partial dependence. In the following table, see how CLIENT NAME should only be dependent upon CLIENT ID and not ORDER NUMBER.
To correct partial independence, place the offending field in a separate database with the key upon which it is wholly dependent:
Otherwise, it is transitive dependence, which is when one field in a table depends on another field, which also depends on the primary key. The resulit of transitive dependence is redundancy.
In the example below, the Completion Date field depends on the Task ID field and both depend on the primary key, Employee ID. This means the contents of the Completion Date field will be repeated needlessly.
To correct transitive dependence, remove the field with transitive dependency (Completion Date) and place it and it's primary key (Task ID) in their own table. Then link the tables using their common key field (Task ID).