Bazaj Bazaj Normalaj Datumaroj

Normiganta vian Datumaron

Se vi laboris kun datumbazoj dum momento, ŝajnas, ke vi aŭdis la terminan normaligon. Eble iu demandis vin "Ĉu tiu datumbazo normaliĝis?" aŭ "Ĉu tio estas en BCNF ?" Normaligo ofte estas forkaptita kiel lukso, ke nur akademiuloj havas tempon por. Tamen, sciante la principojn de normaligo kaj aplikante ilin al viaj ĉiutagaj datumbazoj de dezajno, vere ne estas ĉio komplika kaj ĝi povus plibonigi la agadon de via DBMS.

En ĉi tiu artikolo ni prezentos la koncepton de normaligo kaj mallongan rigardon al la plej komunaj normalaj formoj.

Kio estas normala?

Normaligo estas la procezo de efike organizi datumojn en datumbazo. Ekzistas du celoj de la normala procezo: forigante redundajn datumojn (ekzemple, konservante la samajn datumojn en pli ol unu tablo) kaj certigi datumajn dependecojn havas senson (nur stoki rilatajn datumojn en tablo). Ambaŭ ĉi tiuj estas dignaj celoj ĉar ili malpliigas la kvanton de spaco, kiun datumbazo konsumas kaj certigas, ke la datumoj estas logike stokitaj.

La Normalaj Formoj

La datumbaza komunumo disvolvis serion de gvidlinioj por certigi ke datumbazoj estas normala. Ĉi tiuj estas referitaj kiel normalaj formoj kaj estas numeritaj de unu (la plej malalta formo de normaligo, nomata unua normala formo aŭ 1NF) per kvin (kvina normala formo aŭ 5NF). En praktikaj aplikoj, vi ofte vidos 1NF, 2NF, kaj 3NF kune kun la okaza 4NF. Kvina normala formo estas tre malofte vidata kaj ne estos diskutita en ĉi tiu artikolo.

Antaŭ ol ni komencu nian diskutadon pri la normalaj formoj, estas grave rimarki, ke ili estas gvidlinioj kaj gvidlinioj nur. Foje, necesas forkuri de ili por renkonti praktikajn komercajn postulojn. Tamen, kiam variadoj okazas, ĝi estas ekstreme grava taksi iujn eblajn ramifojn, kiujn ili povus havi en via sistemo kaj koncernas eblajn nekonsekvencojn. Dirite, ni esploru la normalajn formojn.

Unua Normala Formo (1NF)

Unua normala formo (1NF) starigas la bazajn regulojn por organizita datumbazo:

Dua Normala Formo (2NF)

Dua normala formo (2NF) plu traktas la koncepton forigi duplikatajn datumojn :

Tria Normala Formo (3NF)

Tria normala formo (3NF) iras unu grandan paŝon pli malproksime:

Normala Formo Boyce-Codd (BCNF aŭ 3.5NF)

La Boyce-Codd Normala Formo, ankaŭ nomata "tria kaj duono (3.5) normala formo", aldonas unu pli postulon:

Kvara Normala Formo (4NF)

Fine, kvara normala formo (4NF) havas unu kroman postulon:

Memoru, ĉi tiuj normalaj gvidlinioj estas akumulataj. Por datumbazo esti en 2NF, ĝi devas unue plenumi ĉiujn kriteriojn de 1NF-datumbazo.

Ĉu mi devas normala?

Dum datumbazo normala ofte estas bona ideo, ĝi ne estas absoluta postulo. Fakte, estas iuj kazoj, kie intence malobservi la regulojn de normaligo estas bona praktiko. Por pli pri ĉi tiu temo, legu Ĉu mi Normale Mian Datumaron?

Se vi ŝatus certigi, ke via datumbazo estas normala, komencu lerni kiel meti vian datumbazon en Unua Normala Formo .