Databázové systémy

Databázové systémy

Zber, uchovávanie a triedenie informácií patrí k základným úlohám informatiky. Pred objavením počítacích strojov sa všetky tieto činnosti vykonávali manuálne. Taká práca bola ťažkopádna, zdĺhavá a vyžadovala veľké zdroje ľudskej práce. Pretože išlo o ručné spracúvanie, výsledky často neboli presné a tvorba analýz nad danými informáciami bola takmer neuskutočniteľná. Až nástup výpočtovej techniky umožnil zlom v práci s informáciami. Nová doba počítačových systémov integrovala informatiku a výpočtovú techniku a dnes môžeme povedať, že bez nich nie je možný rozvoj spoločnosti. Tak ako sa menila výpočtová technika z "kalkulačiek obrovských rozmerov" na dokonalé počítače umiestnené napr. na písacom stole, menili sa aj nároky a požiadavky tých, ktorí určovali podmienky a spôsob spracovávania údajov. Rastúca potreba zhromažďovania údajov a manipulácie s nimi viedla tvorcov softvérových aplikácií k vzniku špecifických informačných systémov, ktoré dnes nazývame databázové systémy. Ich úlohou je čo najpresnejšie zachytiť reálne údaje a vzťahy medzi nimi, a umožniť uchovávať, riadiť a znovuzískavať informácie, sústredené podľa nejakého logického kľúča.

Databázové systémy sú špecifickým druhom informačného systému, ktorý v sebe zahrňuje súbor navzájom súvisiacich údajov a programového vybavenia, umožňujúceho prístup k týmto údajom a manipuláciu s nimi. Vývoj databázových systémov postupne prechádzal niekoľkými štádiami. Spočiatku to boli programy určené iba pre jedného používateľa a štruktúry údajov, s ktorými pracovali boli ich súčasťou. Pri každej zmene štruktúry údajov bolo nevyhnutné upraviť program a znova ho kompilovať. Táto technológia bola zdĺhavá, navyše každú úpravu robil samotný programátor. Práve z tohto dôvodu sa postupne vyvinuli programy, v ktorých boli údaje ukladané v samostatných súboroch, teda štruktúra údajov už nebola závislá od aplikačných programov. Ďalší dôležitý krok vo vývoji databázových informačných systémov vyvolala požiadavka na zabezpečenie ochrany údajov pri súčasnom prístupe viacerých používateľov k nim v tzv. konkurenčnom prístupe. Každá z požadovaných zmien vytvárala nové podmienky a zásady, ktoré vznikajúci systém musel spĺňať. Spracovávanie údajov prostredníctvom databázových systémov dnes patrí k najrozšírenejším technológiám v oblasti informatiky. Ide o lukratívne odvetvie, a preto mnoho softvérových firiem sa rozhodlo vyvíjať takéto informačné systémy. Vznikajú tak nové technológie, na trhu sa objavujú programové balíky, ktoré poskytujú čoraz viac možností, lákajú zákazníkov príjemným vývojovým prostredím, pretekajú sa v rýchlosti poskytovania údajov ako aj poskytovaní v možností aplikovania svojich služieb v čo najširšej oblasti. Skrátka, vyvinul sa konkurenčný boj medzi firmami. V jeho dôsledku dochádza k rozvoju nových technológií, ale ochranou vlastných vývojových produktov vznikajú aj nepríjemné situácie. Keď bolo treba vymieňať údaje medzi zákazníkmi, ktorí pracovali v rozdielnych databázových prostrediach, dochádzalo k chybám, dokonca v niektorých prípadoch ani nebolo možné načítať údaje založené v jednom programovom systéme prostriedkami iného systému. Zákazníci začali preto uprednostňovať systémy, ktoré poskytovali čo najširšie možnosti manipulovať s údajmi, spracúvanými v iných prostrediach. Vývoj a praktické skúsenosti nakoniec viedli k formulovaniu niekoľkých pravidiel, ktorými sa dnes riadia tvorcovia databázových systémov.

Základné zásady, ktoré musia dodržiavať všetky databázové systémy.

Týkajú sa zásad tvorby štruktúry usporiadania údajov a povinných služieb, ktoré musia tieto informačné systémy poskytnúť:

