Databázy
Hromadné spracovanie dát – úlohy na spracovanie veľkého množstva údajov, kt. si nevyžadujú zložité algoritmy. Ale len jednoduché, avšak časté pravidelné manipulácie ako napríklad vyhľadávanie, tlačové výpisy, triedenie,..
Def. 1 – Pod databázovým systémom DBS je treba chápať množstvo navzájom súvisiacich dát spoločne s programovým vybavením, kt.umožňuje prístup k dátam.
Def. 2 – DBS môžeme chápať aj ako PC systém správy uložených záznamov
Def. 3 – DSS tvorí databáza DB a systémové zariadenia bázy dát SRBD
Def. 4 – Date, C. J., 1995
DBS tvoria nasledovné komponenty:
- Dáta
- Software
- Hardware
- Užívatelia
Časti databázy
Dáta – údaje (technické, administratívne, ekonomické, finančné, štatistické), ktoré je možno spracovávať s pomocou technických prostreidkov
Perzistentné dáta – existujú aj po ukončení programu. Dáta pretrvávajú, t. j. existujú v DB nezávisle v programoch, tiež nezávisle na tom, či s nimi užívateľ pracuje alebo nie
Vstupné dáta – reprezentujú údaje vstupujúce do systému
Výstupné dáta – reprezentujú údaje vystupujúce do systému
Reprezentácia dát
– dáta sú ukladané ako množstvo záznamov jednotlivých súborov, pričom každý záznam súboru je množinou položiek rôznych typov. Samotný súbor obsahujúci záznamy je vlastne množinou záznamov rovnakého typu
- numerické dáta, reťazce, číselníky, jednotky, odvodené dáta…
Hardware
– najdôležitejšie časti hardware, ktoré ovplyvňujú DBS sú:
- pamäťové médiá – najčastejšie disky
- procesor
- vnútorná pamäť
- komunikačný podsystém
Software
– programové vybavenie DBS tvorí systém riadenia bázy dát SRBD. Všetky požiadavky od úživateľov na prístup databázy, od pridania nového súboru do databázy cez prácu so samot. Dátami až po vymazanie súboru z databázy, sú spracovávané SRBD. Systém riadenia bázy dát vytvára prostredie pre užívateľov a aplikačných programátorov tak, aby mohli s databázou pracovať bez znalosti Hardware, ktorý je použitý na prevádzku DBS.
Užívatelia:
- koncový užívateľ
- aplikačný programátor
- DBA – databázový administrátor
Požiadavky na DB:
– kvalitný DB systém musí zabezpečiť:
- Oddelenie definície dát od príkazov na manipuláciu s nimi
- Nezávislosť dát /znam., že programy, ktoré umožňujú prístup k dátam sú nezávislé na tom, ako a kde sú dáta uložené/
- Procedurálne a neprocedurálne rozhranie
- Minimalizáciu redundantlanice dát / hl. problém mnohých databáz je viacnásobný výskyt dát, z čoho vyplývajú zvýšené náklady na udržiavanie týchto duplicít, ktoré v prípade zmien týchto dát je nutné aplikovať zmeny vo všetkých výskytoch
- Ochranu proti nekonzistenii dát /dáta uložené v DB musia vyhovovať definovaným podmienkam/
- Zdieľanie dát /paralelný prístup/
- Riadenie prístupu – musí umožňovať definovanie prístupových práv k dátam pre jednotlivých užívateľov alebo aplikácie – to znamená ohraničenie, aby niektorí užívatelia mohli iba prezerať
- Bezpečný prístup k dátam:
Spoľahlivosť – DB sú chránené užívateľským účtami a heslami.
Bezpečnosť – ochrana pred neoprávneným prístupom, šifrovanie dát.
- Integritu dát (je schopnosť databázy vyhnúť sa strate konzistencii. Napr. keby sme chceli vložiť študentovi predmet, ktorý neexistuje, porušili by sme referenčnú integritu)
- Obnovu dát, transakčné systémy – na obnovu poškodených dát
- Riadenie katalógov – info o schémach, uložené v špeciálnych tabuľkách naz. Katalógy. Katalógy obsahujú dáta o dátach.
Výhody databáz
- kompaktnosť /dáta sú uložené elektronicky a nie je potrebné ich spracovávať z tradičných papierových dokumentov
- rýchlosť spracovania
- dostupnosť
DBS môžeme deliť podľa:
- dátového modelu sietí –Hierarchicky, relačne, objektovo orientované, text, expert,.
- Počtu používateľov – jednoužívateľské, viacužívateľské
- Architektúra – centalizované
– distribuované – homogénne, heterogénne
Relačná databáza
Vyznačuje sa tým, že údaje sú uložené v tabuľke, nie sú usporiadané do jednej tabuľky, pretože by bola neprehľadná, dlhá a obsahovala by nadbytočné, opakujúce sa údaje. Údaje máme rozdelené do niekoľkých tabuliek, ktoé sú navzájom poprepájané pomocou určitých vzťahov, relácií.
Relačná databáza je taká databáza, ktorú používateľ vníma ako sústavu v čase meniacich normalizovaných tabuliek s usporiadanými stĺpcami. Každá tabuľka reprezentuje určitý typ entity a každý riadok v tejto tabuľke /záznam/, jeden výskyt daného typu entity. Stĺpce predstavujú jednotlivé modelované vlastnosti /atribúty/ daného typu entity.
Relačný databázový model je tvorený sústavou tabuliek s nasledovnými vlastnosťami:
- Každá tabuľka má svoj jednoznačný názov, ktorý ju v tejto databáze identifikuje.
- Každá tabuľka obsahuje iba záznamy rovnakej štruktúry.
- Každý stĺpec tabuľky má svoj názov – meno atribútu, ktorým je identifikovaný.
- Na poradí stĺpcov v tabuľke nezáleží.
- Každý stĺpec obsahuje hodnoty toho istého atribútu.
- Každý záznam v tabuľke zodpovedá jednému výskytu entity daného typu.
- Každý záznam je jednoznačne identifikovateľný primárnych kľúčom
- Na poradí záznamov nezáleží.
- Všetky hodnoty v danom zázname s jednoznačne a plne závislé na primárnom kľúči /požiadavka pre normalizáciu:/
- Všetky hodnoty v danom zázname môžu byť iba automatickými hodnotami z domény príslušného atribútu. Hodnoty kľúčových atribútov nesmú byť nedefinované.
Relačný dátový model vychádzal z následovných požiadaviek:
- zabezpečiť vysok stupeň dátovej nezávislosti
- zabezpečiť minimálnu redundanciu s konzisteniou dát
- sprístupnenie databázy pomocou množinovo orientovaného neprocedurálneho jazyka
- umožnenie jednoduchým spôsobom reštrukturalizáciu /zmena štruktúry tabuliek/ a rast dátového modelu
Základné pojmy potrebné k práci s relačným modelom dát sú:
- relácia
- n-tica /záznam/ – zodpovedá riadku tabuľky
- atribút /pole, vlastnosť/ – zodpovedá stĺpcu tabuľky
- primárny kľúč – jednoznačný identifikátor v tabuľke, ktorý je reprezentovaný stĺpcom /alebo zriedka skupinou stĺpcov/
- doména – množina hodnôt, ktoré môže nadobúdať atribút
Nepríjemnosti vyplývajúce z nevhodnej štruktúry:
- redundancia
- možnosť vzniku nekonzistencie dát
- strata, prepísanie alebo iné poškodenie dát
- problémy pri vyhľadávaní
Normalizácia dát relačných databáz – postup pri návrhu databázy zabezpečujúci, že databáza bude konzistentná a redundancia a modifikácie dát minimálne.
- 1 NF (normálna forma / – každá hodnota atribútu musí byť atomická – nedeliteľná /prienik každého stĺpca a každého riadku je práve jedna hodnota/, neopakujú sa riadky ani stĺpce
- 2NF = 1 NF + každý nekľúčový atribút musí byť závislý na celom PK /primárny kľúč/
- 3NF = 2 NF + každý nekľúčový atribút závisí iba na PK a neexistujú závislosti medzi nekľúcovými atribútmi
- Boyce-Codd NF, 4NF, 5NF