Databázové systémy

2.1 Základné pojmy
Databázová technológia je unifikovaný súbor pojmov, prostriedkov a techník, slúžiaca pre vytváranie informačných systémov. Databázovou technológiou však nemyslíme len spôsob vytvárania základného programového vybavenia, ale aj tvorbu niektorých produktov v aplikačnej sfére.
Pretože informačné systémy, a teda aj databázy, sú založené na existencii dát, pre databázovú technológiu v informačných systémoch je podstatný aj spôsob návrhu typov dát použitých v databáze, s cieľom vhodne optimalizovať funkcie celého informačného systému, ktorého súčasťou je databáza. Správanie systému závisí od toho ako navrhneme dátový model a samozrejme aj od toho akú štruktúru má IS, akým spôsobom sa k dátam bude pristupovať, aké programovacie jazyky budú použité a pod.
Pod databázovým systémom (DBS) rozumieme množinu navzájom súvisiacich dát organizovanách v báze dát (BD) spoločne s programovým vybavením, ktoré umožňuje prístup k dátam – systém riadenia bázy dát (SRBD).
Báza dát – množina dát, ktoré sú uchované v sekundárnej pamäti (disky) alebo inom nosiči, ktoré sú využívané aplikačnými systémami nejakého podnik. /Date, An introduction to database system , str.12/
Databázový systém môžeme chápať aj ako počítačový systém správy záznamov uložených v BD. V takomto systéme sú najdôležitejšie nasledovné funkcie:
• Pridanie nového prázdneho súboru do databázy
• Vloženie nových dát do existujúceho súboru
• Výber dát z existujúceho súboru
• Oprava dát v existujúcom súbore
• Zrušenie dát z existujúceho súboru
• Zrušenie existujúceho súboru z databázy

Existuje celá rada definícií databázového systému a jedna z najčastejšie používaných je nasledovná:

Databázový systém
Databázový systém (DBS) tvorí databáza (DB) a systém riadenia bázy dát (SRBD).
Zjednodušene môžeme písať:
DBS = DB + SRBD
Systém riadenia bázy dát (SRBD) je programové vybavenie, ktoré umožní zabezpečiť všetky požadované vlastnosti databázového systému a manipulovať s dátami

2.2 Komponenty databázového systému:

Z uvedenej definície je jasné, že súčasťou databázového systému nie sú len údaje, ktoré ukladáme do do bázy dát, ale aj technické prostriedky, ktoré používme na uchovávanie údajov. Súčasťou samotného systému je aj programové zabezpečenie, ktoré umožňuje zber, spracovanie údajov, prezentácia informácií, ochranu dát a iné služby. Tvorba takéhoto systému je opodstatnená až vtedy, ak existuje skupina používateľov, ktorí potrebujú dané údaje. Preto medzi základené komponenty DBS môže počítať:
Dáta
Hardware
Software
Používatelia

2.2.1 Dáta
Databázové systémy môžu byť prevádzkované rovnako ako na malých personálnych počítačoch, tak aj na veľkých systémoch. Zvyčajne na počítačoch triedy PC pracuje jeden užívateľ, ale v dnešnej dobe, alebo aj v minulosti, keď prevažovalo centralizované spracovanie dát, pracovalo na počítači súčasne niekoľko užívateľov. Z tohto pohľadu je nutné k dátam pristupovať ako k objektom, ktoré budú integrované a súčasne zdieľané. Vlastne tieto dva aspekty patria k základným požiadavkám, ktoré sa vo všeobecnosti kladú na databázové systémy.
Integrovanie dát znamená, že dáta udržiavané v databáze môžu byť umiestnené vo viacerých súboroch tak, aby bola minimalizovaná duplicita výskytov dát a zároveň, aby program mohol súčasne sprístupniť dáta z viacerých súborov.
Zdieľanie dát znamená, že každý objekt v databáze môže byť zdieľaný viacerými užívateľmi, a to opakovane alebo súčasne, keď viacerí užívatelia chcú s daným datovým objektom pracovať v tom istom čase.
2.2.1.1 Dáta, vlastnosti, rozdelenie
Dáta
Dáta sú údaje (technické, administratívne, ekonomické, finančné, štatistické, ...), správy alebo informácie, ktoré je možné spracovávať pomocou technických prostriedkov.
Vstupné dáta
Vstupné dáta sú dáta, ktoré reprezentujú informácie vstupujúce do systému. Vstupné dáta, môžu byť transformované na perzistentné dáta. Je potrebné si uvedomiť, že nie všetky vstupné dáta sa stávajú perzistentnými. Zdrojom vstupných dát môžu byť rôzne technické zariadenia (v technologickom procese), ale aj dáta vstupujúce z terminálov, alebo z pracovných staníc.
Výstupné dáta
Výstupné dáta sú dáta, ktoré reprezentujú informácie vystupujúce zo systému. Výstupné dáta, môžu byť transformované z perzistentných dát, zo vstupných dát alebo môžu byť z nich odvodené (ako výsledok spracovania).
Perzistentné dáta
Perzistentné dáta sú dáta, ktoré existujú aj po ukončení programu.

