A2 SSD — Normalisation

Francis
Revision Notes
Published in
1 min readMay 10, 2016

Normalisation

Normalisation is a formal bottom up process. It begins by examining the data to be stored by looking at documentation and forms used by the organisation.

It involves the application of a series of rules, in steps, to remove undesirable characteristics and problems. It tends to be more useful for simple databases but can be use to test the correctness of an ER Model.

Normalisation is complementary to ER Modelling.

Normalisation aims to minimise data redundancy, storage and update anomalies such as insertion, deletion and modification.

Full normalisation isn’t always desirable because it can hurt performance if the query contains lots of joins.

0NFOrder(OrderNo, OrderDate, Name, Address, TelNo, Email, CardType, CardNo, ExpiryDate, CardName, CSC, ProductName, Quantity, Price, Charge)1NF — Remove Repeating GroupsOrder(OrderNo, OrderDate, Name, Address, TelNo, Email, CardType, CardNo, ExpiryDate, CardName, CSC)
OrderProduct(ProductName, OrderNo*, Quantity, Price, Charge)
2NF — Remove Partial DependenciesOrder(OrderNo, OrderDate, Name, Address, TelNo, Email, CardType, CardNo, ExpiryDate, CardName, CSC)
OrderProduct(ProductName, OrderNo*, Quantity)
ProductPrice(ProductName*, Price, Charge)
3NF — Remove Transitive DependenciesOrder(OrderNo, OrderDate, Name, Address, TelNo, Email, CardNo*)
Card(CardNo, CardType, ExpiryDate, CardName, CSC)
OrderProduct(ProductName, OrderNo*, Quantity)
ProductPrice(ProductName*, Price, Charge)

--

--