Creating a good database requires a good database design plus a good database structure. If the database contains a good table structures then the database will work well. A good database should avoid data redundancy or data anomalies which can be prevented through a well-defined table structures. The process is called normalization.

Table is the most important part of the database design process. Table structures can be identified if it has a bad or good structure through the process of normalization. Normalization is a process of evaluating and correcting table structures to avoid data redundancy and therefore prevent data anomalies.

(Video courtesy of youtube)


The Normalization Process

  • Each table represents a single subject. For example an INSTRUCTOR table will contain only data that pertains to instructors. Similarly, a PRODUCT table will contain only products data.
  • No data item will be unnecessarily stored in more than one table. The reason for this requirement is to ensure that the data are updated in only one place.
  • All attributes in a table are dependent on the primary key – the entire primary key and nothing but the primary key.


Normal Forms

Normalization is basically; a process of efficiently organizing data in a database. There are two goals of the normalization process: eliminate data (for example, storing the same data in more than one table) and ensure data dependencies make sense (only storing related data in a table. Both of these are worthy goals as they reduce the amount of space a database consumes and ensure that data is logically stored. We will now study the first normal form.


Video: 1NF, 2NF, 3NF Conversions

(Video courtesy of youtube)