DBSchema::Normalizer 0.07 has been uploaded to CPAN. DBSchema::Normalizer is a Perl module to help you through the process of transforming a MySQL database table from 1st to 2nd (and eventually 3rd) normal form.
It is a tool for the database designer, who is supposed to know what it has to be done. The Normalizer does not give you support for deciding which tables need to be normalized and which fields to move across tables. What you get from DBSchema::Normalizer is a quick way of performing the operations you have identified as needed. You can also have a certain degree of flexibility, since the Normalizer can also simulate the operation instead of executing it, giving you plenty of information to decide whether you want to go on or not. Thanks to DBSchema::Normalizer, tasks like normalizing a table could be highly simplified. less tha 30 lines of code can accomplish the task of creating two lookup tables and a normalized one from a source table in 1NF. The documentation explains in great details the principles involved and the algorithm used. A detailed case study with sample database is included, so you can test to dummy data before trusting the module to your production database. More details in the docs. http://search.cpan.org/doc/GMAX/DBSchema-Normalizer-0.07/docs/Normalizer.html http://search.cpan.org/doc/GMAX/DBSchema-Normalizer-0.07/README Download the package from http://www.cpan.org/authors/id/G/GM/GMAX/DBSchema-Normalizer-0.07.tgz Comments are welcome. ____ ____ _____ _ _ / _ | \(____ ( \ / ) ( (_| | | | / ___ |) X ( \___ |_|_|_\_____(_/ \_) (_____|