vložiť údaje do databázy
poskytnúť požadované údaje v čo najkratšom čase
aktualizovať údaje uložené v databáze
odstrániť údaje z databázy

Pri tvorbe logickej a fyzickej štruktúry údajov treba zachovať takéto zásady:

znížiť redundanciu (nadbytočnosť) údajov - údaje uložené v databázovom systéme musia byť organizované tak, aby sa vyskytovali v čo najmenšom počte, najlepšie len raz
dodržať konzistenciu údajov - každý údaj, ktorý sa vyskytuje v databáze na viacerých miestach, musí mať tie isté hodnoty
zachovať integritu údajov - pomocou obmedzujúcich pravidiel a testovacích programov sa odstraňujú chyby, ku ktorým došlo pri zadávaní údajov. Údaje v databáze musia byť v súlade s reálnou skutočnosťou. (napr. dodržanie správneho zápisu dátumu - nedovolí napr. zapísať dátum 30. február a pod.)
chrániť údaje pred neoprávneným prístupom - dodržiavať stanovené predpisy
zabezpečiť nezávislosť údajov - zmena fyzickej organizácie údajov nevyžaduje urobiť zmeny v aplikačných programoch

Architektúry spracovania údajov

Tak, ako sa rozvíjala technika podporujúca prácu databázových systémov, vyvíjali sa aj technológie zaoberajúce sa spôsobom spracovania údajov. Možnosti techniky, jej cena, ako aj požadovaný stupeň ochrany a prístupu k údajom vplývali na rozvoj architektúry ich spracovania. V súčasnosti poznáme tri základné spôsoby spracovávania údajov:

Architektúra host-terminal: V tejto architektúre základnú jednotku tvorí hostiteľský počítač, ku ktorému sú pripojené terminály. Terminál len zobrazuje výsledky spracovávania údajov a umožňuje používateľovi zadávať svoje požiadavky klávesnicou. Všetky operácie s údajmi sa vykonávajú na centrálnom počítači. Výhodou tohto spôsobu spracovávania údajov je možnosť ukladať veľký počet informácií a ich centrálna ochrana. Nevýhodou takejto architektúry sú vysoké náklady na jej zriadenie a pomerne zložitá údržba. Tento spôsob spracovávania informácií (samozrejme s iným typom hostiteľského počítača a terminálov) sa aj dnes považuje za aktuálny.

Architektúra file-server: V tejto technológii sa hlavný počítač využíva na ukladanie informácií. Manipuláciu s nimi a riadenie prístupu k nim riadi používateľský počítač. Systém pracuje tak, že pokiaľ používateľ požiada o nejaký výber záznamov, počítač mu ich prostredníctvom siete poskytne. Zmena údajov sa vykonáva na používateľskej stanici a naspäť sa vracia modifikovaný súbor. Táto architektúra má nároky na rýchlosť pohybu súborov po sieti, a ich bezchybné pracovanie, čo vedie k veľkým nákladom na zriadenie takéhoto spojenia. Dnes je už možnosť práce s tým istým súborom (nie s tými istými údajmi) dostupná súčasne viacerým používateľom, preto sa javí takáto architektúra už ako ťažkopádna a pomalá.

Architektúra klient/server: Hlavnou myšlienkou tejto technológie je, že údaje by sa mali spracovávať tam, kde sú uložené. Ak chce užívateľ pracovať s nimi, dochádza k rozdeleniu činnosti medzi základným počítačom - serverom, na ktorom sú uložené údaje a používateľskou stanicou - klientom. Teda kompetencie sa delia medzi dva procesy - klient je zodpovedný za spracovanie určitej úlohy, pre ktorú vyžaduje služby od druhého procesu - servera. Klient a server nemusia byť na osobitných počítačoch.

- Proces klient (front-end) -väčšinou prebieha na používateľských počítačoch. Jeho úlohou je komunikovať jednak s používateľom, ale aj so serverom. Nemá prístup k databáze, slúži ako sprostredkovateľ, ktorý prijíma požiadavky klienta a transformuje ich do podoby, ktorá je zrozumiteľná pre server. Server zabezpečuje manipuláciu s údajmi.

