Mi a normalizálás? 1NF, 2NF, 3NF, BCNF adatbázis-példa

Tartalomjegyzék:

Anonim

Mi a normalizálás?

A normalizálás egy adatbázis-tervezési technika, amely csökkenti az adatok redundanciáját és kiküszöböli azokat a nemkívánatos jellemzőket, mint a beszúrás, frissítés és törlés anomáliái. A normalizálási szabályok a nagyobb táblákat kisebb táblákra osztják és kapcsolatokkal kapcsolják össze. Az SQL-ben történő normalizálás célja a felesleges (ismétlődő) adatok kiküszöbölése és az adatok logikus tárolása.

A relációs modell feltalálója, Edgar Codd az első normál forma bevezetésével javasolta az adatok normalizálásának elméletét, és folytatta az elmélet kiterjesztését a második és a harmadik normál formával. Később csatlakozott Raymond F. Boyce-hoz, hogy kidolgozza a Boyce-Codd Normal Form elméletét.

Adatbázis Normál űrlapok

Itt található a normál űrlapok listája

  • 1NF (első normál forma)
  • 2NF (második normál forma)
  • 3NF (harmadik normál forma)
  • BCNF (Boyce-Codd normál forma)
  • 4NF (negyedik normál forma)
  • 5NF (ötödik normál forma)
  • 6NF (hatodik normál forma)

Az SQL szerveren az adatok normalizálásának elmélete még tovább fejlődik. Például vannak viták még 6 th Normal Form. Azonban a legtöbb gyakorlati alkalmazások, normalizálás éri el a legjobb 3 rd Normal Form . Az SQL normalizálási elméletek alakulását az alábbiakban szemléltetjük-

Adatbázis Normál űrlapok

Az adatbázis normalizálása példákkal

Az adatbázis- normalizálási példa esettanulmány segítségével könnyen érthető. Tegyük fel, hogy egy videotárat a kölcsönzött filmek adatbázisa tartja fenn. Az adatbázis normalizálása nélkül az összes információt egy táblázatban tároljuk, az alábbiak szerint. Értsük meg az adatbázis normalizálását táblázatokkal:

Itt láthatja a Kölcsönzött filmek oszlopnak több értéke van. Most térjünk át az 1. normál formákra:

1NF (első normál forma) szabályok

  • Minden táblázatcellának egyetlen értéket kell tartalmaznia.
  • Minden rekordnak egyedinek kell lennie.

A fenti táblázat az 1NF-

1NF példa

Mielőtt folytatnánk, értsünk meg néhány dolgot -

Mi a kulcs?

A KEY egy olyan érték, amely a tábla rekordjainak egyedi azonosítására szolgál. A KULCS lehet egyetlen oszlop vagy több oszlop kombinációja

Megjegyzés: A táblázat azon oszlopait, amelyeket NEM használnak a rekord egyedi azonosításához, kulcs nélküli oszlopoknak nevezzük.

Mi az elsődleges kulcs?

Az elsődleges egyetlen oszlopérték, amelyet az adatbázis-rekord egyedi azonosításához használnak.

A következő tulajdonságokkal rendelkezik

  • Az elsődleges kulcs nem lehet NULL
  • Az elsődleges kulcs értékének egyedinek kell lennie
  • Az elsődleges kulcsértékeket ritkán kell megváltoztatni
  • Az elsődleges kulcsnak új rekord beillesztésekor kell értéket adnia.

Mi az összetett kulcs?

Az összetett kulcs több oszlopból álló elsődleges kulcs, amelyet a rekord egyedi azonosítására használnak

Adatbázisunkban két ember van, azonos nevű Robert Phil, de különböző helyeken élnek.

Ezért a teljes név és a cím megadására van szükség a rekord egyedi azonosításához. Ez egy összetett kulcs.

Lépjünk a 2NF második normális formába

2NF (második normál forma) szabályok

  • 1. szabály - Legyen az 1NF-ben
  • 2. szabály: Egy oszlopos elsődleges kulcs

Egyértelmű, hogy nem tudunk előrelépni, hogy a mi egyszerű adatbázis 2 nd normalizálás forma, ha nem partíciót a fenti táblázat tartalmazza.

Az 1NF táblázatunkat két táblára osztottuk, azaz: 1. és 2. táblázat. Az 1. táblázat a tagok adatait tartalmazza. A 2. táblázat a kölcsönzött filmekkel kapcsolatos információkat tartalmazza.

Bevezettünk egy új oszlopot Tagság_azonosító néven, amely az 1. táblázat elsődleges kulcsa. A rekordok egyedileg azonosíthatók az 1. táblázatban tagsági azonosítóval

