Nòmalize baz done ou
Si ou te ap travay ak baz done pou yon ti tan, chans ou te tande tèm nòmalizasyon an. Petèt yon moun mande ou "Eske baz done sa a normalized?" oswa "Eske se nan BCNF ?" Nòmalizasyon se souvan fwote sou kote kòm yon liksye ke sèlman akademik gen tan pou. Sepandan, konnen prensip yo nan nòmalizasyon ak aplike yo nan travay ou chak jou konsepsyon baz done reyèlman se pa tout sa ki konplike epi li te ka amelyore amelyore pèfòmans nan DBMS ou.
Nan atik sa a, nou pral prezante konsèp nan nòmalizasyon ak pran yon gade tou kout nan fòm ki pi komen nòmal.
Ki sa ki nòmalizasyon?
Nòmalizasyon se pwosesis la nan efikasman òganize done nan yon baz done. Gen de objektif nan pwosesis la nòmalizasyon: elimine done redondants (pou egzanp, estoke done yo menm nan plis pase yon sèl tab) ak asire depandans done fè sans (sèlman estoke done ki gen rapò nan yon tab). Tou de nan sa yo se objektif merite jan yo redwi kantite a nan espas yon baz done manje epi asire ke done lojikman ki estoke.
Fòm yo nòmal
Gen kominote a baz done devlope yon seri de gid pou asire ke baz done yo nòmalize. Sa yo refere yo kòm fòm nòmal, epi yo nimewote soti nan yon (fòm ki pi ba nan nòmalizasyon, refere yo kòm fòm nòmal premye oswa 1NF) nan senk (senkyèm fòm nòmal oswa 5NF). Nan aplikasyon pou pratik, ou pral wè souvan 1NF, 2NF, ak 3NF ansanm ak okazyonèl 4NF la. Senkyèm fòm nòmal se trè raman wè epi yo pa pral diskite nan atik sa a.
Anvan nou kòmanse diskisyon nou sou fòm nòmal yo, li enpòtan pou montre ke yo se direktiv ak gid sèlman. Okazyonèlman, li vin nesesè yo pèdi soti nan yo satisfè kondisyon biznis pratik. Sepandan, lè varyasyon pran plas, li trè enpòtan pou evalye nenpòt ki ramifications posib yo ka genyen sou sistèm ou ak kont pou enkonsistans posib. Sa te di, se pou nou eksplore fòm nòmal yo.
Premye Fòm Nòmal (1NF)
Premye fòm nòmal (1NF) etabli règleman yo trè debaz pou yon baz done òganize:
- Elimine kolòn duplikat soti nan menm tab la.
- Kreye tablo separe pou chak gwoup ki gen rapò ak done epi idantifye chak ranje ki gen yon kolòn inik oswa seri kolòn ( kle prensipal la ).
Dezyèm Fòm Nòmal (2NF)
Dezyèm fòm nòmal (2NF) pli lwen adrese konsèp la nan retire done duplicative :
- Rankontre tout kondisyon ki nan premye fòm nòmal la.
- Retire sibvès nan done ki aplike a plizyè ranje nan yon tab epi mete yo nan tab diferan.
- Kreye relasyon ant nouvo tab sa yo ak predesesè yo atravè itilizasyon kle etranje yo .
Twazyèm Fòm Nòmal (3NF)
Twazyèm fòm nòmal (3NF) ale yon gwo etap pi lwen:
- Rankontre tout kondisyon yo nan fòm nan dezyèm nòmal.
- Retire kolòn ki pa depann sou kle prensipal la.
Boyce-Codd Nòmal Fòm (BCNF oswa 3.5NF)
Boyce-Codd Nòmal Fòm, tou refere yo kòm "fòm nan nòmal twazyèm ak mwatye (3.5)", ajoute yon sèl plis kondisyon:
- Rankontre tout kondisyon yo nan fòm nan twazyèm nòmal.
- Chak detèminan dwe yon kle kandida.
Katriyèm Nòmal Fòm (4NF)
Finalman, katriyèm fòm nòmal (4NF) gen yon lòt egzijans:
- Rankontre tout kondisyon yo nan fòm nan twazyèm nòmal.
- Yon relasyon se nan 4NF si li pa gen okenn depandans milti-valè .
Sonje, direktiv nòmalizasyon sa yo se kimilatif. Pou yon baz done yo dwe nan 2NF, li dwe premye satisfè tout kritè yo nan yon baz done 1NF.
Èske mwen ta dwe nòmalize?
Pandan ke nòmalizasyon bazdone se souvan yon bon lide, li pa yon egzijans absoli. An reyalite, gen kèk ka kote fè espre vyole règleman yo nan nòmalizasyon se yon bon pratik. Pou plis sou sijè sa a, li ta dwe mwen nòmalize baz done mwen an?
Si ou ta renmen asire se baz done ou normalized, kòmanse ak aprann kouman yo mete baz done ou a nan Premye fòm nòmal .