Relational Database Normalization Calculator
This tool verifies and calculates all normalforms up to 4NF for a given relation schema and its functional dependencies. It will calculate in which normal form the original schema was and its canonical cover of functional dependencies. The schema is then normalized via both the synthesis and decomposition algorithms, alongside an explanation for each step.
How to use:
- Enter the relational schema in the first input box. Every character is interpreted as an attribute.
-
Enter the set of functional dependencies in the second input
box.
Separate each functional dependency with a newline.
Utilize -> for regular functional dependencies
Utilize ->> for multivalued dependencies. - Press the "Solve" button.
- Expand the menus below to see the solution.
Candidate Keys and Normal Forms
Normal Forms
Candidate Keys
Canonical Cover of Functional Dependencies
The canonical cover of functional dependencies is a minimal set of FDs which is equivalent to the original set of functional dependencies. It is needed for normalizing into 3NF via the synthesis algorithm.
Please note that there can exist multiple canonical
covers depending on the order of operations!
The solution given here may not be the only valid one.
Synthesis Algorithm (3NF)
The synthesis algorithm converts any relation losslessly and dependency-preserving into (at least) 3NF.
Please note that different relations can be
synthesized depending on the order of operations!
The solution given here may not be the only valid one.
Decomposition Algorithm (BCNF, 4NF)
The decomposition algorithm converts any relation losslessly into any desired normal form up to 4NF. The algorithm splits every non-conforming relation into two until every relation fulfills the target normal form. Note that the decomposition may not produce dependency-preserving relations, unlike the synthesis algorithm!
Please note that different relations can be
synthesized depending on the order of operations!
The solution given here may not be the only valid one.