2  Databázové systémy

Rozvoj IS je spjatý s rozvojem výpočetní techniky, především počítačů. V počátcích se zpracovávaly velké objemy informací na jednom počítači, tomuto způsobu říkáme systém hromadného zpracování dat nebo agendové zpracování. Data se zapisovaly do připravených formulářů, dále se přepisovaly ručně na záznamové médium (děrné pásky, později diskety) pak teprve na centrálním počítači primárně a sekundárně zpracovány. Výsledkem je vytištění výstupních sestav (většinou v papírové podobě) a zpětná distribuce k prvotnímu pořizovateli. Celková doba takovéhoto zpracování byla velmi dlouhá, proto nebylo možno zpracovávat dynamické informace. Typickým příkladem byly měsíční statistické sestavy (mzdy, uzávěrky). Programy pro zpracování byly jednoúčelové bez možnosti změn výstupů, realizované byly v nejjednodušších jazycích (Cobol a pod.).

Pro odstranění těchto nevýhod bylo nutné k oddělení dat od programu. Data jsou uloženy v bázi dat (BD) a programy si z ní vybírají potřebné informace, této části se říká systém řízení báze dat (SŘBD).

Počátky těchto systémů spadají do 60. let a proti předchozímu stavu přestavují kvalitativní skok. Tato změna byla umožněna přechodem od sálových počítačů k počítačům stolním a později osobním.

Databázový systém vzniká spojením systému řízení báze dat a vlastní báze dat.

2.1 Základní pojmy

Systém řízení báze dat je možno chápat jako soubor procedur a datových struktur, které zajišťují nezávislost databázových aplikací na fyzickém uspořádání paměťových struktur počítače. SŘBD podporuje tvorbu formulářů (vstupní a výstupní obrazovky, formuláře - Forms) pro zadávání dat, výstupních sestav (přehledy, uzávěrky - Reports) a aplikačních programů.

Další pojmy se kterými operují databázové systémy jsou:

Data jsou údaje, které jsou předem určeným způsobem uspořádány v různých formách (např. tabulky, grafy, akustické signály a pod.). Jsou to určitým způsobem uspořádané informace v atributech o popisovaných objektech. Z těchto dat můžeme získat požadované informace pro řídící procesy.

Záznam (Record) je souhrn údajů (atributů) o daném popisovaném objektu, které jsou uloženy v položkách (polích - Field). Jako příklad mohou sloužit informace o motorovém vozidle:

Struktura záznamu je dána názvy jednotlivých položek:

typ vozidla,

modifikace typu,

datum výroby,

SPZ,

příjmení majitele,

jméno majitele.

Data pak tvoří obsah jednotlivých položek pro konkrétní motorové vozidlo , např.: Škoda Felicie, LX, 10.1999, OVX 19 90, Novák, Josef.

Datové typy (type) jsou označení typu údaje v položce. Nejčastěji se používají typy:

Text - textový řetězec složený z alfanumerických znaků,

Číslo - číselný údaj o předem stanovené max. délce a počtu desetinných místech,

Logický typ - dvoustavová hodnota typu Ano/Ne, True/False apod.,

Datum - položka pro záznam datumu a času

Memo - položka pro textové řetězce libovolné délky.

Označení konkrétních typů se liší podle konkrétní ho databázového systému.

2.2 Architektura databází

2.2.1 Centrální architektura

U databázového systému tohoto typu je báze dat i systém řízení báze dat v centrálním počítači. Komunikaci s uživateli zprostředkovávají terminály na pracovištích. Po síti se přenášejí vstupní údaje z terminálu do centrálního počítače a tam se zpracovávají centrálním programem. Tím že data se zpracovávají centrálně, kde může probíhat i více úloh, mohou mít odezvy na dotazy určité zpoždění.

Obr. Y1.: Centrální architektura.

2.2.2 Architektura file-server

Tento typ architektury souvisí s rozšířením PC a lokálních sítí. Data v BD jsou umístěna na počítači pracujícím jako file-server a jsou sdílena pro jednotlivé aplikace a SŘBD na jednotlivých počítačích. Vzhledem k tomu, že k datům může přistupovat více aplikací, musí být zajištěna ochrana používaných záznamů. Komunikace probíhá podle následujícího postupu:

Obr. Y2.: Architektura file-server

2.2.3 Architektura klient-server

Tato architektura je umožněna rozvojem sítí LAN (lokálních sítí) rozdělených na osobní počítače (PC) a databázový server. Na PC běží aplikace, které předávají dotazy na datový server (většinou pomocí strukturovaného jazyka), který je zpracovává a potřebné výsledky předává zpět na PC. Proto je server nejvíce zatíženým počítačem. Průběh je následující:

Tato architektura snižuje požadavky na množství dat pohybujících se v síti, proto vyhovuje i rozsáhlým aplikacím od renomovaných firem.

