Logo katedry ATŘ

VŠB - Technická univerzita Ostrava
FAKULTA STROJNÍ
Katedra automatizační techniky a řízení

ul. 17. listopadu 15,
708 33 OSTRAVA - PORUBA







Databázové systémy

Microsoft Access 2.0




Radim Farana






Ostrava 1995






Copyright © Ing. Radim Farana, CSc.
Lektoroval : Ing. Milena Olivková

Databázové systémy. Microsoft Access 2.0


Názvy programových produktů a firem mohou být ochrannými známkami nebo registrovanými ochrannými známkami příslušných vlastníků.






Obsah





1. Úvod do problematiky

S rozvojem lidského poznání roste prudce množství informací, které tento proces vyžaduje a také produkuje. Pro efektivní práci s informacemi začaly vznikat specializované informační systémy. Můžeme je definovat např. jako : "systémy pro sběr, uchovávání, vyhledávání a zpracovávání informací (údajů, dat) za účelem jejich poskytování". Tvorbou informačních systémů se zabývá vědní obor Informatika, vydělený v nedávné době z oboru Kybernetika.

Rozvoj informačních systémů je úzce spjat s rozvojem výpočetní techniky, zejména počítačů. Od svých počátků byla využívána na zpracování velkých informačních objemů na jednom počítači. Takové systémy obvykle nazýváme systémy hromadného zpracování dat nebo agendové zpracování. Data se nejprve ručně zaznamenávají na stanovené formuláře, dále se přepisují na vhodné médium (děrné štítky, diskety), následuje primární a sekundární zpracování, výsledkem jsou vytištěné výstupní sestavy. Celková doba tohoto zpracování je poměrně dlouhá, proto není možno tímto způsobem vyhodnocovat dynamické děje (typickou aplikací je měsíčně zpracovávaná mzdová agenda). Pro zpracovávání se používají účelově vyvinuté programy, většinou v jazyce Cobol. Příznačná je úzká provázanost fyzických a logických datových struktur a odtud plynoucí nesnadnost získat údaje v jiné podobě, než pro jakou byla úloha vytvořena.

Snahy odstranit nevýhody agendového zpracování vedly k oddělení dat od programu. Data jsou uložena samostatně v bázi dat a programy si vybírají potřebné informace. Na tomto principu pracují databázové systémy. Počátky databázových systémů spadají do 60. let, proti agendovému zpracovávání dat představují nový kvalitativní stupeň. Databázový systém vzniká spojením systému řízení báze dat (SŘBD) a vlastní báze dat, viz obr. 1.

Databázový systém

Obr. 1. Databázový systém

2. Základní pojmy databázového systému

Systém řízení báze dat (SŘBD) lze chápat jako souhrn procedur a datových struktur, které zajišují nezávislost databázových aplikací na detailech vytváření, výběru, uchování, modifikaci a zabezpečení ochrany databází na fyzických paměových strukturách počítače [1]. Pro práci s daty SŘBD podporují zejména tyto funkce:

Dále je podporována tvorba formulářů (vstupních obrazovek, Forms), výstupních sestav (Reports) a aplikačních programů. Dále uvádíme některé základní pojmy, se kterými se budeme setkávat v následujícím textu.

