31271 Lecture Notes - Lecture 5: Electrical Contacts, Foreign Key, Data Redundancy
Lecture 5: Normalization I
Terms for Normalisation
Functional Dependencies
• A functional dependency is a constraint between two attributes in which the
value of one attribute (dependent) is determined by the value of another
attribute (determinant).
Keys
• A super-key is a set of attributes within a table whose values can be used to
uniquely identify a row in the relation.
• A candidate key is an attributes or minimal set of attributes, that uniquely
identifies a row in a relation. One of the candidate keys will become the primary
key.
o The candidate keys of a relation can be defined using the functional
dependencies of the relation.
• A primary key is a unique identifier which cannot contain null values.
Attribute Closure
• If A is an attributes, the set of attributes in a relation that are functionally
dependent on A is called the Attributes Closure of A, and it can be represented
by A+
• To find the attribute closure of A, add A to the attributes closure set, and
recursively add attributes which can be functionally determined from attributes
of the set A+ until done.
find more resources at oneclass.com
find more resources at oneclass.com
Partial Functional Dependencies
• A partial functional dependency, is a dependency in which one or more non-key
attributes are functionally dependent on part (but not all) of the primary key
Transitive Functional Dependencies
• A transitive functional dependency is a dependency between the primary key
and one or more non-key attributes that are dependent on the primary key via
another non-key attribute.
find more resources at oneclass.com
find more resources at oneclass.com
Document Summary
Functional dependencies: a functional dependency is a constraint between two attributes in which the value of one attribute (dependent) is determined by the value of another attribute (determinant). One of the candidate keys will become the primary key: the candidate keys of a relation can be defined using the functional dependencies of the relation, a primary key is a unique identifier which cannot contain null values. Partial functional dependencies: a partial functional dependency, is a dependency in which one or more non-key attributes are functionally dependent on part (but not all) of the primary key. Transitive functional dependencies: a transitive functional dependency is a dependency between the primary key and one or more non-key attributes that are dependent on the primary key via another non-key attribute. Data normalization: primarily, it is a tool to validate and improve a logical design, so that it satisfies certain constraints that avoid unnecessary duplication of data.