Databáza
Databáza je množina perzistentných dát, organizovaná ako navzájom prepojené systémy, ktorá je používaná v aplikačnom systéme daného podniku. Podnik v tomto význame môže byť:
- Výrobná organizácia,
- Finančná organizácia,
- Univerzita,
- Nemocnica, ...
Typické perzistentné dáta takýchto podnikov môžu byť potom:
- dáta o výrobe,
- účtovné dáta,
- dáta o študentoch,
- dáta o pacientoch, ....
2.2.1.2 Reprezentácia dát
Je potrebné si uvedomiť, že dáta sú ukladané ako množina 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. Avšak pri práci s dátami je často potrebné vytvárať logické záznamy, ktoré môžu obsahovať položky umiestnené fyzicky v rôznych súboroch.
Taktiež je veľmi dôležité rozhodnúť ako budú dáta v záznamoch reprezentované podľa určených typov s ohľadom na najefektívnejší spôsob uloženia.
Numerické dáta
Numerické dáta môžu byť ukladané rôznym spôsobom:
• binárne
• v semilogaritmickom tvare
• v pakovanom tvare
• znakové
Okrem toho je veľmi často potrebné zadefinovať aj počet potrebných bajtov (presnosť) pre ukladanie dát príslušného typu.
Reťazce
Znakové reťazce môžu byť ukladané v rôznych znakových sadách (EBDIC, ASCII, UNICODE).
Číselníky
Je množina kódov a ich charakteristík (resp. názvov) jednotlivých objektov. V mnohých situáciách je výhodné reprezentovať dáta pomocou číselných, alebo znakových kódov namiesto reťazcov popisujúcich význam nejakej hodnoty danej položky (napr. výsledok skúšky môžeme kódovať 1=“výborný“, 2=“veľmi dobrý“, 3=“dobrý“, 4=“nedostatočný“).
Jednotky
Pri ukladaní dát, ktoré reprezentujú hodnoty podľa niektorých jednotiek (napr. sústava SI), je potrebné zvážiť príslušný dátový typ s ohľadom na presnosť hodnôt a spôsob manipulácie s nimi. Napr. pri dĺžkových mierach to môže byť od mikrometrov až po kilometre a pod.
Ovodené dáta
Je potrebné si uvedomiť, že dáta, ktoré môžeme odvodiť by nemali byť dátami perzistentnými. V prípade, že takéto dáta ukladáme v databáze zvyšujeme náklady súvisiace s prevádzkou databázového systému.
2.2.2 Hardware
Aj keď nosnou problematikou tejto oblasti nie je hardware, je nutné si uvedomiť, že hardware, prípadne komponenty z počítačových systémov, môžu výraznou mierou ovplyvniť správanie sa informačného systému, ktorý databázový systém používa. Najdôležitejšie hardwarové súčasti, ktoré ovplyvňujú databázový systém sú:
• Pamäťové médiá – najčastejšie sú to magnetické disky, ktoré sú využívané na ukladanie dát spoločne s V/V zariadeniami, radičmi, kanálmi atď.
• Procesor
• Vnútorná pamäť (operačná pamäť)
• Komunikačný podsystém
Podrobnejšie informácie môžeme získať v literatúre týkajúcej sa operačných systémov, údajových štruktúr, počítačových sietí, architektúry počítačov
2.2.3 Software
Programové vybavenie databázového systému, ako už bolo spomenuté skôr, tvorí systém riadenia bázy dát (SRBD). Všetky požiadavky používateľov začínajúc požiadavkymi na prístup do databázy, pridania nového súboru do databázy cez prácu so samotnými 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 používateľov a aplikačných programátorov tak, aby mohli s databázou pracovať bez znalosti hardware, ktorý je použitý pre prevádzku databázového systému.
2.2.4 Používatelia
Pri databázovom spracovaní uvažujeme nasledovné triedy používateľov:
- koncový používateľ
- DBA – databázový administrátor
Z hľadiska prevádzky informačného systému sú najdôležitejší koncoví používatelia, ktorí sú v priamej interakcii so systémom cez terminál alebo pracovnú stanicu. Prístup koncového používateľa k dátam závisí od toho, akú aplikáciu používa, prípadne ako aplikáciu používa. Jeden a najčastejší spôsob je sprístupnenie funkcií pomocou navigácie používateľa v aplikácii bez nutnosti poznania dátového modelu a programovacích jazykov.
Databázový administrátor, má v prevádzke informačného systému resp. databázového systému nezastupiteľné miesto. Databázový administrátor je osoba zodpovedná za správu dát v databáze, za pridelenie prístupových práv.