Obr. Y3.: Architektura klient-server

2.2.4 Architektura distribuovaných databází

V tomto systému jsou data rozložena v několika počítačích. Navenek se tváří jako jediná veliká datadáze. Je charakterizovaná třemi vlastnostmi:

Transparentnost - klientovi připadá, že data jsou zpracovávána na jediném serveru v síti, není specifikováno místo uložení dat, to řídí SŘBD.

Autonomnost - s každou částí BD je možno pracovat samostatně , data jsou spojována dynamicky podle potřeby SŘBD.

Nezávislost na typu sítě - architektura podporuje různé typy sítí a jejich vzájemné propojení. Pro komunikaci se nejčastěji používá strukturovaný dotazovací jazyk SQL.

Obr. Y4.: Architektura distribuovaných databází

 

2.3 Datové modely v databázových systémech

Model dat je souhrn pravidel pro reprezentaci logické organizace dat v databázi. Rozeznáváme tři základní modely dat - hierarchický, síťový a relační. Nejnovější a zároveň nejpoužívanější je relační model, který odstraňuje některé nedostatky ostatních modelů.

2.3.1 Hierarchický model dat

Data jsou organizována do stromové struktury. Každý záznam představuje uzel ve stromové struktuře. Vzájemný vztah mezi záznamy můžeme označit jako rodič a potomek.

Obr. Y4.: Hierarchický model dat

{obrázk3. FAR95}

Použití tohoto modelu je vhodné tam, kde i popisovaná skutečnost má obdobnou stromovou strukturu. Při pohybu v datech se pohybujeme směrem dolů (od rodiče k potomkovi), nahoru ( od potomka k rodiči) nebo na stejné úrovni (od potomka přes rodiče k potomkovi - sourozenci.

Nevýhody tohoto hierarchického modelu:

2.3.2ťový model dat

ťový model dat je v podstatě zobecněním hierarchického modelu dat, který doplňuje o mnohonásobné vztahy, které předchozí model neumožňoval přímou cestou. Tyto propojují záznamy různého či stejného typu, přičemž spojení může být realizováno na jeden nebo více záznamů.

Obr. Y5. Schéma síťového modelu báze dat a její zobrazení pro dva záznamy .

{obrázk3. FAR95- upravit pro dodavatele vozidel}

Nevýhodou síťové modelu databáze je zejména nepružnost a obtížná změna její struktury.

2.3.3 Relační model dat

Nejmladším databázovým modelem je model relační. V současnosti je tento model nejčastěji využíván u SŘBD.

Pro tento model platí následující vlastnosti:

1. Databáze je chápana uživatelem jako množina relací a nic jiného.

2. V relačním SŘBD jsou k dispozici minimálně operace selekce, projekce a spojení (viz dále), aniž by se vyžadovaly explicitně předdefinované přístupové cesty pro jednotlivé relace.

Obr. Y6. Příklad relačního modelu báze dat a její zobrazení pro d relace.

{vytvořit obr s vazbou mezi třemi tabulkami - pomocí vystřižených tabulek z Excelu - vycházet z Obr Y5}

Systém řízení báze dat má definovánu spoustu pravidel, která umožňují jednoduchý přístup k jednotlivým údajů. Tato pravidla jsou přímo implementována v komerčních programech, které se používají při tvorbě aplikací pro informační systémy. Jako příklad může sloužit prostředí FoxPro(R), Visual FoxPro, Access a mnoho dalších.

Proto při dalším popisu IS budeme vycházet právě z tohoto relačního modelu dat.

Relační databázový model má jednoduchou strukturu. Data jsou organizována v tabulkách, které se skládají z řádků a sloupců. Všechny operace s daty jsou prováděny na těchto tabulkách.Pro práci v tomto modelu je nezbytné, aby každá tabulka v databázi měla své jedinečné jméno.

Záznam (Record) jako souhrn stanovaných údajů o daném objektu je v tabulce reprezentován jedním řádkem tabulky. Sloupec tabulky definuje jednu položku (pole, Field) záznamu, musí mít svůj název a musí být určitého datového typu.

Z popisu tabulkového vyjádření tohoto modelu vyplývají tyto vlastnosti:

1. Homogenita sloupců - v každém sloupci jsou všechny položky stejného typu.

2. V tabulce neexistují dva stejné řádky, což je dáno nutností primárního klíče, který popisuje konkrétní záznam a je pro danou tabulku jedinečný.

3. Pořadí řádků je nevýznamné, protože jednotlivé řádky jsou identifikovatelné pomocí primárního klíče.

4. Pořadí sloupců (položek) je nevýznamné, protože sloupce jsou označeny názvem položky.

Obr. Y7: Příklad tabulky relačního modelu dat