More actions
Bez shrnutí editace |
Bez shrnutí editace |
||
Riadok 163: | Riadok 163: | ||
{| class="wikitable" | {| class="wikitable" | ||
!Pojem | !Pojem | ||
! | !Popis | ||
|- | |- | ||
|'''Interná organizácia''' | |'''[[Organizácia údajov v databázach#Interná organizácia údajov|Interná organizácia]]''' | ||
|Fyzické ukladanie dát. | |Fyzické ukladanie dát. | ||
|- | |- | ||
|'''Externá organizácia''' | |'''[[Organizácia údajov v databázach#Externá organizácia údajov|Externá organizácia]]''' | ||
|Užívateľské pohľady na dáta. | |Užívateľské pohľady na dáta. | ||
|- | |- | ||
|'''Konceptuálna organizácia''' | |'''[[Organizácia údajov v databázach#Konceptuálna organizácia údajov|Konceptuálna organizácia]]''' | ||
|Logická štruktúra dát. | |Logická štruktúra dát. | ||
|- | |- | ||
|'''Dátová integrita''' | |'''[[Organizácia údajov v databázach#Dátová integrita|Dátová integrita]]''' | ||
|Správnosť a presnosť individuálnych údajov. | |Správnosť a presnosť individuálnych údajov. | ||
|- | |- | ||
|'''Relačná integrita''' | |'''[[Organizácia údajov v databázach#Relačná integrita|Relačná integrita]]''' | ||
|Konzistentné vzťahy medzi tabuľkami. | |Konzistentné vzťahy medzi tabuľkami. | ||
|- | |- | ||
|'''Doménová integrita''' | |'''[[Organizácia údajov v databázach#Doménová integrita|Doménová integrita]]''' | ||
|Hodnoty spĺňajú pravidlá domény. | |Hodnoty spĺňajú pravidlá domény. | ||
|- | |- | ||
|'''Referenčná integrita''' | |'''[[Organizácia údajov v databázach#Referenčná integrita|Referenčná integrita]]''' | ||
|Cudzí kľúč odkazuje na existujúci riadok. | |Cudzí kľúč odkazuje na existujúci riadok. | ||
|- | |- | ||
|'''Redundancia''' | |'''[[Organizácia údajov v databázach#Redundancia|Redundancia]]''' | ||
|Duplicitné ukladanie dát. | |Duplicitné ukladanie dát. | ||
|- | |- | ||
|'''Bezstratová dekompozícia''' | |'''[[Organizácia údajov v databázach#Bezstratová dekompozícia|Bezstratová dekompozícia]]''' | ||
|Rozdelenie tabuliek bez straty údajov. | |Rozdelenie tabuliek bez straty údajov. | ||
|} | |} | ||
{{Téma|Oblast=Kategória:Dátová veda|Poradie=40}} | {{Téma|Oblast=Kategória:Dátová veda|Poradie=40}} | ||
[[Kategória:Dátová veda]] | [[Kategória:Dátová veda]] |
Verzia z 08:30, 13. január 2025
Úrovne organizácie údajov v databázach, typy integrity, redundancia a bezstratová dekompozícia.
Úrovne organizácie údajov v databázach
Tieto tri úrovne organizácie údajov vyjadrujú rôzne pohľady na databázu, čo umožňuje oddelenie logického návrhu od fyzickej implementácie:
Interná organizácia údajov
Popisuje, ako sú údaje fyzicky uložené v databázovom systéme. Zameriava sa na efektívnosť a správu ukladania údajov.
Obsahuje:
- Štruktúry ako indexy, bloky, zoskupenie súborov;
- Optimalizáciu ukladania dát, aby sa zlepšila výkonnosť;
Napríklad:
- Dáta sú uložené v binárnom formáte v pamäti alebo na disku;
- Používanie B-stromov na rýchle vyhľadávanie;
Externá organizácia údajov
Predstavuje spôsob, akým používatelia a aplikácie vidia a pracujú s údajmi. Zameriava sa na zabezpečenie dát a ich zobrazenie pre konkrétne potreby.
Obsahuje:
- Personalizované formy prístupu k údajom;
Napríklad:
- Predajca vidí len údaje o zákazníkoch, ku ktorým má prístup, a nie celú databázu;
- Report o mesačných predajoch je pohľad na komplexnejšie údaje;
Konceptuálna organizácia údajov
Poskytuje logický pohľad na celé dáta a ich vzťahy, nezávisle od fyzického ukladania. Zameriava sa na návrh a logickú konzistenciu databázy.
Obsahuje:
- Logické štruktúry: tabuľky, vzťahy, obmedzenia;
- Popis, ako sú dáta navzájom prepojené;
Napríklad:
- Návrh entitno-relačného diagramu, ktorý ukazuje, že tabuľka
zakaznik
je prepojená s tabuľkouobjednavka
;
Typy integrity
Integrita zabezpečuje správnosť, presnosť a spoľahlivosť údajov v databáze. Tu sú jej hlavné typy:
Dátová integrita
Zabezpečuje, že dáta sú presné a konzistentné v rámci celého systému.
Použitie:
- Zabezpečenie, že telefónne čísla majú správny formát;
- Hodnota v stĺpci
vek
nesmie byť záporná;
Relačná integrita
Týka sa konzistencie vzťahov medzi tabuľkami.
Použitie:
- Každý riadok musí mať jedinečný primárny kľúč;
- Cudzí kľúč musí odkazovať na existujúci primárny kľúč;
Doménová integrita
Hodnoty v stĺpcoch musia spĺňať stanovené pravidlá.
Použitie:
- Atribút
vek
má hodnoty v rozsahu 0 až 120; - Atribút
email
obsahuje iba platné emailové adresy;
Referenčná integrita
Zabezpečuje, že cudzí kľúč v jednej tabuľke správne odkazuje na existujúci záznam v druhej tabuľke.
Použitie:
- Ak tabuľka
objednavka
obsahuje cudzí kľúčzakaznik_id
, záznam s týmto ID musí existovať v tabuľkezakaznik
.
Redundancia
Jedná sa o duplicitné ukladanie rovnakých údajov v databáze.
Nevýhody:
- Zvýšené nároky na úložisko.
- Riziko inkonzistencie údajov (zmena jednej hodnoty nemusí byť aplikovaná všade).
Napríklad:
- Meno zákazníka uložené v tabuľke
objednavka
ajfaktura
.
Redundancia sa môže riešiť prostredníctvom normalizácie databázy (rozdelenie tabuľky na viacero menších, čím sa odstráni redundantné ukladanie údajov).
Bezstratová dekompozícia
Proces rozdelenia tabuľky na menšie tabuľky (dekompozícia), bez straty pôvodných údajov (bezstratová).
Podmienky:
- Rozdelené tabuľky musia byť prepojené kľúčmi (teda, musí existovať primárny a zároveň aj cudzí kľúč);
- Z pôvodnej tabuľky musia byť údaje presne rekonštruovateľné (teda, v novej tabuľke zahrnieme všetky pôvodné údaje a nič nevynecháme, údaje sa nemôžu len tak stratiť);
Napríklad:
Pôvodná tabuľka zakaznik
by vyzerala takto:
zakaznik_id
|
meno
|
mesto
|
---|---|---|
1 | Jana | Bratislava |
2 | Peter | Košice |
Avšak, je pravdepodobné že viacero zákazníkov bude z rovnakého mesta. Časom bude údajov priveľa a databáza bude náročná na údržbu (čo ak chceme podobný atribút zmeniť - museli by sme manuálne zabezpečiť zmenu pre všetkých zákazníkov v tabuľke). Rovnako bude zaberať na disku aj viacej miesta.
Ak chceme na tejto tabuľke zrealizovať dekompozíciu (a teda, odstrániť redundanciu), atribúty v tabuľke musíme vhodne rozdeliť na viacero menších tabuliek:
Tabuľka zakaznik
, po dekompozícii:
zakaznik_id
|
meno
|
mesto_id
|
---|---|---|
1 | Jana | 1 |
2 | Peter | 2 |
Tabuľka mesto
:
mesto_id
|
mesto
|
---|---|
1 | Bratislava |
2 | Košice |
Výhody:
- Dekompozícia odstraňuje redundanciu;
- Zabezpečuje konzistenciu údajov (napríklad: ak zmeníme názov mesta v tabuľke
mesta
, zmena sa automaticky prejaví pre všetkých zákazníkov);
Nevýhody:
- Komplikovanejšie dotazy (vyžaduje
JOIN
operácie, aby sme sa dostali ku konkrétnym údajom);
Zhrnutie
Pojem | Popis |
---|---|
Interná organizácia | Fyzické ukladanie dát. |
Externá organizácia | Užívateľské pohľady na dáta. |
Konceptuálna organizácia | Logická štruktúra dát. |
Dátová integrita | Správnosť a presnosť individuálnych údajov. |
Relačná integrita | Konzistentné vzťahy medzi tabuľkami. |
Doménová integrita | Hodnoty spĺňajú pravidlá domény. |
Referenčná integrita | Cudzí kľúč odkazuje na existujúci riadok. |
Redundancia | Duplicitné ukladanie dát. |
Bezstratová dekompozícia | Rozdelenie tabuliek bez straty údajov. |