Professional Documents
Culture Documents
LDM1 LDM2 LDM3 LDM4 LDM5 LDM6 LDM7 LDM8 LDM9 Identify Major Entities Determine Relationships Between Entities Determine Primary and Alternate Keys Determine Foreign Keys Determine Key Business Rules Add Remaining Attributes Validate Normalization Rules Determine Domains Determine Other Attribute Business Rules (Triggering Operations) LDM10: Combine User Views LDM11: Integrate With Existing Data Models LDM12: Analyze for Stability and Growth : : : : : : : : :
Normalization
Normalization
Logical database design is concerned with grouping the attributes identified during requirements analysis into relevant entities. It can be shown that certain rules must be followed if the data is to have desirable maintenance properties. These rules are based on the theory of NORMALIZATION.
Normalization
Normalization is the process of deriving or checking a relational model. Data gathered but not formed into relations is termed unnormalized. The process of normalization progressively refines the data in a three stage process, corresponding to: First Normal Form 1NF Second Normal Form 2NF Third Normal Form 3NF
Normal Forms
Normalization
The rules for this process are explicit but an understanding of the organization s business rules is imperative. 1NF all repeating groups of attributes removed 2NF in 1NF, and each non-key attribute depends on the entire key (remove partial dependencies) 3NF in 2NF, and each non-key attribute depends only on the key (remove transitive dependencies)
Normalization Example
Unnormalized:
PRESCRIPTION (pres_num, pres_date, pat_name, pat_address, doc_name, drug_name, drug_quant, issue_status, drug_name, drug_quant, issue_status, )
Normalization Example
First Normal Form:
PRESCRIPTION (pres_num, pres_date, pat_name, pat_address, doc_name) PRESCRIBED_DRUG (pres_num, drug_name, drug_quant, issue_status) Business rule establishes that issue_status (e.g. free to pensioners ) is always the same for given drug, so that:
Normalization Example
Second Normal Form:
PRESCRIPTION (pres_num, pres_date, pat_name, pat_address, doc_name) PRESCRIBED_DRUG (pres_num, drug_name, drug_quant) DRUG (drug_name, issue_status) But patient address is dependent on patient name, so that:
RDD5
Design for Business Rules about Relationships
RDD10
Add Indexes - Tune by Adding Indexes