- Proces server (back-end) - je proces, ktorý obstaráva všetky databázové operácie. Môže bežať na serveri alebo aj na používateľskej stanici, ktorá je v tomto prípade aj serverom. Podstata tejto architektúry je v tom, že údaje sú uložené a spravované na serveri a používateľ pristupuje k nim prostredníctvom klientských staníc.

Kým v architektúre host-teminál používateľ komunikoval s hlavným počítačom prostredníctvom teminálových staníc komunikačným zariadením v architektúre klient-server je plne funkčný počítač (klient) a časť manipulácie s informáciami sa robí priamo na ňom, server zabezpečuje ochranu údajov a spravuje ich ukladanie.

Databázový systém je komplex podsystémov, ktoré sa spoločne podieľajú na spracovaní a ukladaní informácií, ako aj zabezpečujú možnosť manipulácie s nimi.

databáza
správca databázy (administrátor)
systém riadenia databázy
aplikačné programy
používatelia
hardvér

Opíšeme len prvé štyri z nich, pretože informácie o používateľoch databázových systémov a ich hardvérového vybavenia sú špecifické v rôznych oblastiach ich využitia.

Databáza

Databáza je súbor údajov, údajových tabuliek a iných objektov, ktoré sú usporiadané a organizované tak, aby podporili vykonávanie špecifických požiadaviek, ako sú plynulé vyhľadávanie, preusporiadanie a vzájomná kombinácia údajov. Databázy sú ukladané v špeciálnych súboroch operačného systému a tvoria jadro celého databázového systému. Od ich modelu logického usporiadania údajov sa odvíja činnosť celého systému, spôsob jeho tvorby, ale aj požiadavky na výpočtovú techniku, ktorá podporuje prácu tohto systému. Práve preto venujeme pomerne veľa priestoru na opis jednotlivých modelov usporiadania údajov v databázach. Podľa spôsobu usporiadania údajov v databázach ich delíme na: sieťové, hierarchicky usporiadané, relačné a objektovo-orientované.

Sieťové a hierarchické modely

Predstavujú prístup spracovávania údajov, ktorý spočíva hlavne v ich oddelení od programovej štruktúry systému, a prebiehal koncom 60. a začiatkom 70. rokov. Do programových štruktúr sú začlenené systémy riadenia bázy dát (SRBD alebo častejšie používaná skratka DBMS DataBase Management Systém) - ktoré preberajú správu nad fyzickým usporiadaním údajov. Vytvárajú sa nové modely organizácie údajov. Takto vzniká sieťový a hierarchický model usporiadania údajov. Pri využívaní sieťových modelov bolo značne problematické uložiť takto usporiadané údaje do pamäte, stromová štruktúra hierarchických modelov bola z hľadiska zápisu jednoduchšia. Avšak ani jeden z týchto modelov neumožňoval dostatočne mapovať vzťahy reálnej skutočnosti. Práve preto boli postupne nahrádzané novou organizáciou údajov. Relačné modely

Tieto modely sú v súčasnosti najrozšírenejšie. Ich základ tvorí tabuľka, ktorá opisuje jednu reláciu. Zápis tabuliek do pamäte je pomerne jednoduchý, problémom je vykonávanie dopytov, lebo relácie nepodporujú žiadny rýchly algoritmus vyhľadávania.

Objektovo-orientované modely

Model relačných databáz nevyhovuje v niektorých prípadoch, najmä pri požiadavkách spojenia obrazu, zvuku, textu a grafiky. I keď už boli vyvinuté relačné databázy, ktoré dokážu ukladať takéto údaje, manipulácia s nimi je značne obmedzená. Objektovo orientované databázy riešia práve tieto problémy. Kým relačné databázy uchovávajú statické údaje, objektovo-orientované podporujú neobmedzene zložité a štruktúrované údajové entity (dedenie, trieda - inštancia). Je to pomerne nová a nepreskúmaná technológia, preto sa s ňou ešte vo veľkej miere nestretávame.

