Chapter 3. Finding functional dependencies

 

Hugo Kornelis

Some people will tell you that properly normalizing your tables is hard. It’s not. The normalization rules are clear, and once you know all the functional dependencies in your data, you merely have to follow the rules carefully, taking care not to forget anything, and you’ll always end up with a properly normalized design.

The hard part comes before you can start normalizing—when you try to find all the functional dependencies. Considering how exact and well laid down the rules of normalization are, it’s surprising to find that there are no similar rules for finding the functional dependencies. For what use is a set of rules that guarantees a correct model from a correct set of functional dependencies if there’s no way to find that correct set of functional dependencies?

In this chapter, I’ll present a method to find all the functional dependencies. The only thing left for you to do is to find a domain expert who’s willing to answer your questions.

Interview method

Modeling the sales order

Summary

About the author