Chapter 14
Chapter 14
Purpose of Normalization
Definition: A technique for producing a set of relations with desirable properties,
given the data requirements of an enterprise.
Purpose: to identify suitable set of relation that support data requirements and
those requirements are following
The minimal number of attributes are necessary to support data requirements
Attributes with close logical relationship (functional dependency) are found in
same table
Functional dependency: a functional dependency is a relationship between two
sets of attributes in a relation (table). It describes the dependency of one set of
attributes on another set. More specifically, if we have a relation with attributes A
and B, we say that B is functionally dependent on A if, for every unique
combination of values in A
Minimal redundancy: No duplication of values in table, the information in an
attribute must be repeated first. there's an exception to the rule of not repeating
information. If some information is crucial for connecting or "joining" different
tables, it's okay to include it more than once. This means that the information
that's repeated (the exception mentioned earlier) is crucial for connecting or
linking different tables that are related to each other
How normalization supports data base
Normalization is a formal technique that can be used at any stage of database
design Approach 1 shows how normalization can be used as a bottom-up
standalone database design technique, and Approach 2 shows how normalization
can be used as a validation technique to check the structure of relations which
may have been created using a top-down approach such as ER modeling. No
matter which approach is used, the goal is the same; creating a set of well-
designed relations that meet the data requirements of the enterprise.
User’s requirement specification is the preferred data resource. it is possible to
design a database based on the information taken directly from other data
sources, such as forms and reports
For example, if you have a table with a composite primary key (A, B), and
attribute C is fully functionally dependent on (A, B), it means the value of C is
uniquely determined by both A and B together. If you were to remove either A or
B from the primary key, C would no longer be uniquely determined, and the
dependency would not hold as a fully functional dependency. Fully functional
dependencies are important in the process of normalizing a database to reduce
redundancy and improve data integrity.
Characteristics of normalization
1: In a functional dependency, there's a one-to-one relationship from the left-side
attributes (determinant) to the right-side attributes. This means each unique
value on the left uniquely determines one value on the right. However, the
reverse relationship (from right to left) can be one-to-one or one-to-many,
meaning one value on the right might correspond to one or multiple values on the
left.
2: They hold for all time.
3: The determinant has the minimal number of attributes necessary to maintain
the dependency with the attribute(s) on the right-hand side. In other words, there
must be a full functional dependency between the attribute(s) on the left-hand
and right-hand sides of the dependency.
Transitive dependency
A condition where A, B, and C are attributes of a relation such that if A ® C and B
relation C, then C is transitively dependent on A via " (provided that A is not
functionally dependent on " or C).