Väčšina databázových systémov pracuje s databázami usporiadanými podľa niektorého z uvedených modelov (najviac je sa využíva relačný a objektovo-orientovaný model). V súčasnosti preniká do oblasti rozhodovania a plánovania nový model databázy - tzv. multidimenzionálna databáza, ktorá pracuje s údajmi prostredníctvom multikociek. Táto architektúra umožňuje spájať údaje v rôznych zoskupeniach tak, ako je to v danom momente potrebné. Osobitné postavenie v hierarchii databázových systémov majú údajové trhy a údajové sklady. Ide o databázové systémy, ktoré obsahujú veľké množstvo údajov usporiadaním prispôsobených tak, aby sa nad nimi mohli vykonávať rôzne druhy analýz. Tieto databázové systémy nie sú určené pre spracovávanie aktuálnych údajov, skôr predstavujú podstatu rozhodovacích procesov. Napomáhajú pri vyhodnocovaní štatistických hypotéz a sú rozhodujúcim prvkom pri tvorbe nových stratégií riadenia podnikov. Pretože ich hlavnou úlohou nie je spracúvanie aktuálnych údajov, ale vyhodnocovanie situácií, ktoré prebiehali, je aj štruktúra údajov iná, ako napríklad v klasických relačných databázach.

GIS - databázy tvoria v systéme databázových aplikácií osobitnú skupinu. Usporiadanie údajov v týchto databázach sa nelíši od modelov, ktoré sme opisovali. Ale údaje, ktoré spracúvajú môžeme rozdeliť na tri hlavné skupiny:

údaje zobrazujúce digitálnu podobu zemského povrchu
údaje, ktoré popisujú spracovávané mapy z geodetického hľadiska (napr. určujú súradnice význačných bodov ako sú mestá, ulice a pod.)
údaje popisujúce charakteristické črty skúmaných objektov tak, aby poskytovali používateľovi komplexné informácie potrebné pre prácu s danou aplikáciou

Na tomto mieste je vhodné spomenúť aj inteligentné databázy. Prevažne sú to databázy, ktoré spracúvajú textové údaje. Dôležitým prvkom takýchto databáz je systém vyhľadávania a ich hlavnou úlohou je poskytnúť informácie o údajoch podľa niekoľkých základných hesiel, ktoré používateľ zadáva. S takýmito databázovými systémami sa môžeme stretnúť napríklad na Internete pri vyhľadávaní informácií prostredníctvom niektorého z vyhľadávacích systémov (napr. Yahoo, Alta Vista a i.).

Správca databázy - administrátor

Týmto pojmom býva označovaná osoba, ktorá sa stará o plynulý chod celého systému, ale aj skupina programov, ktoré zabezpečujú základné činnosti v správe údajov. Osoba - administrátor môže vytvárať, pridávať, meniť a vymazávať objekty v každej databáze a má prístupové práva do všetkých databáz, ktoré sú vytvorené v danom systéme. Medzi úlohy administrátora patrí: inštalácia databázového systému, tvorba diskového priestoru pre ukladanie údajov a databáz. Ďalej spravuje a monitoruje diskový priestor, pamäte a spojenia jednotlivých serverov navzájom, autorizuje identifikáciu hesiel a prístupových práv, zálohuje a obnovuje databázy, diagnostikuje systémové problémy a vylaďuje SQL Server tak, aby dosahoval čo najlepšie výkony. Programový podsystém administrátor tvorí programovú podporu tých istých akcií ako človek administrátor.

Systém riadenia bázy dát (SRDB angl. DBMS)

Je to systém programov, ktoré sa priamo podieľajú na práci s údajmi. Existujú rôzne modely týchto systémov. Líšia sa najmä v systéme usporiadania údajov ktorý podporujú a v rozsahu funkcií, ktoré poskytujú. V priamej závislosti s týmito funkciami majú jednotlivé systémy rozličné nároky na hardvérové vybavenie počítača. Napriek mnohým odlišnostiam majú niekoľko spoločných čŕt:

štruktúry programov a údajových súborov sú oddelené
schémy jedného alebo viacerých údajových štruktúr sú obsiahnuté v centrálnej databáze, v ktorej je opis štruktúry súborov, s ktorými SRBD pracuje. Tento faktor umožňuje dosiahnuť nezávislosť programov od údajov a tým vytvoriť predpoklady pre ďalšie vlastnosti systému
zabezpečujú prístup viacerých užívateľov súčasne
riešia ochranu údajov proti zneužitiu
poskytujú základné funkcie pre prácu s údajmi

