Normalization: Preliminaries
The designer starts with a real-world situation to be modeled and lists the data items, together with a list of rules about the relatedness of these data items.
The aim is to represent all these data items as attributes of tables that obey the normal forms.
E-R (Entity-Relationship) Modeling vs Normalization
Normalization is most useful after you have represented all of the information items and have arrived at a preliminary (E-R modeling) design.
The idea is to help you ensure that you have divided your information items into the appropriate tables.
The process of applying the rules to your database design is called normalization.
What normalization cannot do is ensure that you have all the correct data items to begin with.
- E-R Modeling
- E-R modeling uses a type of diagram to show the logical entries (typically tables) and relationships between them in a database.
Note that you can create an ERD (E-R Diagram) for a horrible database design.
- Normalization
- Normalization is a process that helps create good database design.
The overriding principle is to remove redundancy from the data.
This is often summarized as “One Fact, One Place.”
The idea is that if you store multiple copies of the same piece of information, they can get out of sync.
If that happens, getting the correct answer from queries becomes impossible.
So the goal of normalization is to remove redundancies and so make it easier to get consistent answers from your queries.
E-R modeling and normalization are complementary instead of competing database design methods.
A relational design based on normalization and a careful E-R design transformed into relational form have nearly same results.