[Talossa.com portal]
[Citizens Toolbox]
[Immigration]
No Running elections
Second lesson... Normalization(#10), posted by Mr. Furxheir, R.M.W., [IP Hidden], October 07, 2004 - 12:44. Viewed 995 times.
User InfoText
Mr. Furxheir, R.M.W.
Group: admins
(1791 posts total)
(last post: November 24, 2007 - 15:07)
Citizen #20:
Martí- Paìr Furxhéir
Normally, normalization is thought very far down the road of Database design, because it is often perceived as being more complex than the rest of Database operations.

However, for my part, I prefer to teach it first, so that people will from the start pay attention to getting good normalization techniques, instead of putting data all around without knowing how to organize it.

typically, 50% of the points of an exam on databases is tied to well normalizing a database, either directly or indirectly ( you can usually never submit in a Exam a database not at least in the 3rd normal form ).

So, what is normalization ? It is the process of organizing a database to make it as efficient as possible. We normalize for 2 reasons :
1 ) Eliminate redundance
2 ) Make sure dependance is correct.

Why would we want to eliminate redundance ??? Let's say that we decide to store the name of the citizen who hold a seat in the Senators table. This means that if a citizen change name ( for example, if they decide to use their Talossan name from now on ), we would have to change the name in every instance of the Senators table as well as in the citizen table. Had we stored only the citizen number, we would only change the name in one centralized location.

Second of all, we want to make sure dependance is correct. That means that we should only store related data in a table. I made such a mistake in the original database : I stored the citizenship date as well as the loss of citizenship date in the Citizen table. This is not a fatal mistake, but this means that if a citizen loses his citizenship, and regains it, we lose track of the period during which he was not a citizen. In reality, any time information is put in a table which is not 100% related to the table, we make an error in dependance. Storing the licence plate number of an employee in his employee record for a parking management system of a company would be a mistake : what if he comes with 2 cars, his and his wife's ???

To avoid these errors, guidelines were set to make sure a database is normalized. Each guideline is more and more strict and must be applied in order ( or simulateously ). We refer to a database to be in 1st, 2nd, 3rd or 4th ( etc... ) normal form, according to which rules have been applied.

Please note that these are only guidelines. In some cases, it is necessary to bend a rule to fit a special business need. At my work, we have a lot of redudancy on purpose, because we store historical information. We don't want to know the CURRENT name of the system, we want to know the name at the time the record was created.

In my replies, you will get the normal forms.



I Met A Girl Named Ida
She Came Straight From Sweden
I Gave Her Cuba Libre
Now She Does Everything I Say - Eh
Second lesson... NormalizationMr. Furxheir, R.M.W.October 07, 2004 - 12:44
Mr. Furxheir, R.M.W.October 07, 2004 - 13:04
Gödafrïeu Válcadác’hNovember 02, 2004 - 10:56
Mr. Furxheir, R.M.W.November 02, 2004 - 10:59
Gödafrïeu Válcadác’hNovember 02, 2004 - 11:11
Mr. Furxheir, R.M.W.November 02, 2004 - 11:34
Gödafrïeu Válcadác’hNovember 02, 2004 - 12:14
Mr. Furxheir, R.M.W.November 02, 2004 - 12:24
Reply to this post | Back to the forum | Forums Overview| Activate Thread View
Forums Overview | Login | Register | Lost your password? Cyphor (Release: 0.19, PHP 5.2.5)