Hello all, I have been following *PMA* for a long time.I saw the GSOC project idea *Structure Tools* in the wiki page. I found the project very interesting. As I have worked in many projects in Database ( Both implementation and Application) , I would like to contribute in this project. The following is the detailed description of what I have got until now after my research.
1- *Normalization* :
- Going to the basics of Normalization there are two things needed before we can apply normalization on a relational database. 1- Database Schema 2- Functional Dependencies. *I wanted to ask this thing - We would take the functional dependencies from the user only ? For example if the user selects some table for normalization then after that we have to take the FD from the user only ? * - If we have got the functional dependencies ans set of attributes , we can do the following things to change to the 3NF: *1)* we can first get the closure of the given set of attributes with respect to given functional dependencies. *2) *Then we will remove the implied extraneous attributes and redundant dependencies. *3) *After that we can determine the full and partial dependencies . Then we can apply the inference rules of Normalization to convert the database schema to 2NF then to 3NF. - The above algorithm can be implemented with algorithmic efficiency.
2- *Central List of Columns *
- I didn't get the meaning of this : *The phpMyAdmin configuration storage would be the place to maintain this central list (probably per database). *Please help me out in understanding this. - If there is any need of grouping the columns name with very similar name like *product_id and product* , we can use many string algorithms like Levenshtein distancehttp://en.wikipedia.org/wiki/Levenshtein_distance and Longest Common Substringhttp://en.wikipedia.org/wiki/Longest_common_substring_problem .
Please comment on my views :). I am very much interested in the project. Please guide me further. Eagerly waiting for your comments Deven Bhooshan devenbhooshan