Key points
- 1NF: atomic values. 2NF: no partial dependency.
- 3NF: for every X → A, X is a superkey or A is a prime attribute.
- BCNF: for every non-trivial X → A, X is a superkey.
- BCNF decomposition is always lossless but may not be dependency-preserving.
- A 3NF decomposition can always be both lossless and dependency-preserving.