

The First normal form simply says that each cell of a table should contain exactly one value. Each normal form has an importance which helps in optimizing the database to save storage and to reduce redundancies. There are various database “Normal” forms. The above is a simplified example of how database normalization works. In such a situation, replicating so much data will increase the storage requirement unnecessarily. However, think about the case when there are hundreds of courses and instructors and for each instructor, we have to store not just the mobile number, but also other details like office address, email address, specialization, availability, etc.

This may not be obvious in the above simple example. This avoids the stale/wrong data problem.įurther, if you observe, the mobile number now need not be stored 2 times. George, it can be done in exactly one place. Also, if we were to change the mobile number of Prof. Now, if someone wants to know the mobile number of the instructor, he/she can simply look up the instructor table. We rather store the ID of the instructor. What if someone just edited the mobile number against CS101, but forgot to edit it for CS154? This will lead to stale/wrong information in the database.īasically, we store the instructors separately and in the course table, we do not store the entire data of the instructor. In such a situation, we will have to make edits in 2 places. However, issues start to develop once we need to modify information. Here, the data basically stores the course code, course venue, instructor name, and instructor’s phone number.
#Data independence in dbms with example pdf form code
Here is what a sample database could look like: Course code

To understand (DBMS)normalization in the database with example tables, let's assume that we are supposed to store the details of courses and instructors in a university. For a better understanding of what we just said, here is a simple DBMS Normalization example: The core idea of database normalization is to divide the tables into smaller subtables and store pointers to data rather than replicating it.
