[Phpmyadmin-devel] Need suggestions: starting automated Normalization to 1NF

Marc Delisle marc at infomarc.info
Mon Jun 23 19:02:32 CEST 2014

Smita a écrit :
> On Mon, Jun 23, 2014 at 5:50 PM, Marc Delisle <marc at infomarc.info> wrote:
>> Smita a écrit :
>>> Hi
>>> I have started working on automated normalization. I have written the
>>> detailed work flow for normalizing the relation to 1NF in my blog[1], I
>>> need your feedback/suggestions on the same. Just needed to know if the
>>> approach looks good.
>>> Also for user interface, I'm thinking to keep options on db_operations
>> and
>>> tbl_operations page will be appropriate. The options will have
>>> 1. Normalize to 1NF,
>>> 2. Normalize to 2NF (1NF + 2NF),
>>> 3. Normalize to 3NF (1NF+2NF+3NF).
>>> On select of an option, user shall be presented a dialogue which will
>>> assist in normalizing the relation. Is it fine ? or should we keep these
>>> options somewhere else ?
>>> [1]
>> http://smita786.blogspot.in/2014/06/gsoc14-coding-week-5-automated.html
>>> Thanks and Regards
>>> - Smita
>> Hi Smita,
>> here are my reactions, thrown at random :)
>> About the vocabulary itself, I am wondering about using terms like 1NF,
>> etc. In my book "Creating MySQL databases" I was very careful to avoid
>> these terms. Some phpMyAdmin users have an IT background, but some do not.
> Maybe we could use messages like "First step of normalization (1NF)".
> Yes, sounds better.
> Also, if going to 1NF involves 3 steps, maybe mention step 1.1, 1.2, 1.3
>> in the dialogs.
>> Yeah, sure.
>> Maybe we could find another term for "normalization", like "improve
>> database structure" or whatever, but adding "(normalization)" as a hint
>> for IT people.
>> yes.
>> The workflow looks fine, but will you take into consideration the
>> central list of columns?
> I don't know where and how we can use central list of columns for
> normalization. any idea ? While adding a new column during normalization,
> it can be used as normally it is used. can we use them for any other
> purpose during normalization ?

For example, in step 1.1 (making all attributes atomic), there is the 
address column. When asking user whether this column can be split, you 
could offer a panel to see the central list of columns; there, he could 
see that there is a column definition for city (which might have 
originated from a different table) and this give the user an idea about 
splitting the city part of the address.

Marc Delisle (phpMyAdmin)

More information about the Developers mailing list