Normalisation is a process to reduce complexity of the database into simple structure by breaking down the tables to remove redundancies of attributes, keys, etc.
Customer(
AccountNo, Username, Password, HoueseNo, Street, Poscode , DOB, Email, Forename, Surname, TelNo, GameID, Name, Price, Description, Type, Age, BasketID, Name, Price, , SubTotal, VAT, MainTotal, , ExpireDate)
First Normal FormCustomer(
AccountNo, Username, Password, HoueseNo, Street, Postcode , DOB, Email, Forename, Surname, TelNo, GameID, Name, Price, Description, Type, Age, BasketID, Name, Price, , SubTotal, VAT, MainTotal, AccountNo, ExpireDate)
Purchase(
AccountNo, GameID)
Second Normal FormCustomer(
AccountNo, Username, Password, HoueseNo, Street, Postcode , DOB, Email, Forename, Surname, TelNo, BasketID, Name, Price, SubTotal, VAT, MainTotal, AccountNo, ExpireDate)
Purchase(
AccountNo, GameID)
Product(
GameID, Name, Price, Description)
Type(
GameID, Type)
Age(
GameID, Age)
Third Normal FormCustomer(
AccountNo, Username, Password, HoueseNo, Street, Postcode , DOB, Email, Forename, Surname, TelNo)
Purchase(
AccountNo, GameID)
Product(
GameID, Name, Price, Description)
Type(
GameID, Type)
Age(
GameID, Age)
Basket(
BasketID, Name, Price, GameID)
Order(
OrderID, SubTotal, VAT, MainTotal, AccountNo, ExpireDate)
Description of each steps
First Normal FormThe first Normal Form is the basic relational model to eliminate multi-valued attributes, repeating groups etc. Also each attribute are atomic to remove repeating data.
Second Normal Form
This step consists that the data contains no partial key dependencies and that the attributes are functionally dependant on the primary key of the table.
Third Normal FormIn this step, there are no functional (transitive) dependencies between more non primary key attributes and that the relation contains only keys.