Štandardnou súčasťou všetkých modelov SRBD sú programy, ktorými sa realizujú základné funkcie tohto systému. Môžeme ich rozdeliť do štyroch skupín, podľa ich spôsobu práce a funkcie, ktorú vykonávajú: prekladače jazykov, programy pre prácu s katalógom údajov, výkonné programy a servisné programy.

Prekladače jazykov

Slúžia na preklad príkazov programovacích jazykov, pracujúcich v databázovom systéme. Ide o definičné jazyky, ktorých úlohou je tvoriť alebo meniť časti katalógu údajov (katalóg eviduje všetky základné informácie o štruktúre údajov, ich vzájomnom prepojení apod.) Okrem toho zabezpečujú aj iné funkcie databázového systému, ako napríklad spôsob utajenia údajov, uloženia údajov v pamäti, spôsob ochrany databázy pred stratou údajov apod. Ďalšiu skupinu programov charakterizujeme pojmom manipulačné jazyky. Tieto programy obsahujú príkazy potrebné na vytvorenie a prevádzku databázového systému t.j. okrem príkazov na komunikáciu so SRBD ako je na vkladanie, výber a aktualizáciu viet bázy údajov obsahujú aj príkazy na spoluprácu databázy s okolím databázového systému, poskytujú možnosti využitia základných logických a aritmetických operácií, riadiace príkazy a pod. Skupina užívateľských jazykov poskytuje služby používateľom systému. Sú určené predovšetkým neprogramátorom. Ich syntax je pomerne jednoduchá. Tieto jazyky sú typické pre relačný model údajov a využívajú sa napr. pri sprístupňovaní údajov z databáz alebo na ich aktualizáciu.

Programy pre prácu s katalógom údajov Už sme spomenuli, že prostredníctvom katalógu systém mapuje štruktúru a činnosť databázy, a práve preto patrí k hlavným prvkom týchto systémov. Niektoré druhy katalógov zachytávajú aj potrebné štatistické údaje napr. údaje o počte výberov údajov z databázy, o množstve aktualizovaných viet apod. Informácie, ktoré sú uložené v katalógu využívajú nielen programy výkonnej časti SRBD, ale aj používatelia databázového systému. Programy pre prácu s katalógom musia byť vytvorené precízne, musia zabezpečovať ochranu údajov pri haváriách, pri testovaní práv užívateľov a pod. Strata údajov z katalógu má nepríjemné dôsledky na prácu celého systému.

Výkonné programy

Tieto programy analyzujú jednotlivé funkcie SRBD ako je ukladanie, aktualizácia a výbery údajov z databázy, realizujú ďalej ochranu údajov pred neoprávneným prístupom a zničením, organizujú riadenie súčasnej práce viacerých používateľov s bázou údajov a kontrolujú integritu bázy údajov. Sú vytvorené tak, aby boli čo najúspornejšie a pri svojej činnosti využívajú funkcie operačného systému.

Servisné programy

Pomáhajú pri návrhu bázy údajov, poskytujú rôzne informácie o stave databázového systému a umožňujú riešiť niektoré štandardné situácie pri vytváraní databázy. Sú určené na reorganizáciu bázy údajov, realizujú ochranu databázy pred zničením a jej obnovu po poruche systému (napríklad spôsobením náhleho prerušenia elektrického prúdu). Jednotlivé databázové systémy sa navzájom odlišujú v kvalite a funkciách spomínaných programov. Každý systém má vlastné programovacie prostredie, používa odlišné príkazy aj spôsob programovania. Táto skutočnosť značne komplikovala prácu s údajmi, preto súčasťou všetkých programovacích prostredí databázových systémov je jazyk SQL (structured query language). V roku 1986 bola vytvorený štandard tohto jazyka a každá vývojová firma vkladá jeho príkazy do svojich programov.

Aplikačné programy

Sú to programy, ktoré používateľom sprostredkúvajú prácu priamo s údajmi. Tvoria ich programátori vo vývojovom prostredí jednotlivých databázových systémov. Sú vytvorené tak, aby poskytovali príjemné prostredie, umožňujúce prácu s nimi čo najširšiemu okruhu používateľov. Pri práci s aplikačnými programami sa vyžadujú len základné vedomosti z oblasti informatiky.

SUDOLSKÁ S., HILBERT R. 2001: Vybrané kapitoly z úvodu do GIS. - 67 pp.

Pridať komentár k článku