Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to grasp the concepts of functional dependencies and normal forms, specifically first (1NF), second (2NF), and third (3NF) normal forms. The link here was extremely helpful in deciding the distinction between the three forms, but I have a much more abstract problem.

The accepted answer to this post gives wonderful examples of tables and which normal form they are in. However, my question poses the following:

For (W X Y Z), determine the form of: WX->Y, WX->Z, Y->Z. (Note: 'WX' should be underlined as the combined primary key, but I couldn't find that in the formatting, so it's bold)

I don't get it; how can I even begin to do this? The textbook I'm referencing only gives concrete examples, and I don't understand the theory well enough to apply it to the abstract. Any insight?

share|improve this question

migrated from Apr 12 '13 at 14:45

This question came from our site for professional and enthusiast programmers.

Are you being asked to determine the normal form for the relation R{ WX Y Z }, or the normal forms for { WX Y }, { WX Z }, and { Y Z }? (When you write "determine the form of:...", the of usually refers to whatever comes after.) – Mike Sherrill 'Cat Recall' Apr 13 '13 at 14:56
  1. 1NF satisfied, as Y and Z depend on the key WX;
  2. 2NF satisfied as Y and Z depend on the whole key WX, and not on any subset of the key;
  3. 3NF not satisfied as Z depends on Y, which is not part of the key.

To put this into 3NF one would restructure as (W X Y) and (Y Z).

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.