RDBMS Normalization Library

How to use

It is just as easy as that:

import normalization

#creates a database and reads attributes and FDs
sample_db = normalization.database()

#prints attributes, FDs and candidate keys
sample_db.print_all()

#test for violations of 2NF, 3NF and BCNF
sample_db.test_all_NFs()

#dependency preserving loseless join decomposition into 3NF
sample_db.dep_los_3NFdecompose()

Indices and tables