2.3 Architektúra databázy

Základným východiskom pre aplikáciu databázových systémov je tzv. trojúrovňová architektúra definovaná v roku 1972 americkým národným výborom pre štandardy (ANSI/SPARC Group on Data Base Management Systems - American National Standards Committee on Computers and Information Processing / Standard Planning and Requirements Committee). Táto architektúra zavádza tri úrovne dátových štruktúr: konceptuálna logická a fyzická.

2.3.1 Konceptuálna úroveň
- reprezentuje celý informačný obsah databázy, ktorý by mal byť nezávislý ako na fyzickom riešení, tak aj na okamžitých potrebách používateľa. Konceptuálna úroveň je realizovaná vhodnou konceptuálnou schémou. Konceptuálnu schému možno tvoriť alebo tzv. podnikovým prístupom, ktorý je nezávislý na jednotlivých používateľských pohľadoch a mal by čo najvernejšie odrážať danú realitu systému, alebo tzv. integračným prístupom, kedy je zjednotením rôznych používateľských pohľadov na dáta. Hlavným nástrojom tvorby konceptuálnej schémy sú entitnorelačné diagramy.

2.3.2 Logická (Externá) úroveň
- predstavuje potreby a požiadavky používateľa. Je realizovaná pomocou externej schémy. Tá sa vyjadruje prostredníctvom jazyka, ktorý umožní používateľovi formulovať jeho logické požiadavky. Ide o kombináciu dvoch jazykov - tzv. Data Definition Language (DDL) a Data Manipulation Language (DML), pomocou ktorých používateľ deklaruje svoje dátové objekty a vzťahy medzi nimi a pomocou ktorých rieši svoje úlohy s týmito dátami. Pretože používateľov je spravidla viac a obvykle chcú pracovať s dátami z rôzneho pohľadu a s inými požiadavkami na ne, môže existovať viacej používateľských externých pohľadov. Pretože nie všetkých používateľov zaujíma všetko, jeden používateľský pohľad bude podmnožinou (subschémou) celej komplexnej štruktúry. Externá schéma závisí predovšetkým od požiadaviek používateľov. Zmena v používateľských pohľadoch by sa nemala prejaviť v zmene koncepčného modelu ale len programovou zmenou v mapovacom procese medzi externými pohľadmi (subschémami) a koncepčnou schémou.
2.3.3 Fyzická (Interná) úroveň
- zaoberá sa problematikou fyzickej pamäťovej štruktúry uloženia dát – pamäťovými blokmi, stránkami, adresami, smerníkmi. Využíva vlastnosti konkrétneho SRBD, operačného systému a konkrétnej počítačovej štruktúry. Koncový používateľ s touto úrovňou prakticky neprichádza do styku, zaoberá sa ňou len administrátor databázy. Ak z nejakých dôvodov dôjde k zmene internej schémy (napr. zmenou počítačového systému alebo prechodom na iný operačný systém) nesmie sa to prejaviť v konceptuálnej úrovni. Prejaví sa to len v zmene funkcie transformačného mapovacieho procesu medzi konceptuálnou a internou schémou.

2.4 Požiadavky na databázu
Na základe uvedeného je možné definovať základné požiadavky, ktoré kvalitný databázový systém musí zabezpečiť:
- oddelenie definície dát a príkazov na manipuláciu s nimi
- nezávislosť dát
- procedurálne a neprocedurálne rozhranie
- minimalizáciu redundandancie dát
- ochranu proti nekonzistencii dát
- zdieľanie dát
- bezpečný prístup k dátam
- integritu dát

