Adatbázisának normalizálása: Első normál űrlap

Ez a két egyszerű szabály segít az adatbázisok normalizálásában

Az első normál űrlap (1NF) meghatározza a szervezett adatbázis alapvető szabályait:

Mit jelentenek ezek a szabályok az adatbázis gyakorlati megtervezése során? Ez valójában nagyon egyszerű.

1. Szüntesse meg a másolást

Az első szabály azt írja elő, hogy az adatokat ugyanazon a táblázaton belül nem szabad duplikálni. Az adatbázis közösségén belül ez a fogalom a táblázat atomizmusa. Azok a táblázatok, amelyek megfelelnek ennek a szabálynak, atomosak. Vizsgáljuk meg ezt az elvet egy klasszikus példával: egy humán erőforrás-adatbázisban található táblázat, amely tárolja a menedzser-alárendelt kapcsolatot. Példánkban meghatározzuk az üzleti szabályt, hogy minden vezetőnek lehet egy vagy több alárendeltje, míg minden alárendelt csak egyetlen kezelőnek lehet.

Intuitív módon, ha létrehoz egy listát vagy táblázatot az adatok nyomon követéséhez, létrehozhatunk egy táblát az alábbi mezőkkel:

Emlékezz azonban az 1NF által bevezetett első szabályra: Törölje a duplikált oszlopokat ugyanabból a táblából. Nyilvánvaló, hogy az Alárendelt1-Alárendelt4 oszlopok kettősek. Vessen egy pillanatot és fontolja meg a forgatókönyv által felvetett problémákat. Ha egy kezelőnek csak egy alárendeltje van, akkor az Alárendelt2-Subordinate4 oszlopok egyszerűen elvesztik a tárhelyet (értékes adatbázis árucikk). Továbbá képzeljük el azt az esetet, amikor egy menedzser már 4 alárendeltje van - mi történik, ha egy másik alkalmazottat vesz fel? Az egész asztal szerkezete módosítást igényelne.

Ezen a ponton általában egy második fényes elképzelés jön létre az újdonságok számára: Nem akarunk több oszlopot használni, és szeretnénk rugalmas mennyiségű adattárolást engedélyezni. Próbáljunk valami ilyesmit:

És az Alárendeltek mező több bejegyzést tartalmazna: "Mary, Bill, Joe".

Ez a megoldás közelebb van, de ez a jelhez is elmarad. Az alárendelt oszlop még mindig kettős és nem atomi. Mi történik, ha hozzá kell adnunk vagy eltávolítanunk egy alárendelt? Meg kell olvasnunk és felírnunk az asztal teljes tartalmát. Ez nem nagy dolog ebben a helyzetben, de mi van, ha egy menedzser száz alkalmazottja lenne? Továbbá bonyolítja a jövőbeli lekérdezésekben az adatok adatbázisból történő kiválasztását.

Itt van egy táblázat, amely megfelel az 1NF első szabályának:

Ebben az esetben minden alárendelt egy bejegyzést tartalmaz, de a vezetők több bejegyzéssel is rendelkezhetnek.

2. Az elsődleges kulcs azonosítása

Most mi a helyzet a második szabálysal: azonosítani minden sor egy egyedi oszlopot vagy oszlopkészletet (az elsődleges kulcsot )? Lehet, hogy megnézzük a fenti táblázatot, és javasoljuk az alárendelt oszlop elsődleges kulcsként való használatát. Valójában az alárendelt oszlop jó jelölt az elsődleges kulcs számára, mivel üzleti szabályaink szerint az egyes alárendelteknek csak egy vezetője lehet. Azonban az általunk kiválasztott táblákon tárolt adatok miatt ez nem ideális megoldás. Mi történik, ha felveszünk egy másik, Jim nevű munkatársat? Hogyan tároljuk az igazgató-alárendelt kapcsolatát az adatbázisban?

A legjobb, ha valódi egyedi azonosítót (például egy alkalmazott azonosítót) használ, mint elsődleges kulcsot . A döntő asztalunk így fog kinézni:

Most asztalunk az első normális formában van! Ha folytatni szeretné a normalizáció megtanulását, olvassa el a sorozat többi cikkét: