Normalizácia databáz s minimálnou redundanciou - IONOS
Jedným zo základných konceptov modelovania relačných údajov je normalizácia. v model relačnej databázy dobrý dizajn databázy sa vyznačuje minimom nadbytočnosti. Dôvod: nadbytočné údaje vedú k sémantickým anomáliám. To zase komplikuje automatické spracovanie údajov a údržbu databázy. Normalizácia je stratégia na odstránenie nadbytočnosti v relačných databázach. Ukážeme vám, ako na to.

- Čo je normalizácia?
- Normalizácia: Ako normalizovať databázu
- 1. Normálna forma (1NF)
- 2. Normálna forma (2NF)
- 3. Normálna forma (3NF)
- Normálnejšie formy
- Boyce-Codd normálna forma (3,5 NF)
- 4. Normálna forma
- 5. Normálna forma
- Klady a zápory normalizácie
Čo je normalizácia?
Normalizácia je prístup k návrhu databázy, ktorý sa používa v relačné databázy sa používa na zabránenie prepúšťania.
Model relačnej databázy je najrozšírenejšou koncepciou pre správu údajov pomocou počítača. V relačných databázach sú informácie uložené ako Záznamy v tabuľkách uložené navzájom súvisiace prostredníctvom kľúčov. Údajový záznam sa skladá z niekoľkých rozsahov hodnôt, ktoré sú priradené určitým atribútom prostredníctvom stĺpcov tabuľky.
Nasledujúca tabuľka zobrazuje uložené údaje o faktúre pre fiktívneho montéra spoločnosti. Max Mustermann si pre svoju spoločnosť objednal 10 monitorov, 12 podložiek pod myš a 1 kancelársku stoličku. Objednávka od Eriky Musterfrau obsahuje 2 notebooky a 2 náhlavné súpravy.
V databáze online obchodu sú fakturačné údaje priradené k atribútom číslo faktúry (R.No.), dátum, zákazník, číslo zákazníka (K.No.), adresa, číslo položky faktúry (P.No.), článok, číslo článku (Art.- Č.), Číslo (číslo) a pridelená cena. Každý riadok tabuľky predstavuje jeden dátový záznam. Takýto záznam sa nazýva a Násobný určený.
Vyššie uvedená sekcia databázy funguje ako a Príklad azlý návrh databázy. Na prvý pohľad je viditeľné, že tabuľka obsahuje početné prepúšťanie. Rozsahy hodnôt v stĺpcoch Zákazník a Adresa navyše obsahujú údaje s rôznymi hodnotami. Jeden hovorí o nenormalizovanej databáze.
Hlavnou nevýhodou nenormalizovaných databáz je zvýšená potreba pamäte v dôsledku nadbytočných hodnôt. Okrem toho je ťažké prečítať atribúty obsahujúce údaje s viacerými hodnotami a navzájom sa vzťahovať.
Príklad: Obaja zákazníci v sekcii s databázami uvedenými vyššie majú sídlo v Musterhausene. Ale keďže sa tieto informácie nezhromažďovali osobitne, nemožno databázu ľahko filtrovať pre zákazníkov z rovnakého miesta.
Aby sa zabránilo dvojitým a viachodnotovým rozsahom hodnôt, existujú tri po sebe nasledujúce v rámci modelov relačných databáz Normálne formy bol vyvinutý.
Normálna forma je definovaný cieľový stav. Pre každú normálnu formu boli špecifikované špeciálne požiadavky, ktoré musia byť splnené, ak má dôjsť k tomuto cieľovému stavu. Databáza zodpovedá 1., 2. alebo 3. normálnemu formuláru, ak sú splnené všetky požiadavky na príslušný normálny formulár.
Normalizácia je transformácia databázovej tabuľky do normálnej formy vyššieho stupňa. Prepočet na normálnu formu nižšieho stupňa sa nazýva denormalizácia.
Normalizácia: Ako normalizovať databázu
Pre ilustráciu prenosu relačnej databázy do 1., 2. a 3. normálnej formy budeme hrať jednotlivé etapy Normalizácia založená na príklade od. Východiskovým bodom je databázová časť uvedená vyššie.
1. Normálna forma (1NF)
Tabuľka v relačnej databáze zodpovedá 1. normálnemu formuláru (1NF), ak sú splnené tieto požiadavky:
- Všetky údaje sú atómové.
- Všetky stĺpce tabuľky obsahujú podobné hodnoty.
Za záznam sa považuje záznam atómový, ak je každá informácia (každá skutočnosť) priradená k samostatnému údajovému poľu.
Ďalej nájdete našu tabuľku s fakturačnými údajmi, v ktorej sme červenou farbou zvýraznili všetky rozsahy hodnôt, ktoré nie sú atómové, alebo neobsahujú ekvivalentné údaje.
Početné body ukazujú: Naša štartovacia tabuľka porušuje obe požiadavky, a preto nezodpovedá 1. normálnemu formuláru.
Ak sa má uvedená databázová časť normalizovať podľa 1. normálneho formulára, je potrebný nasledujúci postup:
- Všetky údaje s rôznymi hodnotami rozdeľte do samostatných stĺpcov.
- Skontrolujte podobnosť v každom stĺpci.
Aby sa dátové záznamy v príkladovej tabuľke dostali do atómovej podoby, musia sa atribúty zákazníka a adresy rozdeliť na konkrétnejšie atribúty meno a priezvisko alebo ulica, číslo domu (H.-Nr.), PSČ (PSČ) a mesto.
Bod, v ktorom sa hodnota považuje za atómovú, závisí od kontextu použitia. Ak napríklad nie je potrebné oddeliť meno a priezvisko, celé meno osoby možno považovať za atómové. V praxi sa však odporúča rozdeliť viacdielne hodnoty na najmenšie možné jednotky.
Stĺpec Cena obsahuje informácie v eurách a centoch. Rozhodnite sa presne pre jeden typ špecifikácie, aby ste vytvorili podobné rozsahy hodnôt.
Výsledkom je tabuľka, ktorá zodpovedá 1. normálnemu tvaru, ale stále kvôli dvojitým hodnotám žiadne efektívne spracovanie údajov povolený. Z tohto dôvodu je vhodné previesť tabuľku na druhú normálnu formu, aby sa vylúčilo prepúšťanie.
Prvá normálna forma predpisuje rozsahy atómových hodnôt a umožňuje tak databázové dotazy. Na údaje, ktoré sú súčasťou iného ako atómového rozsahu hodnôt, sa nemožno dotazovať osobitne.
2. Normálna forma (2NF)
Tabuľka, ktorá by mala zodpovedať 2. normálnemu formuláru, musí spĺňať všetky požiadavky 1. normálneho formulára a tiež spĺňať nasledujúcu podmienku:
- Každý nekľúčový atribút musí byť funkčne úplne závislý od primárneho kľúča.
V úvode bola definovaná relačná databáza ako systém jednotlivých tabuliek, ktoré sú navzájom spojené pomocou kľúčov.
V relačných databázach sa kľúče používajú na jednoznačnú identifikáciu dátových záznamov (n-tic). Kľúč, ktorý umožňuje jedinečné pomenovanie jednotlivých riadkov databázovej tabuľky Super kľúč zavolal. Takýto kľúč môže byť výsledkom hodnôt jedného stĺpca alebo súčtu hodnôt niekoľkých stĺpcov.
V našom príklade možný superkľúč vyplýva z atribútov číslo faktúry (R.-Nr.), číslo zákazníka (K.-Nr.) a číslo položky faktúry (P.-Nr.). V nasledujúcej tabuľke sme farebne zvýraznili superkľúč.
Kľúč pozostávajúci z čísla faktúry, čísla zákazníka a čísla položky faktúry s hodnotami umožňuje napríklad jasne identifikovať dátový záznam, ktorý predstavuje nákup notebooku spoločnosťou Erika Musterfrau:
Na takúto jednoznačnú identifikáciu však nie sú potrebné všetky podrobnosti o vybranom superkľúči. Na identifikáciu jednotlivých záznamov údajov by stačila kombinácia čísla faktúry a čísla položky faktúry - t. J. Podmnožina superkľúča. Takéto kľúče s minimálnym počtom atribútov budú Kľúčoví kandidáti alebo Alternatívny kľúč zavolal.
Pre každú tabuľku je spravidla vybraný jeden kľúčový kandidát na mapovanie tabuľky. Ideálne je postupné číslovanie. Takýto kľúč sa nazýva Primárny kľúč označuje a označuje poradie dátových záznamov.
Ako každý kandidát na kľúč, aj primárny kľúč môže byť jednodielny alebo - ako v našom príklade - zložený kľúč. Naša príkladová tabuľka používa zložený primárny kľúč, ktorý je výsledkom čísla faktúry a čísla položky faktúry.
Aby bolo možné previesť databázovú tabuľku do druhého normálneho tvaru, je dôležité nielen určiť primárny kľúč a všetky nekľúčové atribúty, ale aj ich vzájomný vzťah. Nasleduj tieto kroky:
- Skontrolujte, či sú všetky nekľúčové atribúty plne funkčne závislé od primárneho kľúča. Takáto závislosť existuje, iba ak sú potrebné všetky atribúty primárneho kľúča na jednoznačnú identifikáciu nekľúčového atribútu. To tiež znamená, že tabuľky s jednodielnymi primárnymi kľúčmi automaticky zodpovedajú 2. normálnemu formuláru, ak sú splnené všetky požiadavky pre 1. normálny formulár.
- Presuňte všetky nekľúčové atribúty, ktoré nie sú úplne funkčne závislé od celého primárneho kľúča, do samostatných tabuliek.
Ak sa dôkladne pozriete na ukážkovú tabuľku, uvidíte, že Požiadavky na 2. normálny formulár z nasledujúcich dôvodov nesplnené sú: Stĺpec dátum závisí iba od čísla faktúry (R.-Nr.), ale nie od čísla položky faktúry (P.-Nr.). To isté platí pre údaje o zákazníkovi: meno, priezvisko, ulica, číslo domu (H.-Nr.), PSČ a mesto.
Aby sme mohli konvertovať údajovú tabuľku do druhého normálneho tvaru, všetky atribúty, ktoré závisia iba od čísla faktúry, ukladáme do samostatnej tabuľky s názvom „Faktúra“.