4 Implementácia
Nastáva v čase inštalácie SRBD, vytvárania databázy a importovanie respektíve nahrávanie údajov do databázového systému.
4.1 Systém riadenia bázy údajov (SRBD)
Tvorí akýsi motor každej databázy. SRBD je univerzálne označenie softvéru, ktorý tvorí medzivrstvu medzi aplikáciami a uloženými údajmi. Jeho úlohou je efektívne pracovať s veľkým množstvom údajov. Musí byť schopný údaje ukladať, modifikovať, mazať, vyhľadávať, prípadne vykonávať ďalšie požiadavky. Vytvára prostredie pre používateľov a aplikačných programátorov tak, aby mohli s databázou pracovať bez znalosti hardvéru, ktorý je použitý na prevádzku databázového systému. Niekedy sa nesprávne označuje ako databázový systém, ale v skutočnosti databázový systém tvorí SRBD a báza údajov (databáza).
SRBD je neoddeliteľnou súčasťou veľkej väčšiny aplikácii, najmä v podnikových aplikáciách s viacvrstvovou architektúrou. Úloha SRBD stúpa s veľkosťou databázy, počtom používateľov a distribúciou databáz v rôznych lokalitách (príznačné pre veľké medzinárodné organizácie a internetové portály).
Hlavné funkcie, ktoré by SRBD mal zabezpečovať sú:
- Definícia údajov – SRBD musí zabezpečiť možnosť definovať údajové štruktúry (externú, konceptuálnu, internú schému, zobrazenia), s pomocou príslušného jazyka na definíciu údajov (DDL).
- Manipulácia s údajmi – SRBD musí byť schopný zabezpečiť používateľské požiadavky na opravu údajov, vkladanie údajov, vymazanie údajov, a výber údajov z databázy. Súčasťou SRBD je jazyk na manipuláciu s údajmi (DML).
- Riadenie prístupu – SRBD by mal umožniť definovať prístupové práva k údajom pre jednotlivých používateľov alebo aplikácie.
- Integrita databázy – SRBD by mal poskytovať nástroje, ktoré umožnia zabezpečiť všetky integritné obmedzenia definované pre údajový model. Okrem toho SRBD musí zabezpečiť integritu databázy v prípade porúch, ktoré sa vyskytnú pri spracovaní aplikácie.
- Obnova databáz – s integritou databázy súvisí obnova stavu databázy v prípade chýb, ktorá je zabezpečená s pomocou transakcií. Transakčné spracovanie umožňuje obnovu databázy v prípade chýb spracovania.
- Paralelný prístup – SRBD by mal poskytovať nástroje zabezpečujúce zdieľanie údajov, respektíve riadenie paralelného prístupu k údajom.
- Ochrana údajov – SRBD by mal umožniť vytvárať archívne kópie databáz a aj mechanizmy kryptovania citlivých údajov tak, aby ich nebolo možné zneužiť pri neoprávnenom prístupe.
- Riadenie katalógov (systémové tabuľky) – SRBD má spravidla informácie o schémach uložené v špeciálnych tabuľkách, pre ktoré sa zaužíval názov katalógy. Tieto katalógy obsahujú údaje o údajoch (metaúdaje alebo metadáta), čo sú definície objektov, integritné obmedzenia a podobne [17].
Okrem spomenutých funkcií by mal SRBD obsahovať nástroje, ktoré umožnia monitorovať výkonnosť databázy a nastavovať parametre, prípadne meniť spôsob uloženia údajov a prístupových metód k údajom z hľadiska efektívnosti spracovania údajov alebo ich ochrany.
4.2 Časti SRBD
Jednotlivé SRBD sa navzájom odlišujú vo viacerých aspektoch. Medzi tieto aspekty patria najmä model údajov, rozsah funkcií, náročnosť na zdroje počítača alebo schopnosť pracovať súčasne pre jedného alebo viacerých používateľov. Odhliadnuc od týchto odlišností, vieme u SRBD identifikovať časti opísané v nasledujúcich podkapitolách.
4.2.1 Prekladače jazykov
So SRBD prichádzajú do priameho styku tri skupiny používateľov: správca databázy, aplikační programátori a neprogramátori – používatelia konkrétneho DBS.
Každý z nich má špecifické požiadavky na komunikáciu so SRBD a preto sú vybavené nasledujúcimi jazykmi (niektoré z nich sú súčasťou jazyka SQL):
- Definičný jazyk (data definition language, DDL) – je určený pre správcu DBS. S jeho pomocou sa určujú štruktúry údajov, stanovujú sa spôsoby prístupu k údajom, prideľujú a odoberajú sa práva prístupu k údajom pre jednotlivých používateľov. Výsledkom práce prekladača DDL je vytvorenie, alebo zmena vnútorných katalógov SRBD.
- Manipulačný jazyk (data manipulation language, DML) – aplikační programátori vytvárajú programy na napĺňanie, aktualizáciu a výber údajov z DB pre potreby ostatných používateľov. Používajú na to práve DML. Aplikačný programátor plní úlohu akéhosi navigátora v báze údajov. Pozná jej usporiadanie a volí cestu prístupu k údajom pre každú konkrétnu úlohu. Okrem toho je možné s pomocou DML formulovať jednotlivé požiadavky na databázu, generovať špecifické hlásenia a plniť typické výpočty.
- Špecializované jazyky – slúžia pre neprogramátorov. Obyčajne sú to odborníci v určitej problémovej oblasti (školstvo, priemysel, zdravotníctvo a podobne). Sú orientované na výber, prípadne aktualizáciu údajov, ich logické a číselné spracovanie, formulácia požiadaviek a podobne. Vyššie uvedené vlastnosti týchto jazykov sú často integrované do systémov tzv. ponukového menu.
4.2.2 Programy na prácu s katalógmi údajov
Katalóg údajov je centrálnou zložkou SRBD. Obsahuje predovšetkým opis štruktúry súborov s ktorými pracuje. Vytvára ho správca databázy použitím DDL. Dôležitú úlohu majú aj tie programy SRBD, ktoré zabezpečujú nasledujúcu prácu s katalógmi:
- efektívny prístup do katalógu,
- informácie o obsahu a štruktúre DB, ako aj niektoré štatistiky z prevádzky DBS [17].
4.2.3 Výkonné programy
Výkonné programy zabezpečujú nasledujúce funkcie:
- ukladanie, aktualizáciu a výber údajov z DB,
- ochranu údajov pred neoprávneným prístupom,
- riadenie práce viacerých používateľov s DB súčasne,
- kontrolu integrity údajov [17].
4.2.4 Servisné programy
Servisné programy plnia nasledujúce funkcie:
- poskytujú rôzne informácie o stave DBS,
- podieľajú sa na návrhu DBS,
- umožňujú riešiť niektoré štandardné situácie pri vytváraní DB,
- realizujú ochranu bázy údajov pred zničením a obnovu po poruche [17].
4.3 Architektúry SRBD
Počítačové systémy, na ktorých sú prevádzkované DBS je možné rozdeliť na tieto architektúry:
- centralizované,
- súborové systémy,
- klient/server,
- distribuované.
4.3.1 Centralizovaná architektúra SRBD
V centralizovanom systéme rozlišujeme dva základné prvky: hostiteľský počítač a terminály. Na hostiteľskom počítači sa spracovávajú všetky programy – SRBD, aplikácie, používateľské rozhranie a komunikačný softvér prenášajúci informácie na používateľské terminály, z ktorých používatelia pristupujú k databáze. To znamená, že okrem SRBD je na tomto počítači spustený aj komunikačný softvér a aplikácie patriace k informačnému systému (obrázok 10). Terminály spravidla nemajú žiadne alebo iba obmedzené možnosti lokálneho spracovania. V najjednoduchších prípadoch sa skladajú iba z monitoru, klávesnice a hardvéru na komunikáciu s hostiteľským počítačom. Inteligentné terminály môžu prebrať časť zodpovednosti za manipuláciu s obsahom obrazovky a spracovávania vstupných údajov používateľa. Veľké množstvo súčasných databázových systémov pracuje v centralizovanej architektúre, ktorá je charakterizovaná takto:
- Centralizovaný s viacpoužívateľským spracovaním – keď celá inteligencia je sústredená na centrálnom počítači.
- Interakciou s pomocou terminálu – keď používatelia komunikujú s hlavným počítačom cez terminál [18].
V centralizovanom systéme prebiehajú všetky spracovania na hostiteľskom počítači, na ktorom musí byť spustený SRBD. Používateľ po zapnutí terminálu musí zadať svoje prihlasovacie meno a heslo a tým získa prístup k aplikáciám na hostiteľskom počítači. Po spustení databázovej aplikácie sú obsahy jednotlivých obrazoviek vysielané z hostiteľského počítača na terminál. Aplikácie a SRBD sú spustené na hostiteľskom počítači a komunikujú spolu navzájom v operačnej pamäti hostiteľského počítača. SRBD zodpovedá za prenos údajov na disk a z disku, pričom využíva služby operačného systému. SRBD môže byť založený na ľubovoľnom databázovom modeli – najčastejšie ale na sieťovom alebo relačnom.
Komunikácia:
- používateľ komunikuje s informačným systémom (s bázou údajov) s pomocou terminálu, na ktorom sa mu zobrazujú príslušné obrazovky vyslané z centrálneho počítača,
- aplikácia aj SRBD komunikujú spolu cez zdieľanú oblasť pamäte alebo cez pamäťové oblasti, ktoré sú pridelené aplikácii a sú riadené operačným systémom [17].
Výhody centralizovanej architektúry SRBD:
- centrálna bezpečnosť,
- centralizované umiestnenie veľkého rozsahu údajov.
Nevýhody centralizovanej architektúry SRBD:
- veľké náklady na zakúpenie,
- údržba týchto systémov.
4.3.2 Súborové systémy
Súborové systémy boli v minulosti, a rovnako sú aj v súčasnosti súčasťou operačných systémov (OS). Z hľadiska databázového spracovania architektúra súborových systémov predstavuje prechodné obdobie medzi centralizovanou architektúrou SRBD a architektúrou klient/server. Súborové systémy využívajú lokálne počítačové siete s personálnymi počítačmi. Jeden z počítačov (minipočítač alebo mainframe) slúži ako systém, na ktorom sú uložené údaje v súboroch, ktoré využívajú všetci používatelia počítačovej siete. OS počítača s týmito súbormi zaisťuje lokálny ale aj zdieľaný prístup k údajom na diskoch ale aj k iným prostriedkom systémového počítača. Aplikácie sú spustené na počítačoch, kde prebieha aj celé spracovanie údajov, ktoré musia byť poslané na tento počítač z počítača, na ktorom sú uložené súbory.
Ak je SRBD spustená na počítači, pracuje tento počítač súčasne ako hostiteľský počítač aj ako terminál. To znamená, že všetko spracovanie prebieha na počítači. V jednoduchších prípadoch sú SRBD a databázová aplikácia spojené do jedného celku. Databázová aplikácia často spracováva vstup od používateľa, výstup na obrazovku a prístup k údajom uložených na disku.
Väčšina SRBD na počítačoch je založená na relačnom modeli, ale často v nich nie je implementovaná časť relačných princípov. Veľmi často tieto systémy nemajú integrované mechanizmy integrity údajov. Jednoduchšie systémy často umožňujú aj priamy prísun údajov (bez použitia príslušného SRBD). Takto môžu byť v údajoch prevádzané rôzne zmeny narúšajúce integritu údajov, ktorú inak kontroluje SRBD.
Počítače sú veľmi často prepojené do lokálnych sietí (LAN). V lokálnych sieťach sú údaje uložené na serveri súboru. Server zaisťuje používateľom lokálnych sietí zdieľaný prístup k údajom na svojich pevných diskoch. Lokálna sieť umožňuje používateľom databáz na počítači zdieľať spoločne údajové súbory, ale nemenia princíp spracovania. To znamená, že všetko spracovanie údajov prebieha na počítači, na ktorom je spustená databázová aplikácia.
Súborový server iba vyhľadáva požadované súbory na diskoch a po sieťovom médiu ich posiela na počítač. Údaje sú spracovávané systémom riadenia bázy údajov na počítači. Každá zmena v DB vyžaduje, aby počítaču poslalo celý súbor s údajmi na server, ktorý je uložený na disku.
Výhody súborových systémov:
- väčšia pružnosť, flexibilita,
- rýchlosť spracovania v aplikácii,
Nevýhody súborových systémov:
- zníženie bezpečnosti,
- zníženie integrity údajov,
- malé objemy spracovávaných informácií.
K nevýhodám multipoužívateľského prístupu v systémoch na počítačoch patrí:
- výkonnosť systému nie je závislá od výkonnosti servera, ale od výkonu koncového počítača,
- spomalenie práce siete – ak pracuje s databázou viac používateľov, tak server musí poslať súbory na každý počítač, ktorý ich používa,
- povinnosť riešiť súčasný prístup viacerých používateľov k databáze – ak chce viac používateľov súčasne vytvárať zmeny údajov, v takom prípade je nevyhnutné menený súbor uzamknúť, aby k nemu nemal prístup iba jeden z nich.
4.3.3 Architektúra klient/server
Architektúra klient/server je v súčasnosti jednou z architektúr, ktorá sa veľmi často využíva v databázových technológiách a je ju možné nájsť vo viacerých variantoch.
Hlavným predpokladom je, že aplikácia je spustená prostredníctvom počítačovej siete a funkcionalita aplikácie je rozdelená do dvoch vrstiev:
- klient – napríklad počítač, na ktorom je spustená databázová aplikácia,
- server – na ktorom je prevádzkovaný SRBD. Môže byť prevádzkovaný buď na tom istom počítači ako súborový server, alebo na samostatnom počítači.
Základný model architektúry klient/server:
- SRBD je spustený na serveri a čaká na požiadavky prichádzajúce od jednotlivých klientov,
- v prípade prijatia požiadavky od klienta sa táto začne spracovávať v SRBD a výsledok spracovania je odoslaný klientovi,
- každá požiadavka od klienta vytvorí nový proces servera, ktorý s ostatnými procesmi zdieľajú procesor počítača a jeho disky,
- v niektorých prípadoch sa stretávame s variantom, keď sú klientska aj serverová aplikácia spustené na tom istom počítači [17].
Komunikácia v architektúre klient/server:
V súčasných DBS prebieha komunikácia medzi klientom a serverom s pomocou jazyka SQL.
- Klientsky počítač je označovaný ako systém front‑end a zaisťuje spracovávanie obrazoviek a používateľských vstupov a výstupov. Používateľ (klient) vytvorí požiadavku na údaje z databázového servera. Táto požiadavka je v aplikácii naformulovaná v jazyku SQL alebo je transformovaná do jazyka SQL a následne je prostredníctvom siete poslaná na server.
- Na databázovom serveri pracuje systém back‑end, ktorý zaisťuje spracovanie údajov a prístup na disk. Databázový server spracuje požiadavku a vyhľadá údaje. Potom pošle späť iba tie údaje, ktoré odpovedajú používateľovi na jeho požiadavku. Aplikácia na klientskom počítači následne používateľovi tieto údaje prezentuje. Server (SRBD) pri tejto činnosti kontroluje syntaktickú správnosť požiadavky, prístupové práva, použité typy údajov, integritné obmedzenia, optimalizuje vyhodnotenie požiadavky a podobne.
Výhody architektúry klient/server:
- Rozdelenie práce medzi klienta (aplikáciou) a databázovým serverom. Redukcia množstva údajov posielaných po sieti a udržanie integrity údajov.
- Odľahčuje počítač, na ktorom funguje SRBD od prevádzky aplikačných programov a funkcií prezentačného softvéru, ktoré sú spustené na klientskom počítači bez toho, aby ovplyvňovali výkon procesora so SRBD.
Nevýhody architektúry klient/server:
- Vo svojom základnom variante nepodporuje rozdelenie údajov medzi niekoľko lokalít. To znamená, že údaje musia byť uložené na jednom databázovom softvéri.
- Prevádzka systému sa podstatne zníži, ak by sme ju porovnávali so súborovým spracovaním (súborovou architektúrou).
Menej často sa v architektúre klient/server stretávame s variantom, keď sú klientska aj serverová aplikácia spustené na tom istom počítači.
V súčasnosti majú obrovský prínos webové služby, ktoré sa dajú využiť takmer pri akejkoľvek úrovni distribúcie aplikácii medzi klientom a serverom. Webová služba spravidla obaľuje údajový zdroj a komunikuje s používateľom. Tento koncept je výhodný z hľadiska zabezpečenia.
4.3.4 Distribuovaný databázový systém
Distribuovaný DBS je množina uzlov počítačovej siete, navzájom prepojených v komunikačnej sieti, pričom každý z týchto uzlov je samostatný databázový systém. Tieto uzly navzájom spolupracujú tak, že z každého uzla je možné sprístupniť údaje uložené na inom uzle presne tak, akoby boli umiestnené na samostatnom uzle. Distribuovaná databáza je množina navzájom prepojených databáz, ktoré sú umiestnené na rôznych uzloch tak, že používateľ s nimi manipuluje akoby boli umiestnené v centralizovanej databáze. O celé riadenie databázy sa stará distribuovaný SRBD, ktorý spolupracuje s lokálnymi systémami riadenia databáz [17].
Komunikácia v distribuovaných DBS:
Distribuovaný DBS umožňuje transparentný prístup k údajom. V takomto systéme požiada používateľ o údaje svoj lokálny databázový server. Keď server nemá požadované údaje k dispozícii, pošle po sieti požiadavku na ten počítač, na ktorom sú tieto údaje uložené. Tento počítač (server) pošle údaje späť používateľovi bez toho, aby sa používateľ dozvedel, že údaje pochádzajú z iného než lokálneho servera.
Výhody distribuovaných DBS:
Medzi hlavné výhody patrí dostupnosť (napríklad pobočky poisťovní), výpadky väčšinou neohrozia korektnú prístupnosť na ďalšie uzly (transparentnosť). Tieto systémy sa využívajú najmä v bankovníctve, zdravotníctve, cestovných spoločností a podobne. V prípade bankovníctva sú účty klientov spravované lokálne, pričom sú zároveň prístupné z iných pobočiek.
Distribuovaný databázový systém je teda jediná logická databáza, ktorá je fyzicky rozmiestnená na viacerých počítačoch spojených komunikačnou sieťou. Distribuované DBS teda kombinujú dve technológie a to databázu a komunikáciu.
Distribuované DBS je možné posudzovať z troch základných pohľadov:
- Autonómia (dotýka sa distribúcie riadenia):
- Môže ísť o tesné spojenie, keď je distribuovaná databáza vytvorená nad lokálnymi databázami a každé miesto má úplnú znalosť o všetkých údajov v celej distribuovanej databáze.
- Pri voľnejšej autonómii sú zdieľané iba určité údaje z lokálnych databáz.
- V prípade úplnej izolácie sú jednotlivé lokálne databázy autonómne a navzájom o sebe nevedia. Distribuovaná databáza tvorí špeciálnu vrstvu nad lokálnymi systémami.
- Transparentnosť distribúcie – určuje do akej miery je distribúcia údajov v jednotlivých miestach viditeľná pre používateľov.
- Heterogénnosť – môže ísť o rôznorodý hardvér v rôznych miestach, o rôzne typy lokálnych SRBD alebo rôzne databázové modely.
4.4 Inštalácia SRBD
V rámci implementačnej fázy sa inštaluje zvolený SRBD na požadovaný hardvér, vytvára a optimalizuje sa databáza na najvhodnejšie používanie na konkrétnej hardvérovej a softvérovej konfigurácii a nahrávajú sa údaje (môže ísť buď o úplne nové práve zadané údaje, alebo o údaje importované zo starého systému). Takisto sa vytvára zabezpečenie databáze a implementujú sa prístupové práva na identifikovaných používateľov, ktoré slúžia ich potrebám. Je potrebné implementovať aj zálohovacie akcie/systémy [1].
Poznáme týchto šesť krokov implementácie databázy:
- Inštalácia SRBD.
- Nastavenie/optimalizácia inštalácie podľa použitého hardvéru, softvéru a pracovných podmienok.
- Vytvorenie databázy (tabuľky a ich vzťahové prepojenia).
- Vkladania údajov.
- Používateľské a bezpečnostné nastavania.
- Implementácia režimu zálohovania [1].
V priebehu implementácie systému je takisto vykonávané nastavenie samotného systému podľa konkrétnych požiadaviek zákazníka. Toto nastavenie je potom overované na základe reálnych respektíve skutočných údajoch a po validácii je uvedené do ostrej prevádzky. Súčasne je možné spracovať rôzne úpravy, dodávky výstupných zostáv, exportov alebo vykonať prepojenia na nadradené systémy.
Súčasťou implementácie je aj školenie budúcich používateľov systému. Je vhodné najprv overiť ich zručnosti a skúsenosti s podobnými systémami a na základe zistených výsledkov pripraviť vhodný výučbový materiál na osvojenie si potrebných schopností. Takto vyškolení používatelia budú následne pripravení na ostrú prevádzku systému.
Zhrnutie 4. kapitoly
SRBD tvorí akýsi motor každej databázy. SRBD je softvér, ktorý tvorí medzivrstvu medzi aplikáciami a uloženými údajmi.
Hlavné funkcie SRBD sú: definícia údajov, manipulácia s údajmi, riadenie prístupu, integrita databázy, obnova databáz, paralelný prístup, ochrana údajov, riadenie katalógov.
Poznáme tieto architektúry SRBD:
- centralizované,
- súborové systémy,
- klient/server,
- distribuované.
V rámci implementačnej fázy sa inštaluje zvolený SRBD na požadovaný hardvér, vytvára a optimalizuje sa databáza pre najvhodnejšie používanie na konkrétnej hardvérovej a softvérovej konfigurácii a nahrávajú sa údaje.
Implementácia DBS zahŕňa:
- Inštalácia SRBD.
- Nastavenie/optimalizácia inštalácie podľa použitého hardvéru, softvéru a pracovných podmienok.
- Vytvorenie databázy (tabuľky a ich vzťahové prepojenia).
- Vkladania údajov.
- Používateľské a bezpečnostné nastavania.
- Implementácia režimu zálohovania [1].
Otázky na zopakovanie
- Definujte pojem „systém riadenia bázy údajov.“
- Ktoré sú základné funkcie SRBD?
- Vymenujte a stručne charakterizujte architektúry SRBD, uveďte ich hlavné výhody a nevýhody.
- Opíšte rozdiel medzi centralizovanou architektúrou SRBD a architektúrou klient/server.
- Aké činnosti sa vykonávajú pri implementácii DBS?
Doplňujúci materiál ku štúdiu
- Otte, Lukáš: Databázové systémy – Životní cyklus databáze. Ostrava : Vysoká škola Baňská, Technická univerzita Ostrava, Fakulta strojní, 2013. [Cit. 2020‑14‑05]. Dostupné na internete: ⟨http://projekty.fs.vsb.cz/463/edubase/VY_01_044/Datab%C3%A1zov%C3%A9%20syst%C3%A9my.pdf ⟩.
- Mišút, Martin – Juhásová, Lucia: Databázové systémy 2. Pedagogická fakulta Trnavskej univerzity v Trnave, 2014. ISBN 978‑80‑8082‑775‑5. [Cit. 2020‑14‑05]. Dostupné na internete: ⟨https://pdf.truni.sk/e‑ucebnice/databazove‑systemy2/ ⟩.
- Minárik, Richard: Generátor skúšobných testov. Žilinská univerzita v Žiline Elektrotechnická fakulta, 2006. Diplomová práca. [Cit. 2020
1905]. Dostupné na internete: ⟨http://diplom.utc.sk/wan/704.pdf ⟩.