150 likes | 361 Views
Normalization. Normalization. We will take a look at First Normal Form Second Normal Form Third Normal Form There are also Boyce-Codd, Fourth and Fifth normal forms In most cases the first three normal forms are enough. normalization. Why normalization Avoid redundancy
E N D
Normalization • We will take a look at • First Normal Form • Second Normal Form • Third Normal Form • There are also • Boyce-Codd, Fourth and Fifth normal forms • In most cases the first three normal forms are enough
normalization • Why normalization • Avoid redundancy • Minimize risk for inconsistent data • Make it easier to maintain the database • The database takes less space • Avoid Anomalies • When inserting, updating or deleting data
Normalization • A table must always have a primary key with unique values for each row. • An unnormalized table • Table that contains one or more repeating data groups. • First Normal Form (1NF) • A relation in which the intersection of each row and column contains one and only one value.
First Normal Form (1NF) • Typically a DB Relation (table) should: • A table must have a primary key with unique values for each row, i.e uniquly indetifies each row in the table. • Each intersection (cell) in the table contains only one value • An attribute (column) should not be present more than once.
Second Normal Form • Second normal form (2NF) • A relation that is in 1NF and every non-primary-key attribute is fully functionally dependent on the primary key. • This means: • The table is in 1NF • No attribute (column) which is not part of primary key, may depend on part of the primary key. • (Can only be a problem in tables with PK consisting of several attributes)
Udlaan table, 1NF Laan: lending (library) BogID: Book ID Forfatter: Writer Forlag: Publisher
Third Normal Form • Third normal form (3NF) • A relation that is in 2NF and in which no non-primary-key attribute is transitively dependent on the primary key. • This means: • The table is in 2NF • No attribute (column) may depend on any other column which is not the primary key.