Merge pull request #1321 from smita786/gsoc_automated_normalizaion

documentation FAQ added for central columns and normalization
This commit is contained in:
Marc Delisle 2014-08-10 17:04:04 -04:00
commit b61f2fb9db

View File

@ -1950,6 +1950,74 @@ in case of `BETWEEN` and excluded in case of `NOT BETWEEN` from the final result
Note: The Range search feature will work only `Numeric` and `Date` data type columns.
.. _faq6_36:
6.36 What is Central columns and How can I use this feature?
---------------------------------------------------------
As the name suggest, Central columns feature enables to maintain a central list of
columns per database to avoid similar name for the same data element and consistency
of data type for the same data element. You can use the central list of columns to
add an element to any table structure in that database which will save from writing
similar column name and column definition.
To add a column to central list, Go to table structure page, check the columns you want
to include and then simply click on "Add to central columns". If you want to add all
unique columns from more than one tables from a database then go to database structure page,
check the tables you want to include and then select "Add columns to central list".
To remove a column from central list, Go to Table structure page, check the columns you want
to remove and then simply click on "Remove from central columns". If you want to remove all
columns from more than one tables from a database then go to database structure page,
check the tables you want to include and then select "Remove columns from central list".
To View and Manage the central list, select the database you want to manage central columns
for then from the top menu click on "Central columns". You will be taken to a a page where
you will have options to edit, delete or add new columns to central list.
.. _faq6_37:
6.37 How can I use Improve Table structure feature?
---------------------------------------------------------
Improve table structure feature helps to bring the table structure upto
Third Normal Form. A wizard is presented to user which asks question about the
elements during the various steps for normalization and new structure is proposed
accordingly to make table into the First/Second/Third Normal form.
On startup of the wizard, user gets to select upto what normal form they want to
normalize the table structure.
Here is an example table which you can use to test all the three First, Second and
Third Normal From.
.. code-block:: mysql
CREATE TABLE `VetOffice` (
`petName` varchar(64) NOT NULL,
`petBreed` varchar(64) NOT NULL,
`petType` varchar(64) NOT NULL,
`petDOB` date NOT NULL,
`ownerLastName` varchar(64) NOT NULL,
`ownerFirstName` varchar(64) NOT NULL,
`ownerPhone` int(12) NOT NULL,
`ownerEmail` varchar(64) NOT NULL,
);
The above table is not in First normal Form as no primary key exist. Primary key
is supposed to be (`petName`,`ownerLastName`,`ownerFirstName`) . If the primary key
is chosen as suggested the resultant table won't be in Second as well as Third Normal
form as the following dependencies exists.
.. code-block:: mysql
(OwnerLastName, OwnerFirstName) -> OwnerEmail
(OwnerLastName, OwnerFirstName) -> OwnerPhone
PetBreed -> PetType
Which says, OwnerEmail depends on OwnerLastName and OwnerFirstName.
OwnerPhone depends on OwnerLastName and OwnerFirstName.
PetType depends on PetBreed.
.. _faqproject:
phpMyAdmin project