Data » údaje, které mají určitou vypovídací schopnost. Mohou být určitým způsobem uspořádány (seřazeny, např. podle velikosti, chronologicky atd.) a jsou uživateli k dispozici v různých formách (tabulky, grafy, zvukové signály, grafická forma atd.). Data jsou obvykle rozdělena na dílčí údaje (atributy) o dané množině objektů (entit), na základě nichž lze získat určitou informaci, která může vést k rozhodovacímu procesu.
Záznam » je souhrn údajů (atributů) o dané části objektu, které jsou uloženy v položkách (polích, Fields) charakterizovaných názvem a datovým typem. Význam pojmu záznam (Record) a položka lze snadno ukázat na bázi dat STUDENT. Abychom mohli u každého studenta zaznamenat potřebné údaje, musí mít záznam 5 položek, které mohou mít tyto názvy :
  • identifikační číslo,
  • jméno,
  • příjmení,
  • datum narození,
  • bydliště,
  • pohlaví.
  • Pozn.: v relačním (tabulkovém) modelu jsou záznamy tvořeny jednotlivými řádky tabulky, položky pak jednotlivými sloupci tabulky.
    Datové typy » každá položka musí být určitého datového typu. Obecně akceptované jsou tyto typy dat :
    Textový typ - textový řetězec, zpravidla do max. délky 255 znaků.
    Číselné typy - pro uložení celých a reálných čísel s pevnou i plovoucí desetinnou tečkou.
    Logický typ - slouží k uložení logické hodnoty Ano/Ne (True/False, Yes/No).
    Memo - pro uložení textu proměnné délky.
    Datumový typ - pro uložení datumu nebo datumu a času.
    Neuvádíme zde konkrétní názvy jednotlivých datových typů, protože v jednotlivých SŘBD se tyto názvy, jakož i některé vlastnosti těchto typů odlišují (např. číselné rozsahy, max. délka řetězce atd.).

    2.1. Datové modely

    Model je souhrn pravidel pro reprezentaci logické organizace dat v databázi [1]. 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.1.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 je typu rodič/potomek.

    Hierarchický model dat
    Obr. 2. Hierarchický model dat

    Použití hierarchického modelu je vhodné tam, kde i zájmová realita má hierarchickou strukturu. Nalezení dat v hierarchické databázi vyžaduje navigaci přes záznamy směrem dolů (potomek), nahoru (rodič) a do strany (další potomek). Mezi nevýhody hierachického modelu patří:
    - v některých případech nepřirozená organizace dat (zejména obtížné znázornění vztahu M:N, který se řeší např. pomocí virtuálních záznamů),
    - složité operace vkládání a rušení záznamů.

    2.1.2. Síový model dat

    Síový model dat je v podstatě zobecněním hierarchického modelu dat, který doplňuje o mnohonásobné vztahy. Tyto vztahy jsou označovány jako C-množiny neboli Sets (dále budeme používat pojem set, pro který neexistuje ekvivalentní český výraz). Tyto sety 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ů.

    Schéma báze dat 1.část
    Schéma báze dat 2. část
    Obr. 3. Schéma báze dat a její zobrazení pro dva záznamy typu DODAVATEL.

    2.1.3. Relační model dat

    Nejmladším databázovým modelem je model relační, který byl popsán v roce 1970 Dr. Coddem. V současnosti je tento model nejčastěji využíván u komerčních SŘBD. 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 databázové operace jsou prováděny na těchto tabulkách. Dr. Codd definoval jako minimalisticky relační ty systémy, které splňují tyto dvě 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í, aniž by se vyžadovaly explicitně předdefinované přístupové cesty pro realizaci těchto operací.

    Dále definoval Dr. Codd dalších 12 pravidel pro relační SŘBD:
    1. Informační pravidlo
    Všechny informace v relační databázi jsou vyjádřeny explicitně na logické úrovni jediným způsobem - hodnotami v tabulkách.
    2. Pravidlo jistoty
    Všechna data v relační databázi jsou zaručeně přístupná kombinací jména tabulky s hodnotami primárního klíče a jménem sloupce.
    3. Systematické zpracování nulových hodnot
    Nulové hodnoty jsou plně podporovány relačním SŘBD pro reprezentaci informace, která není definována a to nezávisle na datovém typu.
    4. Dynamický on-line katalog založený na relačním modelu
    Popis databáze je vyjádřen na logické úrovni stejným způsobem jako zákaznická data, takže autorizovaný uživatel může aplikovat stejný relační jazyk ke svému dotazu jako uživatel při práci s daty.
    5. Obsáhlý datový podjazyk
    Relační systém může podporovat několik jazyků a různých módů použitých při provozu terminálu. Nicméně musí být nejméně jeden příkazový jazyk s dobře definovanou syntaxí, který obsáhle podporuje definici dat, definici pohledů, manipulaci s daty jak interaktivně, tak programem, integritní omezení, autorizovaný přístup k databázi, transakční příkazy apod.
    6. Pravidlo vytvoření pohledů
    Všechny pohledy, které jsou teoreticky možné, jsou také systémem vytvořitelné.
    7. Schopnost vkládání, vytvoření a mazání
    Schopnost zachování relačních pravidel u základních i odvozených relací je zachována nejen při pohledu na data, ale i při operacích průniku, přidání a mazání dat.
    8. Fyzická datová nezávislost
    Aplikační programy jsou nezávislé na fyzické datové struktuře.
    9. Logická datová nezávislost
    Aplikační programy jsou nezávislé na změnách v logické struktuře databázového souboru.
    10. Integritní nezávislost
    Integritní omezení se musí dát definovat prostředky relační databáze nebo jejím jazykem a musí být schopna uložení v katalogu a nikoliv v aplikačním programu.
    11. Nezávislost distribuce
    Relační SŘBD musí být schopny implementace na jiných počítačových architekturách.
    12. Pravidlo přístupu do databáze
    Jestliže má relační systém jazyk nízké úrovně, pak tato úroveň nemůže být použita k vytváření integritních omezení a je nutno vyjádřit se v relačním jazyce vyšší úrovně.

    2.2. Architektura databází

    2.2.1. Centrální architektura

    V této architektuře jsou data i SŘBD v centrálním počítači. Tato architektura je typická pro terminálovou sí, kdy se po síti přenáší vstupní údaje z terminálu na centrální počítač do příslušné aplikace, výstupy z této aplikace se přenáší na terminál. Protože aplikační program i vlastní zpracování probíhá na centrálním počítači, který může zpracovávat více úloh, mají odezvy na dotazy určité zpoždění.

    Centrální architektura databáze
    Obr. 4. Centrální architektura databáze

    2.2.2. Architektura file-server

    Tato metoda souvisí zejména s rozšířením osobních počítačů a sítí LAN. SŘBD a příslušné databázové aplikace jsou provozovány na jednotlivých počítačích, data jsou umístěna na file-serveru a mohou být sdílena. Aby nedocházelo ke kolizím při přístupu více uživatelů k jedněm datům, musí SŘBD používat vhodný systém zamykání (položek nebo celých tabulek). Komunikace uživatele se systémem probíhá následujícím způsobem:

  • uživatel zadá dotaz,
  • SŘBD přijme dotaz, zasílá požadavky na data file-serveru,
  • file-server posílá bloky dat na lokální počítač, kde jsou data zpracovávána podle zadaného dotazu (vyhledávání, setřídění atd.),
  • výsledek dotazu se zobrazí se na obrazovce osobního počítače.

    Archiktetura file-server
    Obr. 5. Archiktetura file-server

    2.2.3. Architektura klient-server

    V podstatě je založena na lokální síti (LAN), personálních počítačích a databázovém serveru. Na personálních počítačích běží program podporující např. vstup dat, formulaci dotazu atd. Dotaz se dále předává pomocí jazyka SQL (Structured Query Language) na databázový server, který jej vykoná a vrátí výsledky zpět na personální počítač. Databázový server je tedy nejvíce zatíženým prvkem systému a musí být tvořen dostatečně výkonným počítačem. Celá komunikace probíhá tímto způsobem:

  • uživatel zadává dotaz (buď přímo v SQL nebo musí být do tohoto jazyka přeložen),
  • dotaz je odeslán na databázový server,
  • databázový server vykoná dotaz,
  • výsledek dotazu je poslán zpět na vysílací počítač, kde je zobrazen.

    Architektura klient-server redukuje přenos dat po síti, protože dotazy jsou prováděny přímo na databázovém serveru a na personální počítač jsou posílány pouze výsledky. Např. pokud je mezi 10 000 záznamy pouze 100 záznamů, které splňují podmínku dotazu, pak na personální počítač putuje pouze těchto 100 záznamů. V případě architektury file-server je však nutné poslat všech 10 000 záznamů na personální počítač, tam se teprve provede dotaz a zpracuje nalezených 100 záznamů.

    Architektura klient-server vyhovuje i náročným aplikacím a je využívána většinou renomovaných databázových firem.

    Archiktetura klient-server
    Obr. 6. Archiktetura klient-server

    Kromě jazyka SQL, který představuje standardní dotazovací jazyk, existují ještě další standardy pro navazování komunikace mezi aplikacemi ještě před vlastním zahájením komunikace v SQL.

    2.2.4. Distribuovaná databáze

    Distribuovaná databáze je množina databází, která je uložena na několika počítačích. Uživateli se však jeví jako jedna velká databáze. Distribuovanou databázi charakterizujeme třemi vlastnostmi:
    Transparentnost - z pohledu klienta se zdá, že všechna data jsou zpracovávána na jednom serveru v lokální databázi. Uživatel používá syntakticky shodné příkazy pro lokální i vzdálená data, nespecifikuje místo uložení dat, o to se stará distribuovaný SŘBD.
    Autonomnost - s každou lokální bází dat zapojenou do distribuované databáze je možno pracovat nezávisle na ostatních databázích. Lokální databáze je funkčně samostatná, propojení do jiné části distribuované databáze se v případě potřeby zřizují dynamicky. V distribuované databázi neexistuje žádný centrální uzel nebo proces odpovědný za vrcholové řízení funkcí celého systému, což výrazně zvyšuje odolnost systému proti výpadkům jeho částí.
    Nezávislost na počítačové síti - jsou podporovány různé typy architektur lokálních i globálních počítačových sítí (LAN, WAN). V jedné distribuované databázi tedy mohou být zapojeny počítače i počítačové sítě různých architektur, pro komunikaci se používá jazyk SQL.


    Návrat k obsahu