In the previous section, we discussed some basic knowledge regarding normalization in databases. To efficiently convert a table to 1NF, you need to identify a Primary Key that when used, it should be able to return only one record from the table. This could sometimes be a Composite Primary Key; and you need to identify all dependencies (click here to learn more about dependencies).
Now let’s use our table to convert it to 1NF using the below table:
Our primary key is a composite one in this case, and would be Customer_id and Teller_id. Using this composite primary key, we can determine all the other attributes in the table. And that is our Proper functional dependency (Customer_id, Teller_id → CustomerName, CustomerAddress, TellerName, TillType, TillType_id, SaleTotal).
Using just the Customer_id, we can determine the CustomerName and Customer Address (Customer_id → CustomerName, CustomerAddress). Using the Teller_id, we can determine the TellerName, TillType_id, and TillType (Teller_id → TellerName, TillType_id, TillType). These two then become Partial dependencies separately.
Using the TillType_id, we can determine the TillType (TillType_id → TillType). This then becomes a transitive dependency as it is not dependent on any Primary Key.
The 1NF can be shown using a dependency diagram where the columns shaded in red represent the Composite primary key.
Please note that the proper functional dependency is always placed above the list of attributes as it always represents the desired state. The ones below represent the undesirable states that need to be removed as we move along the Normalization hierarchy.
Congratulations. You have just learnt how to convert to 1NF, as well as how to draw a dependency diagram.
Click here to learn how to convert to 2NF