- Correctly parses user input for relation schema, functional dependencies, and multivalued dependencies.
- Calculates the closure of each element in the power set of given attributes.
- Calculates minimum-set (candidate) keys and superkeys.
- Calculates a minimum (canonical) cover of functional dependencies on the given set of functional dependencies.
- Derives complete set of functional dependencies based on input set.
- Checks if given relation schema is in First (1NF), Second (2NF), Third (3NF), Boyce-Codd (BCNF), and Fourth (4NF) normal forms.
- If given relation schema is not in 3NF, will decompose input relation in a lossless and functional dependency preserving manner.
- If given relation schema is not in BCNF, will decompose input relation in a lossless but not necessarily functional dependency preserving manner.

- Improve output interface.
- If given relation schema is not in Fourth Normal form, decompose into 4NF relations.

This is a personal project and not a professionally managed service. If you find a programming mistake please report it so it can be fixed.

Your web browser must have JavaScript enabled
in order for this application to display correctly.

Terms of use and privacy policy