VB - Technická univerzita Ostrava |
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řísluných vlastníků.
S rozvojem lidského poznání roste prudce mnoství informací, které tento proces vyaduje 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 vytitěné výstupní sestavy. Celková doba tohoto zpracování je poměrně dlouhá, proto není mono 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ětinou 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 uloena 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.
Obr. 1. Databázový systém |
Systém řízení báze dat (SŘBD) lze chápat jako souhrn procedur a datových struktur, které zajiují 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:
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 uivateli 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é mnoině 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 uloeny v polokách (polích, Fields) charakterizovaných názvem a datovým typem. Význam pojmu záznam (Record) a poloka lze snadno ukázat na bázi dat STUDENT. Abychom mohli u kadého studenta zaznamenat potřebné údaje, musí mít záznam 5 poloek, které mohou mít tyto názvy :
|
|||||||||||||||
Datové typy | » | kadá poloka musí být určitého datového typu. Obecně akceptované jsou tyto typy dat :
|
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ů.
Data jsou organizována do stromové struktury. Kadý záznam představuje uzel ve stromové struktuře, vzájemný vztah mezi záznamy je typu rodič/potomek.
Obr. 2. Hierarchický model dat |
Pouití hierarchického modelu je vhodné tam, kde i zájmová realita má hierarchickou strukturu. Nalezení dat v hierarchické databázi vyaduje 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ů), | |
- | sloité operace vkládání a ruení záznamů. |
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-mnoiny 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ů.
Obr. 3. Schéma báze dat a její zobrazení pro dva záznamy typu DODAVATEL. |
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ů. Vechny 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 uivatelem jako mnoina 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 vyadovaly 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 Vechny 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 Vechna 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 zaloený na relačním modelu Popis databáze je vyjádřen na logické úrovni stejným způsobem jako zákaznická data, take autorizovaný uivatel můe aplikovat stejný relační jazyk ke svému dotazu jako uivatel 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ů pouitý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ů Vechny pohledy, které jsou teoreticky moné, 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 uloení 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 Jestlie má relační systém jazyk nízké úrovně, pak tato úroveň nemůe být pouita k vytváření integritních omezení a je nutno vyjádřit se v relačním jazyce vyí úrovně. |
Obr. 4. Centrální architektura databáze |
Tato metoda souvisí zejména s rozířením osobních počítačů a sítí LAN. SŘBD a přísluné 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 uivatelů k jedněm datům, musí SŘBD pouívat vhodný systém zamykání (poloek nebo celých tabulek). Komunikace uivatele se systémem probíhá následujícím způsobem:
Obr. 5. Archiktetura file-server |
V podstatě je zaloena 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:
Architektura klient-server redukuje přenos dat po síti, protoe 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 vak nutné poslat vech 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ětinou renomovaných databázových firem.
Obr. 6. Archiktetura klient-server |
Kromě jazyka SQL, který představuje standardní dotazovací jazyk, existují jetě dalí standardy pro navazování komunikace mezi aplikacemi jetě před vlastním zahájením komunikace v SQL.
Distribuovaná databáze je mnoina databází, která je uloena na několika počítačích. Uivateli se vak jeví jako jedna velká databáze. Distribuovanou databázi charakterizujeme třemi vlastnostmi:
Transparentnost | - | z pohledu klienta se zdá, e vechna data jsou zpracovávána na jednom serveru v lokální databázi. Uivatel pouívá syntakticky shodné příkazy pro lokální i vzdálená data, nespecifikuje místo uloení dat, o to se stará distribuovaný SŘBD. |
Autonomnost | - | s kadou lokální bází dat zapojenou do distribuované databáze je mono 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ě zvyuje 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. |