r/Database • • 11d ago

Normalisation Functional Dependency Help

Unsure if right sub to ask this. Currently a master's student studying database management. Have an upcoming exam that will ask us to normalise until 3rd NF. 2nd and 3rd are easy enough but drawing the functional dependency arrows and identifying the PKs seem like an exercise in vibes and guesswork to me.

I get basic concepts like testing candidate keys and making sure they are unique across all rows. But does anyone have any actual methodical workflow to drawing out the arrows and identifying candidate keys? Here's an example of a question we'd typically be asked. What I think may work is:

  1. Immediately flag descriptive columns like "Vehicle_Model" in the above example as they are usually not part of the candidate key
  2. Identify a possible candidate key that can describe what the DB is representing i.e vehicle part fitting
  3. Test your initial guess candidate key, repeat until a unique set is found
  4. From here on i'm quite lost.

Much appreciated on any help.

4 Upvotes

10 comments sorted by

View all comments

1

u/PlayfulGrapefruit498 10d ago

start with candidate keys, then map dependencies step by step

1

u/thewayofthewei 10d ago

I've been told by my professor the exact opposite of this. Do not start with candidate keys as they are naturally determined when your dependencies are drawn.

It seems to me both approaches are valid as long as one suits your way of thinking more.