Intro

I have collected Q&A topics since about 2010. These are being put onto this blog gradually, which explains why they are dated 2017 and 2018. Most are responses to questions from my students, some are my responses to posts on the Linkedin forums. You are invited to comment on any post. To create a new topic post or ask me a question, please send an email to: geverest@umn.edu since people cannot post new topics on Google Blogspot unless they are listed as an author. Let me know if you would like me to do that.

2017-12-20

Five rules of normalization in one

Do you think that it is possible to represent the five rules of normalization in a single rule? 
Well, here it is:
"Store each data item with its determinant as the identifier in a record/table."
By data item I mean any data element consisting of a domain of values (which are surrogates of things in the real world), which are members of a population called by the name of the data item/element.
Determinant is based on a relationship between two populations.  If the members of one, say Y, are functionally dependent on the other, say X, then we say that X determines Y.  The functional dependency can be expressed as Y = Fn(X).   For example, if we had department as one population and employees as another, and we assume that an employee can work in at most one department (at a time), then there is a functional relationship between them:  Dept = Fn(Employee), that is, given a member of the employee population (ID) that determines a unique value for Dept, hence a function.  If there cannot be a Y without an X, then we have a functional dependency.

In a side note, the relationship could involve a single population, in which case we call it a reflexive relationship.  An example would be "is boss of" on an employee population.

No comments:

Post a Comment

Comments to any post are always welcome. I thrive on challenges and it will be more interesting for you.