Question

I am doing a school project of developing a database application. It is in the design phase, and I am constantly worried that how do I get to know if I am doing something wrong.

I am following the rules, however, is there a way to find if my database design, and especially the normalization is going right or wrong?

Was it helpful?

Solution

You could learn on the first 3 normal forms and the concept of functional dependencies.

I've wrote a course about this subject but in french unfortunately. However, here are some summarized and simplified rules to check if your relational schema is in 3NF:

1) To be in first normal form (1NF) : The attributes of a relation must be atomic and must be in functional dependence with the primary key of this relation.

2) To be in second normal form (2NF) : You have to be in 1NF and all functional dependencies between the primary key and other attributes of the relation are elementary. In other words, the attributes must depend on the whole key.

3) To be in third normal form (3NF) : You have to be in 2NF and all functional dependencies between the primary key of the relation and the other attributes are direct (no transitivity).

The best tool is to check these rules by yourself, that's not very hard ;)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top