question

Sharma avatar image
Sharma asked

Check Normalization on existing database?

Hi, What is the automatic process to check Normalization on existing database? Please Help.
normalization
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Kev Riley avatar image
Kev Riley answered
Normalization is a design consideration, and is based on organizing YOUR data for minimal redundancy and better performance. Because it is data dependent, there is no automatic process, you have to apply knowledge and rules. Certainly you can use the table metadata and the actual data to find possible areas of un-normalized data, for example nullable fields, null data, repeating data etc.
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Kevin Feasel avatar image
Kevin Feasel answered
To add to @Kev Riley's answer, what's even better is that what may be normalized for one table may not be for another. A great example is telephone numbers: supposing that you have just American phone numbers with no extensions, they're in the format (xxx) xxx-xxxx. Is this normalized? It depends... Are you going to analyze area codes and try to derive geographical information? If so, then no, this is not normalized. But if you're just printing the telephone number on an invoice and never doing anything else with it, then you could make an argument that it is normalized. Unfortunately, aside from some really obvious cases (like a table with Field1, Field2, Field3, Field4), normalization is a process, not a formula.
2 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

@sqlchamp - I should ask that as a different question - you'll get more relevant responses.
1 Like 1 ·
My requirement as given below:- I have to design database diagram on existing database which have 1000 thousand tables without any foreign key constraint but using referenced column in each other related module tables so how should I start to design the diagram?
0 Likes 0 ·
TimothyAWiseman avatar image
TimothyAWiseman answered
To expand slightly on Kev's excellent answer, there is no way to automate normalization starting with a database since proper normalization requires an understanding of dependencies within the data. Determining the dependcies requieres an understanding of the data and the relationship between the fields, this part cannot be automated. Now, if you can fully specify all functional dependencies within your data then it does become possible to automate the normalization at that point. However, in almost all real world cases precisely specifying the functional dependencies is the hardest part of normalization, and putting it into a form that can be used by the automated tools can be painstaking even when you know what allt he dependencies are. So, it is technically possible to automate it if you are willing and able to specify every functional dependency, but this really only comes up in academic/theoretical situations. As a practical matter, it is generally faster, simpler, and just as effective to do it by hand.
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.