2.4.1 Oddelenie definície dát a príkazov na manipuláciu s nimi
Oddelenie definície dát od programov, ktoré manipulujú s týmito dátami je základnou myšlienkou, s ktorou vyšli databázové systémy. Ak máme nejakú množinu objektov v databáze, tak môžeme definovať základné operácie na manipuláciu s objektami. Každý objekt by mal byť popísaný pomocou objektového typu, ktorý popisuje spoločnú množinu vlastností týchto objektov. Tieto vlastnosti sa môžu stať operandami operácií nad touto množinou objektov. Môžeme si predstaviť množinu celých čísel {0,1,…,i,…}. Každý z týchto objektov je celočíselného typu (integer) a nad touto množinou môžme definovať dve operácie : pridaj a zruš.
Z tohto príkladu je zrejmé, že databázový prístup rozlišuje medzi popisom dát a manipuláciou nad touto množinou. Čiže všetky objekty musia byť najprv popísané skôr ako budú vložené, modifikované alebo nakoniec zrušené z databázy.
Výhody tohto postupu sú nasledovné:
- kontrola objektového typu a štruktúry počas vykonávania operácií
- výber dát z databázy podľa typu objektu
- používanie rovnakých operácií pre rôzne množiny objektov
Tento spôsob nám zabezpečí vysoký stupeň dátovej nezávislosti.
2.4.2 Nezávislosť dát
Nezávislosť dát je dôležitá z hľadiska flexibility zmien, ktoré sa týkajú jednak zmeny dátového modelu, ako aj zmien uloženia jednotlivých tabuliek. Používateľ používajúci aplikačný program by nemal vôbec zbadať, že sa niečo zmenilo v konceptuálnom dátovom modeli, alebo v spôsobe uloženia, resp. prístupu k dátam. Okrem toho samozrejme ani programátor nechce zakaždým meniť program pri každej zmene databázy.
Nezávislosť delíme na:
- logickú – zmena dátového modelu by nemala ovplyvniť zmenu programu. Niekedy sa tomu však nedá vyhnúť, a to napr. keď rušíme z databázy nejakú tabuľku.
- fyzickú – zmena uloženia dát nesmie vplývať na zmenu programu. To znamená, že z hľadiska aplikačného programu nás vôbec nezaujíma, či sú dáta uložené v indexoch, B-stromoch, alebo sekvenčne. Rovnako na úrovni aplikácie nás nezaujímajú prístupové metódy k dátam.
2.4.3 Procedurálne a neprocedurálne rozhranie
V princípe rozlišujeme spôsob manipulácie s databázou na interaktívny prístup používateľa a prístup programátora. V oboch prípadoch je vhodné používať tzv. neprocedurálne jazyky (SQL), ktoré by mali byť súčasťou každého databázového systému.
Z druhej strany je veľmi často potrebné pristupovať k databázovým súborom s použitím klasických programovacích jazykov (štrukturovaných, objektových , …), čiže využívame tzv. procedurálny prístup, kde programátor je zodpovedný za riadenie toku programu a ošetrovanie výnimiek. Tento prístup je využívaný hlavne systémovými programátormi, alebo keď neprocedurálny prístup neumožňuje zabezpečiť niektoré funkcie.
Väčšina súčasných databázových systémov poskytuje databázové jazyky tzv. štvrtej generácie (4GL, PL/SQL , …), ktoré v sebe integrujú procedurálny a neprocedurálny prístup.
2.4.4 Minimalizácia redundandancie dát
V nedatabázových systémoch sa stretávame veľmi často s viacnásobným výskytom tých istých údajov (osobné údaje pracovníkov) umiestnených v rôznych súboroch, ktoré využívajú rôzne aplikácie (personalistika, mzdy, výroba, …). Udržiavanie takýchto systémov je náročné na čas i na súvisiace náklady.
Redundancia dát znamená viacnásobný výskyt tých istých dát v DB. Hlavným problémom 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, hlavne v prípade zmien týchto dát je nutné aplikovať zmeny vo všetkých výskytoch. Ale môžu byť aplikácie, kde redundancia dát je výhodná, dokonca žiadaná (distribuované databázové systémy), avšak musí byť podporovaná príslušných systémom riadenia bázy dát, alebo aplikáciou. Ak povolíme redundanciu, v tom prípade hovoríme o minimálnej redundancii, ktorá predstavuje aj istý spôsob optimalizácie rozmiestnenia dát.
2.4.5 Ochrana proti nekonzistencii dát
Dáta uložené v databáze musia vyhovovať definovaným podmienkam, ktoré by sme mohli súhrne nazvať integritné obmedzenia (napr. výsledok skúšky by mal byť v rozsahu 1- 4, plat je v rozsahu 5000-100000, atď.).Okrem toho, medzi dátovými objektami môžu existovať vzťahy, ktoré musia byť zabezpečené, hlavne pri vstupe dát, opravách dát, alebo pri ich rušení. Príkladom takýchto vzťahov je napr. zadávanie rodného čísla, kde definujeme kontrolný mechanizmus – v prvej časti porovnávame s dátumom narodenia a v druhej časti kontrolujeme na deliteľnosť alebo iné operácie.
2.4.6 Zdieľanie dát
Databázový systém je vytváraný na uchovávanie a spracovanie údajov o viacerých objektoch. Tieto údaje bývajú vyžívané pri rozličných činnostiach. Napr. údaje o zamestnancoch bývajú použité pri výpočte mzdy, v skladovom hospodárstve pri priradení jednotlivých nástrojov zamestnancom, pri vydávaní materiálov a surovín, pri kontrole výroby a následne kvality práce, pri prideľovaní práce a pod.Činnosť týchto systémov alebo príslušných pracovníkov (personalistka, skladník, vedúci dielne a pod.) býva často súbežná. Ako sme sa už zmienili aj skôr, dáta uložené v databáze musia byť zdieľateľné viacerými používateľmi, rôznymi aplikáciami, dokonca v tom istom čase.
2.4.7 Bezpečný prístup k dátam
Napriek tomu, že do databázy k jednotlivým údajom musí mať prístup viacero používateľov, nie je vhodné aby každý pracovník mal prehľad o osobných údajoch všetkých pracovníkov, aby poznal výšku jeho platu, alebo mohol dokonca meniť jeho výšku, resp. mal prístup k technologickým postupu, ktoré tvoria základ výroby apod. Preto je potrebné zabezpečiť ochranu dát pred neoprávneným prístupom k dátam napr. tak, že jednotlivým používateľom je možné pridelovať prístupové práva na jednotlivé objekty, alebo skupiny objektov. Tieto práva určujú povolené operácie pre manipuláciu s týmito dátami.
2.4.8 Integrita dát
Integrita dát úzko súvisí s konzistenciou dát a hovorí o tom, že databáza je správna. To znamená, že je potrebné riadiť paralelný prístup k dátam, ktoré by chceli modifikovať, alebo rušiť súčasne viacerí používatelia, prípadne vkladať dáta, pre ktoré nie je zabezpečená referenčná integrita. Napríklad, keby sme chceli vložiť študentovi predmet, ktorý neexistuje, porušili by sme referenčnú integritu.
Pri zabezpečení integrity je potrebné riešiť situácie, keď operácie budú končiť neúspešne, či už z dôvodu chýb programov, alebo výpadku systémov.

2.5 Postup pri výstavbe databázy
Proces výstavby databázy treba chápať ako dynamický a cyklický proces, ktorý je integrálnou súčasťou výstavby celého informačného systému. Vo všeobecnosti sa postupuje v nasledujúcich krokoch:
1. Analýza požiadaviek používateľov - zameriava sa na potencionálnych používateľov, ktorí k tomu boli vytypovaní ako výsledok všeobecnej analýzy informačných potrieb. Výsledkom analýzy požiadaviek je definovanie externej schémy (resp. externých schém).
2. Návrh konceptuálnej schémy databázy - navrhnutá schéma by mala byť nielen syntézou požiadaviek zákazníkov, ale byť aj obrazom reálneho sveta. Každý model predstavuje určitú abstrakciu reálneho sveta, ktorá vedie k vytvoreniu účelového modelu.
3. Návrh logickej štruktúry databázy - vychádza z konceptuálnej schémy, mal by však akceptovať externé pohľady budúcich používateľov. Treba brať do úvahy predovšetkým charakter úloh a používateľské prostredie. Pri návrhu logickej štruktúry je potrebné použiť vhodný dátový model.
4. Návrh fyzického interného modelu databázy - spravidla je určený vlastnosťami vybraného (prípadne už zakúpeného) štandardného SRBD. Bežný používateľ nemá žiadnu a správca databázy len obmedzenú možnosť rozhodovať o vnútornom usporiadaní záznamov na médiách a technikách prístupu k nim. Tu nás zaujímajú predovšetkým nároky na pamäť a celková efektívnosť práce.
5. Implementácia databázy - zahŕňa jej inštaláciu (t.j. oživenie príslušného SRBD) na konkrétnom počítačovom systéme. Toto úloha predovšetkým pre správcu databázy, ktorý musí konfigurovať databázové prostredie, definovať potrebné pamäťové priestory a určiť príslušné oprávnenia. Musí tiež preveriť základnú funkčnosť databázy.
6. Prvotné naplnenie bázy dát - predstavuje problémové miesto pri výstavbe databázy, pretože obvykle ide o veľký objem údajov, ktoré treba do databázy zadať v relatívne krátkom čase. Túto úlohu možno plniť viacerými spôsobmi :
- napĺňaním prázdnej databázy pri postupnom odlaďovaní jednotlivých funkcií celého informačného systému; ide o pomerne priaznivú situáciu, kedy sa pri ladení funkcií systému postupne zadávajú údaje do bázy dát,
- konverziou existujúcich dát už raz zozbieraných ale spracovávaných inými prostriedkami alebo nástrojmi, ktoré poskytuje samotný SRBD alebo konverznými programami špeciálne k tomuto účelu vytvorenými,
- špeciálnym zberom dát v realite v prípade, keď dáta ešte neboli zozbierané. Takýto zber dát je obvykle pomerne pracný a trvá dlhšie časové obdobie, čo spôsobuje problémy s nekonzistenciou dát (niektoré dáta zachytávajú stav tento mesiac, ďalšie až nasledujúci) - tento problém sa môže vyriešiť tzv. „zmrazením“ dát k určitému dátumu, pričom aktualizácia dát sa uskutoční po spustení databázy.
Špecifickým problémom tejto etapy je zabezpečenie správnosti vkladaných dát. Je nevyhnutné, aby vkladané dáta boli bezchybné, pretože po rozbehu databázy by chyby mohli spôsobiť nefunkčnosť databázy. Preto vstupné dáta treba podrobovať programovým kontrolám, ktoré by mali odhaliť nielen formálne ale aj logické chyby.
7. Overenie funkcie databázy - v tomto kroku sa postupuje prototypovým prístupom, t.j. najskôr sa overí základné funkčné jadro databázy pre informačné zabezpečenie niektorých používateľov alebo len niektorých ich potrieb a potom sa postupne rozširuje spektrum funkcií. Súčasne s tým prebieha školenie používateľov v práci s informačným systémom. Hlavným kritériom správnosti funkcie databázy musí byť stupeň uspokojovania informačných potrieb používateľov v rámci budovaného informačného systému a nie prevádzka databázového systému ako takého.
8. Prevádzkovanie informačného systému a jeho ďalší rozvoj - v tejto fáze je potrebné sledovať chod databázy a odhaľovať chyby, nedostatky a úzke miesta a odstraňovať ich. S rastom vyspelosti používateľov a rastom ich informačných potrieb a požiadaviek vzniká potreba rozširovať obsah databázy a jej funkcií.

