functional dependencies and normal form