Normalizimi i bazës së të dhënave: Kalimi në formën e dytë normale (2NF)

Vendosja e një baze të dhënash në formën e dytë të zakonshme

Gjatë muajit të kaluar, ne kemi shikuar në disa aspekte të normalizimit të tabelës së bazës së të dhënave. Së pari, diskutuam parimet themelore të normalizimit të bazës së të dhënave. Herën e fundit, kemi hulumtuar kërkesat themelore të parashtruara nga forma e parë normale (1NF). Tani, le të vazhdojmë udhëtimin tonë dhe të mbulojmë parimet e formës së dytë normale (2NF).

Kujtoj kërkesat e përgjithshme të 2NF:

Këto rregulla mund të përmblidhen në një deklaratë të thjeshtë: 2NF përpiqet të zvogëlojë sasinë e të dhënave të tepërta në një tabelë duke e nxjerrë atë, duke e vendosur atë në tryeza të reja dhe duke krijuar marrëdhënie midis atyre tabelave.

Le të shohim një shembull. Imagjinoni një dyqan në internet që mban informacionin e klientit në një bazë të dhënash. Ata mund të kenë një tabelë të vetme të quajtur Konsumatorë me elementët e mëposhtëm:

Një vështrim i shkurtër në këtë tabelë zbulon një sasi të vogël të të dhënave të tepërta. Ne po e ruajmë dy herë hyrjen e "Deti Cliff, NY 11579" dhe "Miami, FL 33157". Tani, kjo nuk mund të duket si ruajtje shumë e shtuar në shembullin tonë të thjeshtë, por imagjinoni hapësirën e humbur nëse kishim mijëra rreshta në tryezën tonë. Përveç kësaj, në qoftë se kodi ZIP për Deti Cliff do të ndryshonte, ne do të duhej ta bënim atë ndryshim në shumë vende në të gjithë bazën e të dhënave.

Në një strukturë të bazës së të dhënave të pajtueshme 2NF, ky informacion i tepërt është nxjerrë dhe ruhet në një tabelë të veçantë. Tabela jonë e re (le ta quajmë ZIP) mund të ketë fushat e mëposhtme:

Nëse duam të jemi super-efikas, mund ta plotësojmë edhe më parë këtë tabelë - zyra postare siguron një direktori të të gjitha kodeve të vlefshme ZIP dhe marrëdhëniet e tyre në qytet / shtet. Sigurisht, keni hasur në një situatë ku është përdorur ky lloj i bazës së të dhënave. Dikush që merr një urdhër mund t'ju ketë kërkuar fillimisht kodin tuaj ZIP dhe më pas e dinte qytetin dhe shtetin prej të cilës po thirresh. Ky lloj i marrëveshjes zvogëlon gabimin e operatorit dhe rrit efikasitetin.

Tani që ne kemi hequr të dhënat e dyfishta nga tabela e Konsumatorëve, ne kemi përmbushur rregullin e parë të formës së dytë normale. Ne ende duhet të përdorim një çelës të jashtëm për të lidhur së bashku dy tabelat. Ne do të përdorim kodin ZIP (çelësi primar nga tabela ZIPs) për të krijuar atë marrëdhënie. Këtu është tryeza jonë e re e Konsumatorëve:

Tani kemi minimizuar sasinë e informacionit të tepërt të ruajtur në bazën e të dhënave dhe struktura jonë është në formën e dytë normale!

Nëse dëshironi të siguroheni që baza juaj e të dhënave të normalizohet, eksploroni artikujt tonë të tjerë në këtë seri: