Úvod do databázových systémov

Portál: E-learningový vzdelávací portál Slovenskej poľnohospodárskej univerzity v Nitre
Kurz: Databázové systémy
Kniha: Úvod do databázových systémov
Vytlačil(a): Hosťovský používateľ
Dátum: štvrtok, 21 novembra 2024, 23:02

Opis

Úvod do databázových systémov 

Úvod do databázových systémov

Niekedy pred tridsiatimi rokmi sa databázy vyskytovali iba v špecializovaných výskumných laboratóriách, kde počítačový špecialisti dňom i nocou pracovali na tom, aby boli efektívne a aby boli k niečomu užitočné, pričom svoje výskumné zámery publikovali vo viacerých vedeckých správach. Súčasné databázy sú neodmysliteľnou súčasťou priemyslu informačných technológií ako takého i celého podnikania všeobecne. S databázami priamo alebo nepriamo pracujeme doslova denne – bankové transakcie, cestovné rezervácie, zamestnanecké pomery, hľadanie na web stránkach, nákupy i mnoho ďalších transakcií zaznamenávajú do svojich štruktúr práve databázy.

Podobne ako je tomu vo viacerých iných rýchlo rastúcich informačných technológií, sa aj v odbore databáz vývoj štandardov alebo noriem oproti vlastnému technologickému pokroku značne zaostáva. Výsledkom je veľké množstvo rôznych komerčných produktov, z ktorých v každom sa odráža iná vízia konkrétneho výrobcu. Na viac vzniklo taktiež niekoľko rôznych databázových modelov, medzi ktorými na viac jednoznačné prevláda relačný model. 

Začneme však tím najzákladnejším. Čo je vlastne tá databáza? Na začiatok uveďme definíciu databázy z dvoch známych svetových zdrojov:

  • Utriedený súhrn vzájomne medzi sebou súvisiacich informácií (Univerzita Princeton)
  • Zbierka informácií uložená systematicky v počítačovom systéme tak, že počítačový systém je následne schopný zodpovedať otázky kladené na databázu (Wikipédia)

Z týchto definícií vyplýva, že v počítačovom svete môžeme za databázu označiť takmer všetko, čo obsahuje určitým spôsobom uložené a utriedené informácie.

Databázou vo všeobecnom slova zmysle môže byť napríklad súborový systém počítača. Napríklad naše dokumenty z textového alebo tabuľkového procesoru ktoré triedime podľa témy, podľa využitia. Zástupcovia všetkých programov v ponuke Štart sú typom databázy, alebo položky internetových odkazov v zložke Obľúbené položky sú databázou. Databázou by kľudne mohli byť internetové noviny, pretože je to taktiež súhrn systematicky ukladaných informácií, v ktorom sa dá vyhľadávať a ďalej s nimi pracovať. Určite ale cítime, že to nie je presne to, čo si pod slovom databáza väčšinou predstavíme.

Požiadavky kladené na databázový systém

Predstavme si bežnú papierovú kartotéku, ako určitú formu databázy. Predchodcom databáz boli práve takéto papierové kartotéky. Kartotéka obsahuje veľmi veľa šanónov a v nich listy papierov s určitými informáciami. Kartotéka umožňovala usporiadanie dát podľa rôznych kritérií a zatrieďovanie nových položiek. Akékoľvek operácie s nimi realizoval priamo človek. Správa takýchto kartoték bola v mnohom podobná správe dnešných databáz.

Takáto forma databázy má veľmi veľa nevýhod, ktoré sú pre databázy ako také väčšinou neprijateľné a tím si vlastne nadefinujeme požiadavky kladené na databázový systém:

  • Medzi jednotlivými informáciami na papierových listoch v šanónoch dochádza často k redundancii (nadbytočnosť) dát – jedna informácia je uložená na viacerých miestach. V „skutočných“ databázach sa budeme snažiť, aby k tomu nedošlo.
  • Dôsledkom redundancie dát býva často nekonzistencia dát. Jedna informácia je uložená na viacerých miestach a v prípade, že jednu z nich modifikujeme, tak ostatné zostanú nezmenené, pretože medzi nimi neexistuje väzba. V databázovom systéme by k tomu nemalo v žiadnom prípade dochádzať. Veľmi dobre si túto situáciu asi môžeme predstaviť s kartotékou, s ktorou pracuje viac užívateľov, kedy jeden zmení vlastnú kópiu informácií a druhému užívateľovi to neoznámi.
  • Papierová kartotéka neumožňuje v podstate žiadnu kontrolu vstupných dát a môže tak dôjsť k porušeniu dátovej integrity. Zadáme napríklad namiesto dátumu narodenia iba rok narodenia. Zapisujeme tak nesprávnu informáciu a v kartotéke tomu nemôžeme nijak zabrániť. To je ďalšia vec, ktorú budeme od databázových systémov vyžadovať.
  • V papierovej kartotéke nie je možné zdieľať dáta. Ako náhle si jeden z užívateľov zoberie šanón domov, nemôže s ním pracovať iný užívateľ. Databáza je väčšinou koncipovaná tak, aby s ňou mohlo pracovať viac užívateľov zároveň (pri veľkých databázach aj stovky užívateľov)
  • Ďalším problematickým článkom je zabezpečenie dát v papierovej kartotéke. Najmä, keby sme chceli ísť do tej úrovne, že by sme chceli prideľovať užívateľom prístupy iba k určitým šanónom alebo dokonca určovať, ktorý užívateľ môže zo šanónov iba čítať a ktorý do nich môže i zapisovať.   
  • V neposlednom rade je ďalšou nevýhodou kartotéky náročná správa dát. Zálohovanie, obnova či preusporiadanie informácií sú v papierovej kartotéke veľmi komplikované. Podstatou je, že v databázových systémoch je nevyhnutné, aby boli tieto operácie ľahko a rýchlo realizovateľné.  

Obrázok: Intuitívne vymedzenie pojmu „databáza“

Vlastnosti databázy sme si teda popísali z opačnej strany, kedy sme ako príklad zvolili bežnú papierovú kartotéku, ktorá je v podstate predchodcom databázových systémov a na jej nevýhodách sme si definovali vlastnosti, ktoré by databáza mala spĺňať.

 

Pre základnú predstavu porovnajme zjednodušené analógie klasickej a elektronickej verzie databázy na príklade kartotéky - časti knižnice (je použitý relačný model dát, ktorý dáta uchováva vo forme tabuliek):

Obrázok: Porovnanie klasickej a elektronickej databázovej technológie

Hore uvedený príklad je typický svojou „plochou“ dátovou štruktúrou, prirodzene transformujúci dáta aplikácie do dvojrozmerných tabuliek. Takto poňaté dáta – tabuľky - sú častou základnou logickou dátovou štruktúrou databázových technológií.