Az adatbázisok normalizálása minimális redundanciával - IONOS
A relációs adatmodellezés egyik alapfogalma a normalizálás. ban,-ben relációs adatbázis modell a jó adatbázis-tervezést a minimum redundancia jellemzi. Az ok: a redundáns adatok szemantikai anomáliákhoz vezetnek. Ez viszont bonyolítja az automatikus adatfeldolgozást és az adatbázis karbantartását. A normalizálás a relációs adatbázisok redundanciáinak eltávolítására irányuló stratégia. Megmutatjuk, hogyan kell csinálni.

- Mi a normalizálás?
- Normalizálás: Az adatbázis normalizálása
- 1. Normál forma (1NF)
- 2. Normál forma (2NF)
- 3. Normál forma (3NF)
- Normálisabb formák
- Boyce-Codd normál forma (3,5 NF)
- 4. Normál forma
- 5. Normál forma
- A normalizálás előnyei és hátrányai
Mi a normalizálás?
A normalizálás egy adatbázis-tervezési megközelítés, amelyet a relációs adatbázisok az elbocsátások elkerülésére használják.
A relációs adatbázis modell a számítógépes adatkezelés legelterjedtebb fogalma. A relációs adatbázisokban az információkat úgy tároljuk Rekordok táblázatokban tárolva vannak, amelyek kulcsokon keresztül kapcsolódnak egymáshoz. Az adatrekord több értéktartományból áll, amelyeket táblaoszlopokon keresztül rendelnek hozzá bizonyos attribútumokhoz.
Az alábbi táblázat egy fiktív vállalati szerelő elmentett számla adatait mutatja. Max Mustermann 10 monitort, 12 egérpadot és 1 irodai széket rendelt cégéhez. A Musterfrau Erika megrendelése 2 laptopot és 2 fejhallgatót tartalmaz.
Az online bolt adatbázisában a számlaadatokat hozzárendelik az attribútumokhoz a számlaszám (R. sz.), A dátum, az ügyfél, a vásárló száma (K. sz.), A cím, a számla tételszáma (P. sz.), A cikk, a cikk száma (cikk- Sz.), A szám (szám) és a hozzárendelt ár. A táblázat minden sora egy adatrekordot jelent. Az ilyen rekordot a Tuple kijelölt.
A fent bemutatott adatbázis szakasz a Példa arossz adatbázis-tervezés. Első pillantásra észrevehető, hogy az asztal számos felesleggel rendelkezik. Ezenkívül az Ügyfél és a Cím oszlop értéktartományai többértékű adatokat tartalmaznak. Az egyik nem normalizált adatbázisról beszél.
A nem normalizált adatbázisok fő hátránya a redundáns értékek miatt megnövekedett memóriaigény. Ezenkívül a többértékű adatokat tartalmazó attribútumokat nehéz felolvasni, és egymáshoz kapcsolódnak.
Példa: A fent felsorolt adatbázis részben mindkét ügyfél Musterhausenben található. De mivel ezeket az információkat nem gyűjtötték külön, az adatbázis nem könnyen szűrhető ugyanazon helyről érkező ügyfelek számára.
A kettős és többértékű értéktartományok elkerülése érdekében a relációs adatbázis-modellek keretében három egymást követő érték van Normális formák kifejlesztésre került.
A normál forma egy meghatározott célállapot. Minden normál nyomtatványhoz külön követelményeket határoztak meg, amelyeknek meg kell felelniük ennek a célállapotnak a megvalósulásához. Az adatbázis megfelel az 1., 2. vagy 3. normál formának, ha az adott normál formára vonatkozó összes követelmény teljesül.
A normalizálás egy adatbázis-tábla átalakítása magasabb fokú normál formává. Az alacsonyabb fokú normál formába való átalakulást denormalizációnak nevezzük.
Normalizálás: Az adatbázis normalizálása
A relációs adatbázis 1., 2. és 3. normál formába történő átvitelének szemléltetése céljából a Normalizálás egy példa alapján által. A kiindulópont a fent felsorolt adatbázis szakasz.
1. Normál forma (1NF)
A relációs adatbázisban szereplő táblázat megfelel az 1. normál formának (1NF), ha a következő követelmények teljesülnek:
- Minden adat atomi.
- Minden táblázatoszlop hasonló értékeket tartalmaz.
Rekordnak tekintik atom, ha minden információ (minden tény) külön adatmezőhöz van rendelve.
Az alábbiakban megtalálja a számlaadattáblánkat, amelyben piros színnel kiemeltük az összes értéktartományt, amelyek nem atomi vagy nem tartalmaznak ezzel egyenértékű adatokat.
A számos kiemelés azt mutatja: A kiinduló táblázatunk mindkét követelményt megsérti, ezért nem felel meg az 1. normál formának.
Ha a felsorolt adatbázis szekciót az 1. normál formának megfelelően kell normalizálni, a következő eljárásra van szükség:
- Az összes többértékű adatot külön oszlopokra bontsa.
- Ellenőrizze az egyes oszlopokban szereplő értékek hasonlóságát.
Annak érdekében, hogy a példa táblában szereplő adatrekordok atom formába kerüljenek, az ügyfél és a cím attribútumokat fel kell bontani a konkrétabb attribútumokra: keresztnév és vezetéknév vagy utca, házszám (H.-Nr.), Irányítószám (irányítószám) és város.
Az a pont, amikor egy értéket atomnak tekintünk, a felhasználás összefüggéseitől függ. Például, ha a vezeték- és vezetéknév elválasztása nem szükséges, akkor egy személy teljes neve atomnak tekinthető. A gyakorlatban azonban tanácsos a többrészes értékeket a lehető legkisebb egységekre osztani.
Az Ár oszlop euróban és centben tartalmazza az információkat. Döntsön pontosan egy típusú specifikációról hasonló értéktartományok létrehozása érdekében.
Az eredmény egy táblázat, amely megfelel az 1. normál formának, de mégis a kettős értékek miatt nincs hatékony adatfeldolgozás megengedett. Ezért a redundanciák kiküszöbölése érdekében a táblázatot a 2. normál formára kell átalakítani.
Az 1. normál forma atomérték-tartományokat ír elő, és így lehetővé teszi az adatbázis-lekérdezéseket. A nem atomi értéktartomány részét képező adatokat nem lehet külön lekérdezni.
2. Normál forma (2NF)
Egy olyan táblának, amelynek meg kell felelnie a 2. normál formának, meg kell felelnie az 1. normál forma összes követelményének, és teljesítenie kell a következő feltételeket is:
- Minden nem kulcs attribútumnak funkcionálisan teljes mértékben függnie kell az elsődleges kulcstól.
A bevezetőben egy relációs adatbázist az egyes táblák rendszerének definiáltak, amelyek kulcsok segítségével kapcsolódnak egymáshoz.
A relációs adatbázisokban a kulcsokat az adatrekordok (sorrendek) egyedi azonosítására használják. Kulcs, amely lehetővé teszi az adatbázis-tábla egyes sorainak egyedi megnevezését Szuper kulcs hívott. Ilyen kulcs származhat egyetlen oszlop értékéből vagy több oszlop értékének összegéből.
Példánkban egy lehetséges szuperkulcs például a számla (R.-Nr.), az ügyfélszám (K.-Nr.) és a számla tételszám (P.-Nr.) attribútumokból származik. Az alábbi táblázatban kiemeltük a színes szuper kulcsot.
A számla, ügyfélszám és számla tételszámot tartalmazó kulcs az értékekkel lehetővé teszi például annak az adatrekordnak az egyértelmű azonosítását, amely egy laptop vásárlását jelenti Erika Musterfrautól:
Az ilyen egyedi azonosításhoz azonban nem szükséges a kiválasztott szuperkulcs összes részlete. A számlaszám és a számlaszám kombinációja - vagyis a szuperkulcs részhalmaza - elegendő lenne az egyes adatrekordok azonosításához. Az ilyen kulcsok minimális számú attribútummal lesznek Kulcsjelöltek vagy Alternatív kulcs hívott.
Általános szabály, hogy minden táblázathoz egy kulcsjelöltet választanak ki a táblázat feltérképezéséhez. Az egymást követő számozás ideális. Ilyen kulcsot hívnak Elsődleges kulcs jelöli és jelzi az adatrekordok sorrendjét.
Mint minden kulcsjelölt, az elsődleges kulcs lehet egyrészes - vagy mint a példánkban - összetett kulcs. Példatáblánk egy összetett elsődleges kulcsot használ, amely a számlaszámból és a számla tételszámából származik.
Az adatbázis-tábla 2. normál formára konvertálásához nem csak az elsődleges kulcs és az összes nem kulcs attribútum meghatározása, hanem egymáshoz való viszonyuk is fontos. Kovesd ezeket a lepeseket:
- Ellenőrizze, hogy minden nem kulcs attribútum funkcionálisan teljesen függ-e az elsődleges kulcstól. Ilyen függőség csak akkor létezik, ha az elsődleges kulcs összes attribútumára szükség van a nem kulcs attribútum egyedi azonosításához. Ez azt is jelenti, hogy az egyrészes elsődleges kulcsokat tartalmazó táblák automatikusan megfelelnek a 2. normál űrlapnak, ha az 1. normál űrlapra vonatkozó összes követelmény teljesül.
- Az összes nem kulcsfontosságú attribútumot helyezze külön táblákba, amelyek funkcionálisan nem teljesen függenek az egész elsődleges kulcstól.
Ha alaposan megnézi a mintatáblát, látni fogja, hogy a A 2. normál forma követelményei a következő okok miatt nem teljesül: A Dátum oszlop csak a számla számától (R.-Nr.) függ, a számla tételszámától (P.-Nr.) nem. Ugyanez vonatkozik az ügyféladatok keresztnevére, vezetéknevére, utcára, házszámára (H.-Nr.), irányítószámára és városára.
Annak érdekében, hogy az adattáblát átvigyük a 2. normál űrlapra, az összes, csak a számlaszámtól függő attribútumot kiszervezzük egy külön "Számla" nevű táblában.