Better Normalisation
Part 1 Boyce-Codd
What do we do if there are a more than 1 possible PK
Candidate key - a potental combination of cols that could make a primary key
Determinant - a col where other cols are functionally dependent
2NF - every non-PK is functionally dependent on any Candidate key
3NF - no non-PK attribute is transitively dependent on any candidate key.
BCNF - every determinant is a candidate key


Part 2 Fourth Normal Form
Basically when you have two values like manager and staff, where there can be any combination of them
Issue: data redundancy


Determinacy diagram

Part 3 Fifth Normal Form
Goal: when you are re-joining the tables, there is not an excess in rows
Part 4 Denormalisation
Normalisation slows down query processing
Denormalisation is we are not so pushy with the normalisation rules
Typically combine 1 to 1 relationships i.e. username and userID