Using functional dependencies, we can define several normal forms which represent ``good'' database designs.