definition |
Organising data into tables so that the results of using the database are always unambiguous
and as intended. Normalisation is typically a refinement process after the initial
exercise of identifying the data objects that should be in the database, identifying
their relationships, and defining the tables required and the columns within each
table. First normal form (1NF) is the “basic” level of normalisation: Data and information
are contained in two-dimensional tables with rows and columns. Each column corresponds
to a sub-object or an attribute of the object represented by the entire table. Each
row represents a unique instance of that sub-object or attribute and must be different
in some way from any other row (that is, no duplicate rows are possible). All entries
in any column must be of the same kind. For example, in the column labelled “Date,”
only dates are permitted. In Second normal form (2NF), the tables are in first normal
form and, in addition, each column in a table that is not a determiner of the contents
of another column must itself be a function of the other columns in the table. At
the second normal form, modifications are still possible because a change to one row
in a table may affect data that refers to this information from another table. In
Third normal form (3NF), the tables are in second normal form and, in addition, there
is no transitive functional dependency. For example, if A is functionally dependent
on B, and B is functionally dependent on C, then C is transitively dependent on A
via B. In Domain/key normal form (DKNF), a key uniquely identifies each row in a table.
A domain is the set of permissible values for an attribute. By enforcing key and domain
restrictions, the database is assured of being freed from modification anomalies.
DKNF is the normalisation level that most designers aim to achieve.
|
|