Kategórie článkov

Úvod do normalizácie v relačných databázach

Viete, aký je základný rozdiel medzi OLTP a OLAP databázou? OLTP sa pristupuje vo veľkom množstve, robia sa tam rôzne typy operácií (čítanie, zápis, modifikácie) a je potrebné optimalizovať databázu na čo najrýchlejšie spracovanie týchto požiadaviek. Práve preto sú OLTP databázy silne normalizované, zatiaľ čo databázy OLAP sú silne denormalizované.

Normalizácia databázy znamená rozdeliť databázu na maličké tabuľky tak, aby údaje neboli redundantné. Pri normalizácií sa môžete stretnúť s týmito pojmami.

Bezstratová dekompozícia

Pod týmto pojmom si môžete predstaviť vašu schopnosť nestratiť žiadne dáta. Musíte zabezpečiť, aby nedošlo k tomu, že v prípade, že sa databázu budete snažiť opätovne spojiť do jednej tabuľky, nestratíte pritom žiadne dáta.

Určenie Kandidátnych kľúčov

Kandidátne kľúče sú množiny atribútov entity, ktoré určujú jedinečnosť inštancii (záznamov, riadkov) entity. Môžu byť prirodzené alebo umelé. Je dôležité vedieť identifikovať každý riadok tabuľky. Hlavne, ak sa budeme snažiť normalizovať. Lebo potom môžeme jednotlivé menšie tabuľky spájať medzi sebou, či vytvárať vzťahy, práve pomocou týchto kandidátnych kľúčov. Z kandidátnych kľúčov si vždy vyberám ten najjedinečnejší a najmenší, a z neho vytvorím primárny kľúč.

Funkčná závislosť

Tento pojem sa snaží vyjadriť vzťah jednotlivých atribútov v danej entite, ktorý musí byť priamy voči primárnemu kľúču. Napríklad majme tabuľku HLAVIČKA_FAKTÚRY, ktorá bude udržiavať informácie ako číslo faktúry (Primárny kľúč), komu bude faktúra vystavená, kedy a kým.

Predstavme si, že by som mal v tabuľke aj ďalší atribút pobočka zamestnanca. Informovala by, na pobočke zamestnanec vystaví faktúru. Tento atribút nie je funkčne závislý od čísla faktúry, lebo nepopisuje priamo faktúru. Tento atribút popisuje priamo pobočku, nie faktúru. Preto nie je funkčne závislý o faktúry. Preto tam nemá byť. Takže funkčná závislosť znamená, že každý atribút danej entity je priamo závislý na primárnom kľúči, ktorý sme si zvolili.

 

Normalizácia sa skladá s normálových foriem. Každá normálová forma je séria pravidiel, ktorú môžete aplikovať na vašu databázu.

Marián Knězek

Súvisiace články: