# Normalization

- the Achilles Heel of Data Modeling

Many database professionals think they know all about Normalization, but when it gets down to doing it, or explaining it to others in their organization, they often stumble. This workshop will test your knowledge, work on some exercises, and learn (or reinforce) some principles about record-based (ER/relational) database design. This is an opportunity to strengthen your own level of knowledge.

The workshop explores:

* What is normalization, its history and evolution, why it is important

* The myths, misunderstandings, and limitations of normalization as commonly understood which confound both novices and experts

* The basic principles behind normalization

* What we need to know to perform normalization

-- learn and apply a practical, effective method for recognizing and correcting violations of normal forms

* The consequences of not identifying and correcting violations of the normal forms

-- Why a DBMS or data modeling tool cannot help data modelers produce a normalized design.

* Since good design requires normalization, what is denormalization, and why do we consider it?

The problem which requires the application of the rules of normalization is actually of our own making. If we approach data modeling using a different approach, we can avoid the need for normalization entirely. Then when we "generate" tables for implementation in a relational DBMS, we can be assured of a fully normalized design. Now that's good news for data modelers.

You are guaranteed to come out of this workshop a better data modeler. Even if you know all about normalization (or think you do), this session will give you the ability to explain it to others who don’t have such a clear understanding.

Working on several sample design exercises will give you an opportunity to spot and correct various database design problems. As a simple test, the following table record stores information about Employees working on Projects:

Find all violations of the normal forms. State the assumptions you make, if any, about the data as given. Then redesign the data structure to be in normalized form, and draw the revised table diagram (an ER diagram showing all tables with their identifiers, attributes, and foreign keys). How many tables will there be? If you are not confident in your answer, you can benefit from this workshop.

APPEND TO BIO:

In an introductory database course, students are introduced to the concept of normalization. This procedure is necessary for good logical database design using the popular ER data modeling schemes to produce relational database designs. However, many students have considerable difficulty grasping and applying the rules of normalization. Consequently, Dr. Everest has developed an approach to teaching normalization which focuses on the underlying principles and the use of examples. In fact, the multiple rules of normalization can be boiled down to a single rule to apply.