Database Reference
In-Depth Information
3NF requires the removal of hidden dependencies. A hidden dependency is when a prop-
erty of an entity depends upon one or more other properties in that same entity instead of
directly on that entity's primary key. Each attribute must be directly dependent on only the
primary key and not directly dependent on any other attributes within the same entity.
For example, assume an
Order
is identified by an
Order Number
. Within
Order
, there
are many attributes, including
Order Scheduled Delivery Date
,
Order Actual Delivery
Date
, and
Order On Time Indicator
.
Order On Time Indicator
contains either a
Yes
or
a
No
, providing a fact about whether the
Order Actual Delivery Date
is less than or equal
to the
Order Scheduled Delivery Date
.
Order On Time Indicator
, therefore, provides a
fact about
Order Actual Delivery Date
and
Order Scheduled Delivery Date
, not direc-
tly about
Order Number
.
Order Delivered On Time Indicator
has a hidden dependency
therefore, that must be addressed to put the model into 3NF.
The data model is a communication tool. The relational logical data model communicates
which attributes are facts about the primary key and only the primary key. Hidden depend-