Adatbázis - külföldi kulcs

A 2. táblázatban a Tagság_azonosító az idegen kulcs

A Foreign Key egy másik táblázat elsődleges kulcsára utal! Segít összekapcsolni az Asztalokat

  • Az idegen kulcsnak az elsődleges kulcsától eltérő neve lehet
  • Biztosítja, hogy az egyik táblázat sorainak megfelelő sorai legyenek a másikban
  • Az Elsődleges kulccsal ellentétben nem kell egyedinek lenniük. Leggyakrabban nem
  • Az idegen kulcsok nullák lehetnek, bár az elsődleges kulcsok nem

Miért van szükség külföldi kulcsra?

Tegyük fel, hogy egy kezdő beilleszt egy rekordot a B. táblázatba, mint pl

Csak olyan értékeket tud beilleszteni az idegen kulcsába, amelyek a szülőtábla egyedi kulcsában találhatók. Ez segít a referenciák integritásában.

A fenti problémát úgy lehet leküzdeni, hogy a 2. tábla tagsági azonosítóját deklaráljuk az 1. táblázat tagsági azonosítójának külföldi kulcsaként

Most, ha valaki megpróbál olyan értéket beilleszteni a tagsági mezőbe, amely nem létezik a szülő táblában, hiba jelenik meg!

Mik azok a transzitív funkcionális függőségek?

Tranzitív funkcionális függőség a kulcs nélküli oszlop megváltoztatása esetén a többi kulcs nélküli oszlop bármelyikét megváltoztathatja

Tekintsük az 1. táblázatot. A teljes kulcs nélküli kulcs oszlopának megváltoztatása megváltoztathatja az üdvözlést.

Térjünk át a 3NF-re

3NF (harmadik normál forma) szabályok

  • 1. szabály - Legyen a 2NF-ben
  • 2. szabály: Nincs transzitív funkcionális függősége

Ahhoz, hogy 2NF táblázatunkat 3NF-be helyezzük, ismét meg kell osztanunk az asztalunkat.

3NF példa

Az alábbiakban egy 3NF példa található az SQL adatbázisban:

Ismét felosztottuk tábláinkat, és létrehoztunk egy új táblázatot, amely tárolja a köszöntéseket.

Nincsenek transzitív funkcionális függőségek, ezért táblázatunk 3NF-ben van

A 3. táblázatban az üdvözlés azonosítója az elsődleges kulcs, az 1. táblázatban pedig az üdvözlet azonosítója idegen a 3. táblázat elsődleges kulcsától

Most a mi kis példánk azon a szinten van, amely nem bontható tovább a normalizálás magasabb normális formáinak elérése érdekében. Valójában már magasabb normalizálási formákban van. Az összetett adatbázisokban általában külön erőfeszítésekre van szükség az adatok normalizálásának következő szintjeire való áttéréshez. Az alábbiakban azonban röviden tárgyaljuk a normalizálás következő szintjeit.

BCNF (Boyce-Codd normál forma)

Még ha az adatbázis 3 rd Normal Form, még mindig ott lenne anomáliákat eredményezett, ha egynél több jelölt kulcs.

Néha a BCNF-et 3.5 normál formának is nevezik .

4NF (negyedik normál forma) szabályok

Ha nincs adatbázis tábla például két vagy több, független és többértékű leíró adatokat az érintett szervezet, akkor a 4 -én Normal Form.

5NF (ötödik normál forma) szabályok

Egy tábla csak ötödik normál formában van, ha 4NF formátumban van, és adatvesztés nélkül nem osztható fel kisebb számú táblára.

Javasolt 6NF (hatodik normál forma)

6 th Normal Form nem szabványosított, mégis, ennek ellenére nem tárgyal adatbázis szakértők egy ideig. Remélhetőleg, mi lett volna világos és egységes definíció 6 th Normal Form a közeljövőben ...

Ennyi az SQL normalizálás !!!

Összegzés

  • Az adatbázis-tervezés kritikus fontosságú egy vállalati rendszer adatigényének megfelelő adatbázis-kezelő rendszer sikeres megvalósításához.
  • A DBMS normalizálási folyamata segít költséghatékony és jobb biztonsági modellekkel rendelkező adatbázis-rendszerek előállításában.
  • A funkcionális függőségek nagyon fontos elemei az adatok normalizálásának
  • A legtöbb adatbázis-rendszer normalizált adatbázis a harmadik normál formáig.
  • Az egyedileg azonosított elsődleges kulcs egy táblázat rekordja, és nem lehet null
  • Egy idegen kulcs segít összekapcsolni a táblázatot és hivatkozik egy elsődleges kulcsra