Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Can data be 'over-normalized'?
Message
From
25/01/2001 17:07:38
 
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
00468334
Message ID:
00468822
Views:
20
>I understand the point you are attempting to make. Of course you knew that I would be prepared...< bg >...
>
>Lets review what the 2nd NF is. A table is considered to be in the 2nd NF when redundant data is eliminated.
>
>Question, in the scenario I described, is their likely to be redundant data? The answer is yes.
>

If there are two different people in the database named John Peterson, and one changes his name (adds Esq to the end for example :-)), the other does not change. This is not redundant data. They are two different pieces of data that happen to share the same value at a particular point in time. If they can vary independently, they are not redundant.

>Therefore, I have elected not to normalize the lineitems with respect to item description for the purposes of historical reporting. It can easily be argued that if normalizing a table is going in one direction, what I have described is going in the other direction; the opposite of normalization.

I suppose that to completely normalize this scenario, a new table would have to be created that contains a time period, an item id, and an item description. To give an item a description, you add a record with an open ended time-period for that item, and put the description there (a record that describes an item during a certain period). To change the description, you would close out the older time-period record, and create a new one with the new description. When creating an invoice you reference not a line-item, but a line-item description record (using the itemno and the invoice date). This is the only way that a change to the historical description of one item would be reflected in all invoices that contained that item in that time period.

Not that I think that this is necessarily practical, but if you're going to go to the extreme...

>Here is a mind-bender...does one normalize a database? Or, does one normalize the model - which ends up being manifested in the physical database? Or, are they the same? Or, does it matter as it is an argument over semantics?
>
>FWIW, I think it is the latter...

I think it is the latter as well.

>In the end, de-normalization as a term of art works just fine in this scenario.
>
>However, if you are so inclined, what term of art would you coin for this scenario?

Well, if you talk about going from recording the description in one place to recording it in two, I call it adding required fields. If you talk about going from my above suggested data model to the one you described, I suppose that is denormalization. But FWIW, I don't think you ever arrived at the normalized model to be able to denormalize from.
Erik Moore
Clientelligence
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform