Normalization is a tool (or a technique). It's not an end in itself. The application must determine the degree of normalization that's appropriate.
For example, take a standard Person table, with name, address, and phone number. Let's consider the address field. A case could certainly be made for storing addresses in a different table. That way, when a family moves, you could update the addresses of all family members at once.
But you could go further. A city is related to a state. A city name can exist in many states, and of course a state has many cities. By proper normalization, you could make sure that no user accidentally enters Flagstaff AK when she really meant Flagstaff AZ.
But there's more! A city has a number of streets. A street has a number of houses. Complete normalization would require a House table, related to a Street table, related to a City table, related to a State table, related to a Country table, related to a Planet table, related to a SolarSystem table....
It's doubtful that any application would ever need such complete normalization (barring future developments in space travel). That's why, whenever normalization is considered, it must be done in the context of the application (bearing in mind future directions that application might take and other uses of the data).
Using normalization "everywhere" is simply not an appropriate goal, IMHO.
Previous
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only