<div dir="ltr"><div><span style="font-family:arial,sans-serif;font-size:13px">Hello all,</span></div><span style="font-family:arial,sans-serif;font-size:13px">I have been following </span><b style="font-family:arial,sans-serif;font-size:13px">PMA</b><span style="font-family:arial,sans-serif;font-size:13px"> for a long time.I saw the GSOC project idea </span><b style="font-family:arial,sans-serif;font-size:13px">Structure Tools</b><span style="font-family:arial,sans-serif;font-size:13px"> 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. </span><br style="font-family:arial,sans-serif;font-size:13px">
<br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">1- </span><b style="font-family:arial,sans-serif;font-size:13px">Normalization</b><span style="font-family:arial,sans-serif;font-size:13px"> : </span><br style="font-family:arial,sans-serif;font-size:13px">
<ul style="font-family:arial,sans-serif;font-size:13px"><li style="margin-left:15px">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. <b><i>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 ? </i></b></li>
<li style="margin-left:15px">If we have got the functional dependencies  ans set of attributes , we can do the following things to change to the 3NF: <b>1)</b> we can  first get the closure of the given set of attributes with respect to given functional dependencies. <b>2) </b>Then we will remove the implied extraneous attributes and redundant dependencies. <b>3) </b>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 2<span style="line-height:19.049999237060547px;font-family:sans-serif">NF</span> then to 3NF.</li>
<li style="margin-left:15px">The above algorithm can be implemented with algorithmic efficiency.</li></ul><div style="font-family:arial,sans-serif;font-size:13px">2- <b>Central List of Columns </b></div><div style="font-family:arial,sans-serif;font-size:13px">
<ul><li style="margin-left:15px"><span style="line-height:19.049999237060547px;font-family:sans-serif">I didn't get the meaning of this : </span><span style="line-height:19.049999237060547px;font-family:sans-serif"><b>The phpMyAdmin configuration storage would be the place to maintain this central list (probably per database). </b>Please help me out in understanding this.</span></li>
<li style="margin-left:15px"><span style="line-height:19.049999237060547px;font-family:sans-serif">If there is any need of grouping the columns name with very similar name like <b>product_id and product</b> , we can use many string algorithms like <a href="http://en.wikipedia.org/wiki/Levenshtein_distance" target="_blank">Levenshtein distance</a> and <a href="http://en.wikipedia.org/wiki/Longest_common_substring_problem" target="_blank">Longest Common Substring</a> . </span></li>
</ul><div><font color="#000000" face="sans-serif"><span style="line-height:19.049999237060547px">Please comment on my views :).</span></font></div></div><div style="font-family:arial,sans-serif;font-size:13px"><font color="#000000" face="sans-serif"><span style="line-height:19.049999237060547px">I am very much interested in the project. Please guide me further. <br>
Eagerly waiting for your comments <br>Deven Bhooshan</span></font></div><div style="font-family:arial,sans-serif;font-size:13px"><font color="#000000" face="sans-serif"><span style="line-height:19.049999237060547px">devenbhooshan</span></font></div>
</div>