Denormalization has something to do with information. People like to see denormalized data because they like to see its context. Context is an important part of information. Denormalization is the opposite of the DRY principle in programming.
Examples of Denormalization for Information Purposes
Here are some examples I have seen of denormalization for information purposes, some good, some bad:
- Endemes [fully controlled] endemes coalescing atomic units of information – boiling them down into a format that yields them together. This one is often good. It needs lots of overhead/framework programming however.
- Container Name References [partially controlled] container name/reference included in each item in the container, sometimes good, often bad.
- Meaningful ID’s [partially controlled] id’s containing data – sort of a name that is a summary of natural key, summaries are information. This one is usually bad.
- Presentation Layers [partially controlled] Presentation layer presentations, screens, reports, forms, dashboards, usually good, sometimes bad. Bad when they get int he way of taking the information in the program to the next level.
- Zero Normal Form [mostly uncontrolled] columns containing multiple data items, usually of different ‘types/columns/classes/fields’, always bad.
- Freetext [fully uncontrolled] freetext. Usually good. Sometimes you should have a dropdown selection instead.