A series of posts relating to database design.

A quick look at normalization and what the 1-5 normal forms are (Commonly labelled 1NF = 1st Normal Form, 2NF = 2nd Normal Form)

The descriptions are a bit short, as this is just a quick reminder. For full resources on database design I go to

Louis Davidson Pro SQL Server 2012 Relational Database Design and Implementation

http://www.amazon.co.uk/Server-Relational-Database-Implementation-ebook/dp/B008R3XOBY/ref=sr_1_7?ie=UTF8&qid=1381007892&sr=8-7&keywords=relational+sql+server+2012

Kimberly Tripps Plural Sight Course SQL Server: Why Physical Database Design Matters

http://pluralsight.com/training/Courses/TableOfContents/sqlserver-why-physical-db-design-matters

1NF

Values in a column should have the same data type

Single value per cell

No duplication

2NF

Must meet 1NF

Separate out data that applies to multiple rows into their own tables

Create relationships to tables (foreign keys)

3NF

Must meet 1NF and 2NF

Remove all columns that are not dependant on the primary key into separate tables

4NF

Must meet 1NF, 2NF and 3NF

No independent multiple dependencies

For example, imagine a car company that manufactures many models of car, but always makes both red and blue colours of each model. If you have a table that contains the model name, colour and year of each car the company manufactures, there is a multivalued dependency in that table. If there is a row for a certain model name and year in blue, there must also be a similar row corresponding to the red version of that same car

From <http://databases.about.com/od/specificproducts/g/multivalued-dependency.htm>

5NF

Isolate semantically related relationships

A table is said to be in the 5NF if and only if every join dependency in it is implied by the candidate keys.

From <http://en.wikipedia.org/wiki/Fifth_normal_form>

 

Advertisements