2.6 Výhody DBS
Výhody použitia DBS je nutné charakterizovať v porovnaní s tradičnou formou spracovania údajov. Potom najvýznamnejšie výhody môžeme charakterizovať ako:
- Kompaktnosť- dáta sú uložené elektronicky a nie je potrebné ich spracovávať z tradičných papierových dokumentov.
- Rýchlosť spracovania- ukladanie a vyhľadávanie požadovaných dát je rýchle.
- Dostupnosť- dáta sú prístupné na požiadanie v ľubovolnom čase a mieste s možnosťou zabezpečenia kontroly správnosti ukladaných údajov.

Výhody DBS sa prejavia hlavne v systémoch, ktoré umožňujú viacpoužívateľský prístup a v systémoch, ktoré obsahujú veľké množstvá spracovávaných údajov.

2.7 Databázové systémy – vývoj a prehľad
2.7.1 Systémy s dátami integrovanými v programoch
Prvé počítače (50-te roky) pracovali s dátami tak, že samotné dáta boli súčasťou programu a používateľ musel do programu zahrnúť definíciu dát, samotné dáta ako aj algoritmy pre spracovanie týchto dát. Každý z týchto programov pracoval len s obmedzeným počtom dát.
V 60-tych rokoch boli vytvorené systémy s monitorom a používateľ mohol pracovať s viacerými množinami dát. Dáta boli oddelené od programu, ale ich definícia bola súčasťou programu.
2.7.2 Súborové systémy
Nárast spracovania dát a rozvoj operačných systémov viedol k vytvoreniu súborových systémov, ktoré pracovali ako súčasť operačného systému. Taktiež boli vyvinuté vyššie programovacie jazyky pre prácu so súbormi (PL/1, COBOL, FORTRAN77, …). V uvedených programoch bolo nutné definovať dáta ako súčasť aplikačných programov. Nevýhodou týchto systémov bolo, že nebola riadená redundancia, konzistencia dát atď.
V minulosti a aj veľmi často v súčasnosti, sú súborové systémy súčasťou operačných systémov. Z hľadiska databázového spracovania architektúra súborových systémov predstavuje prechodné obdobie medzi centralizovanou a klient/server architektúrou. Tieto systémy využívajú lokálne počítačové siete s personálnymi počítačmi. Jeden z týchto počítačov, prípadne minipočítač, alebo mainframe slúži ako systém, na ktorom sú uložené dáta v súboroch, ktoré využívajú všetci používatelia lokálnej počítačovej siete. Operačný systém počítača pracujúci s týmito súbormi zaisťuje lokálny aj zdieľaný prístup k dátam na jeho diskoch, ale aj k iným zdielaným prostriedkom tohto počítača. Avšak jednotlivé aplikácie bežia na iných počítačoch, kam musia byť poslané dáta z centrálneho počítača. Vytvorenie tejto architektúry prinieslo väčšiu pružnosť a rýchlosť spracovania avšak za cenu zníženia bezpečnosti a integrity dát.
Koncom 60-tych rokov vznikli prvé SRBD, ktoré boli centralizované, ale ich popis nebol súčasťou aplikačných programov. Dosiahlo sa takto nezávislosti dát od používateľských programov. Hlavnými reprezentantami sú:
2.7.3 Hierarchický databázový systém
Tento databázový systém má dátový model definovaný pomocou množiny stromov a poskytuje operácie umožňujúce manipulovať s takýmito dátovými štruktúrami (prehľadávanie do hĺbky, do šírky, …). Reprezentantom týchto systémov je systém IMS od IBM (Information Management System).
2.7.4 Sieťový databázový systém
Je založený na sieťovom dátovom modeli, kde sa vzťahy medzi objektami definujú pomocou smerníkov (lineárnych, alebo cyklických). Pre prácu s týmto systémom je definovaná množina operácií umožňujúca efektívnu manipuláciu. Avšak akákoľvek zmena v dátovom modeli, spôsobuje veľké problémy s udržaním konzistencie databázy (rovnako ako pri hierarchických systémoch).
Hlavnou charakteristikou týchto systémov bolo, že boli striktne viazané na príslušný dátový model, ktorý definoval vzťahy medzi dátovými objektami.
2.7.5 Relačný databázový systém
V 70-tych rokoch vznikajú relačné databázové systémy, ktorých hlavný rozvoj bol v 80-tych rokoch, ale ich vývoj pokračuje až dodnes. Hlavným prínosom týchto systémov je, že sú postavené na matematickej teórii množín s využitím relačnej algebry a kalkulu.
2.7.6 Objektový databázový systém
V 90-tych rokoch vo väzbe na vývoj objektových jazykov vznikli OODBS, ktorých hlavným prínosom bolo zvýšenie úrovne abstrakcie dátového modelu. Jeho základnou vlastnosťou je možnosť enkapsulácie dátových objektov a definovanie metód pre každý objekt. Sú to systémy, ktoré sa využívajú hlavne v oblasti nasadenia systémov :
• CAD/CAM
• CIM
• CASE
• GIS
• Dokumentografické systémy
• ...

2.7.7 Objektovo – relačný databázový systém
Tento systém spája výhody relačných a objektových systémov.
Ďalšie systémy s ktorými sa môžeme stretnúť sú:
• Textový databázový systém
• Znalostný databázový systém
• Expertný databázový systém