DATABÁZOVÉ SYSTÉMY 1. Základní pojmy databázové technologie



Podobné dokumenty
Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

2. Konceptuální model dat, E-R konceptuální model

Databázové systémy BIK-DBS

1 Úvod. J. Zendulka: Databázové systémy - 1 Úvod 1

J. Zendulka: Databázové systémy - 1 Úvod Intuitivní vymezení pojmu databáze

Databázové systémy úvod

předměty: ukončení: Zápočet + Zkouška / 5kb např. jméno, název, destinace, město např. student Jan Novák, narozen

Databázové systémy úvod

Geografické informační systémy p. 1

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

Objektově orientované databáze. Miroslav Beneš

Úvod do databázových systémů. Lekce 1

Databázové systémy úvod

Databáze v MS ACCESS

Databázové systémy trocha teorie

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D.

4IT218 Databáze. 4IT218 Databáze

POKROČILÉ POUŽITÍ DATABÁZÍ

Databázové a informační systémy

RELAČNÍ DATABÁZOVÉ SYSTÉMY

RELAČNÍ DATABÁZE. Cíl:

Inovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky.

Databáze II. 1. přednáška. Helena Palovská

Obsah. Zpracoval:

Obsah přednášky. Databázové systémy RDBMS. Fáze návrhu RDBMS. Coddových 12 pravidel. Coddových 12 pravidel

8.2 Používání a tvorba databází

1. Integrační koncept

Relační model reprezentuje databázi jako soubor relací. Kaţdá relace představuje tabulku nebo soubor (ve smyslu soubor na nosiči dat).

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

TEORIE ZPRACOVÁNÍ DAT

Tvorba informačních systémů

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS

Databázové a informační systémy Jana Šarmanová

Analýza dat a modelování. Přednáška 3

Úvod do databázových systémů. Ing. Jan Šudřich

Systémy pro podporu rozhodování. Hlubší pohled 2

Úvod, terminologie. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 1

Teorie zpracování dat DATABÁZOVÁ TECHNOLOGIE

Sísyfos Systém evidence činností

Terminologie v relačním modelu

Použití databází na Webu

Michal Krátký, Miroslav Beneš

Business Intelligence

PŘÍLOHA C Požadavky na Dokumentaci

5. Formalizace návrhu databáze

Common Object Request Broker Architecture

TÉMATICKÝ OKRUH Softwarové inženýrství

Analýza a modelování dat 3. přednáška. Helena Palovská

2. přednáška. Databázový přístup k datům (SŘBD) Možnost počítání v dekadické aritmetice - potřeba přesných výpočtů, např.

Analýza a Návrh. Analýza

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o.

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 4

Databázové systémy. Ing. Radek Holý

A5M33IZS Informační a znalostní systémy. O čem předmět bude? Úvod do problematiky databázových systémů

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

MBI - technologická realizace modelu

Vzdělávací obsah vyučovacího předmětu

INFORMATIKA. Jindřich Kaluža. Ludmila Kalužová

Databáze 2013/2014. Konceptuální model DB. RNDr. David Hoksza, Ph.D.

Databáze. Logický model DB. David Hoksza

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d

Architektury Informačních systémů. Jaroslav Žáček

Databáze MS-Access. Obsah. Co je to databáze? Doc. Ing. Radim Farana, CSc. Ing. Jolana Škutová

Maturitní témata Školní rok: 2015/2016

Databázové systémy BIK-DBS

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi.

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant

Databáze Bc. Veronika Tomsová

EXTRAKT z české technické normy

5. Formalizace návrhu databáze

Data v informačních systémech

DATABÁZOVÉ SYSTÉMY JIŘÍ HRONEK. 1.1 Úvod do databázové technologie KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO

Úvod. Programovací paradigmata

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

8. Zpracování dotazu. J. Zendulka: Databázové systémy 8 Zpracování dotazu 1

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Architektury Informačních systémů. Jaroslav Žáček

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

vysvětlit základní pojmy z oblasti databázových systémů; objasnit charakteristické znaky jednotlivých architektur databází, uspořádání modelů dat;

PRODUKTY. Tovek Tools

Okruhy z odborných předmětů

04 - Databázové systémy

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura

Klasické metodiky softwarového inženýrství I N G M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

Technické informace. PA152,Implementace databázových systémů 4 / 25. Projekty. pary/pa152/ Pavel Rychlý

Objektově orientovaný přístup

Relační databáze. V dnešní době existuje řada komerčních DBMS, nejznámější jsou:

Relační databázový model. Vladimíra Zádová, KIN, EF, TUL- DBS

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Architektury informačních systémů

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Transkript:

DATABÁZOVÉ SYSTÉMY 1. Základní pojmy databázové technologie Úvod Databáze a databázové technologie mají velký vliv na rostoucí používání počítačů. Bylo by správné říci, že databáze hrají kritickou roli ve všech oblastech, kde se počítače využívají (ekonomika, strojírenství, zemědělství, vzdělávání, zdravotnictví, právo, knihovnictví, ). Na druhé straně je nutno poznamenat, že s nástupem nových počítačových technologií se mění a zdokonalují dříve používané databázové technologie tj. že se jedná o oboustranný vliv. Vývoj, historie Vývoj nástrojů pro práci s databázemi odrážel požadavky reálného světa (praxe) účelem bylo pochopitelně vyvinout prostředky umožňující co nejefektivnější zpracování dat. Základy databázových technologií souvisejí s hromadným zpracováním dat v podnicích, kdy bylo snahou vytvořit tzv. ASŘP (automatizovaný systém řízení dat podniku). Jako programovací jazyk se tehdy v hojné míře používal COBOL a eventuelně PL/1. První systémy řízení bází dat (SŘBD) se objevují v 2. polovině 60. let, vycházejí ze dvou přístupů - soubory dat obsahující záznamy pospojované prostřednictvím ukazatelů (síťové a hierarchické databáze) - fyzicky nezávislé soubory dat (relační databáze) První přístup zjednodušoval programování vazeb mezi daty, existující vazby mezi daty byly realizovány už při ukládání dat. Druhý přístup pro změnu disponuje tak silnými nástroji, jako je relační algebra, relační kalkul a dotazovací jazyky. Rozvoj relačních databázových systémů v 80. letech a jejich uplatnění v praxi (minulé i současné) by mohl vést ke klamnému závěru, že relace či tabulka je pro aplikace jediná a nejlepší možnost. V řadě případů se ale ukazuje, že relační databáze není vždy to optimální řešení (viz textové databáze, mapy, seismická data, snímky ze satelitů, inženýrské databáze, EKG, rentgenová data ). S rozvojem objektově orientovaných technologií a jejich využitím i v databázových systémech se zdálo, že řešením výše uvedených problémů je objektová technologie. Objekty dokonce měly nahradit tabulky a objektová technologie měla vítězně přivést databáze do třetího tisíciletí. Současnost ukazuje, že optimální patrně bude něco jako kompromis v podobě objektově relačních databází. Ve světě sice existuje v provozu ještě mnoho hierarchických i sítových databází, nicméně dlouhodobým trendem vždy byl přechod na relační databáze. Příliš mnoho na tom nemění ani dnešní tendence k objektové orientaci. Chronologie Síťové databázové systémy 1965 konference o databázových jazycích (CODASYL) se svým výborem Database Task Group (DBTG)- snaha vytvořit koncepci databázového systému 1971 zpráva The DBTG April 1971 Report" definice základních DB pojmů (schéma databáze, jazyk pro definici schématu )

1978 výbor DBTG rozpuštěn, ve tvorbě standardů pokračuje DDLC (Data Description Language Committee) a PLC (Programming Language Committee) 1973, 1987, 1981 aktualizace původního modelu CODASYL implementace IDS II, DMS 1100, DBMS 11, TOTAL, u nás nejužívanější IDMS 1984 rozpuštěn DDLC Hierarchické databáze konec 60. let nemají standard, vycházejí ze SŘBD IMS (Information Management Systém fy IBM a North American Aviation pro program Apollo 1967 dokončení projektu 1968 další vývoj systému přebírá jiný tým, komerční verze IMS se stále používá na sálových počítačích (verze IMS/VS běží pod MVS) Relační databáze 1970 článek E. F. Codda (pracovníka IBM) v časopise Communications of ACM data jsou uložena v izolovaných souborech, data už nelze strukturovat, ale mění se úroveň pohledu na data data jsou chápány jako tabulky, pro manipulaci s nimi jsou k dispozici nástroje jako relační algebra a kalkul. 1974 jazyk Sequel (později SQL) Tento princip dovoloval úsporný přístup k datům, ale značně neefektivním způsobem. Tabulky totiž představovaly nezávislé soubory, takže bylo poněkud problematické a složité zajistit dostatečně efektivní postup při provádění dotazů. Uplynulo skoro 10 let, než se relační databázové technologie dostaly na takovou úroveň, aby byl jejich výkonu v praxi srovnatelný se stávajícími síťovými a hierarchickými DBS. Základní pojmy Databáze (velmi obecná definice) souhrn dat, která spolu logicky souvisejí, patří k sobě, jsou nějakým způsobem svázána (ne vždy je databáze realizována a zpracovávána pomocí prostředků VT) Databáze (dle Wikipedie) je určitá uspořádaná množina informací (dat) uložená na paměťovém médiu Příklad 1.1: Telefonní seznam realizovaný jako notýsek abecedně uspořádaná tištěná kniha databáze v mobilním telefonu databáze v PC spravovaná prostřednictvím specielního softwaru databáze na webovém serveru přístupná pomocí internetového prohlížeče Poznámka: Tato definice je velmi obecná, neboť přesně nevymezuje daný pojem (slova na stránce knihy spolu taky logicky souvisejí, ale nedá se říci, že se jedná o databázi) Data chápeme jako známá fakta, která se dají zaznamenat a mají určitý význam, smysl (v tomto případě nerozlišujeme mezi pojmy informace a data) Databázová technologie unifikovaný soubor pojmů, prostředků a technik sloužící pro vytváření informačních systémů. Zabývá se řízením (správou) velkého množství perzistentních, konzistentních, spolehlivých, sdílených dat

Vlastnosti databáze: reprezentuje nějaké aspekty reálného světa představuje logicky spjatý souhrn dat s daným významem (náhodně uspořádaný soubor dat se v korektním slova smyslu nebere jako databáze) je navržena, zkonstruována a spravována s určitým záměrem, na datech určených ke specifickým účelům, má skupinu určitých uživatelů a specifické operace Jinými slovy, databáze má určitý zdroj, z něhož se odvozují data, určitý stupeň interakce s událostmi reálného světa a uživatele, kteří jsou zainteresováni na obsahu databáze. Databáze může být různě velká, mít různě komplikovanou strukturu, může být vytvářena a spravována ručně nebo pomocí prostředků VT Příklad 1.2: různě velké a různě spravované databáze Mzdová a osobní agenda malé firmy (cca 10zaměstnanců) ručně zpracovávaná Kartotéka v knihovně ručně nebo počítačově vedená Správa důchodového a sociálního zabezpečení Daňový úřad Katastrální úřad Systém řízení báze dat (SŘBD) Jedná se o souhrn programů, postupů a metod, které umožňují uživateli vytvářet a spravovat databáze. Jedná se o obecně použitelný softwarový systém se schopnostmi umožňujícími definovat, vytvářet a spravovat databáze pro nejrůznější aplikace definice databáze specifikace datových typů, struktur a podmínek omezujících data (integritních omezení) konstrukce databáze proces ukládání dat samotných na vhodné nosiče dat, který je řízen SŘBD správa databáze, přístup, manipulace s daty zahrnuje dotazovací a vyhledávací funkce, aktualizační operace, generace výstupů (sestav a nejrůznějších zpráv) Poznámka: Samozřejmě že ne každá počítačem spravovaná databáze musí být nutně univerzálním databázovým systémem, to by se v řadě případů nevyplatilo ani finančně, ani z hlediska konstrukce a správy databáze. Mnohdy je rozumnější vytvořit si (nechat si vytvořit) specielní aplikaci. Databázový systém = databáze + SŘBD

Obrázek 1.1 Příklad 1.3 Část univerzitní databáze PŘEDNÁŠKA Název Číslo Hodinov přednášky á dotace Katedra Úvod do OOP I123 3 Informatika Diskrétní matematika M412 4 Matematika Matematická analýza M421 4 Matematika Algoritmy I125 4 Informatika

STUDENT Jméno Číslo studenta studenta Ročník Katedra Adamec Petr 1111 1 Informatika Dvořáková Jana 2221 2 Matematika Kalousek Jiří 1113 1 Psychologie Zelenková Eva 1118 3 Bohemistika OBORY STUDIA Id oboru Id přednášky Semestr Rok Učitel O11 I123 zimní 96 Souček O11 I123 letní 96 Zelenka O12 I125 zimní 96 Moravec O12 M412 zimní 96 Bláha O12 M412 zimní 96 Suchánek PROSPĚCH Student Předmět Hodnocení 1118 B123 velmi dobře 2221 I123 výborně 2221 I125 dobře 1111 I123 nevyhověl Charakteristika databázového přístupu Databázový způsob zpracování souborů se liší v řadě charakteristik od tradičního přístupu při programování souborových aplikací. V tradičním souborovém zpracování každý uživatel definuje a implementuje soubory potřebné pro danou specifickou aplikaci. Například jeden uživatel udržuje a spravuje studijní agendu veškerá nutná data týkající se studijních oborů, rozvrhu, zápisů studentů, zkoušek, zápočtů, jiný uživatel má na starosti ubytování studentů, další zase stravování studentů. I když všichni tito uživatelé pracují se stejnými daty, přesto každý z nich používá své vlastní izolované soubory (se specifickou strukturou), takže se data pochopitelně duplikují. Problémy: redundance dat s sebou přináší problém aktualizace dat a možné nekonzistence dat víceuživatelský přístup ochrana dat zajištění integrity dat kontrola přípustných hodnot dat v jednotlivých souborech může představovat složité programy problém se vztahy mezi objekty jak dodržet existující vazby (složitý kód) realizace dotazů co uživatelský dotaz, to program Databázový přístup má tu výhodu, že veškerá data jsou uložená jen jednou, jsou přístupná pro nejrůznější uživatele Poznámka: Data se většinou nevyskytují redundantně, ale někdy je to v rámci snížení časové režie žádoucí Základní charakteristikou databázového systému je, že neobsahuje jen data, ale zahrnuje i kompletní definici a popis databáze. Tato definice je uložena v tzv. systémovém katalogu

(repository), informacím v katalogu se říká metadata. Katalog je využíván SŘBD a příležitostně i uživateli databáze, pokud potřebují znát údaje o struktuře databáze. SŘBD musí být vytvořen tak, aby mohl stejně dobře spravovat libovolnou databázi tj. pro získání informací o struktuře souborů konkrétní databáze, informace o typech a formátech dat se nutně musí odkazovat na katalog. Tradiční zpracování dat data jsou typicky součástí programu, program je tedy omezen na jednu konkrétní databázi, při libovolné změně struktury dat je třeba přepsat odpovídajícím způsobem všechny programy, které k danému datovému souboru přistupují Příklad 1.4: definice dat pomocí klasických programovacích jazyků - PASCAL (definice typů a záznamů) - C (definice struktur) - COBOL (popis dat v DATA DIVISION) Databázové technologie - SŘBD musí zvládnout libovolnou databázi pochopitelně s využitím informací z katalogu. SŘBD je psáno nezávisle na konkrétních souborech, struktura dat je uložena v datovém katalogu (datový slovník). Při změně struktury dat není nutné zasahovat do kódu tj. měnit nějakým způsobem programy SŘBD, neboť provedená změna se odrazí v katalogu tuto vlastnost nazýváme program datová nezávislost. OO programovací jazyky a OO databáze dovolují definovat operace s daty jako součást popisu dat tj. v popisu daného objektu (třídy) jsou dohromady zahrnuta data (atributy) a funkce pro manipulaci s těmito daty (metody), přesněji řečeno pouze interface těchto funkcí (hlavičky funkcí). Vlastní implementace je psána odděleně od popisu dat a dá se tedy změnit, aniž je nutné měnit interface. Uživatel tak může pracovat s daty prostřednictvím těchto operací nezávisle na tom, jak jsou implementovány. Tento jev označujeme jako nezávislost program operace. Odtud dále odvozujeme pojem datová abstrakce datová abstrakce = nezávislost program data + nezávislost program operace Jak už bylo dříve řečeno, při databázovém přístupu je detailní struktura a organizace každého souboru uložena v katalogu. Databázoví uživatelé se odkazují na konceptuální reprezentaci souborů a SŘBD vybírá z katalogu detaily o uložení jednotlivých souborů podle potřeby. K zajištění této datové abstrakce se používá řada databázových modelů, o nichž se bude dále hovořit. Současný vývojový trend směrem k objektově-orientovaným databázím posouvá abstrakci o jednu úroveň výše, protože zahrnuje nejen datovou strukturu, ale i operace s daty. V tomto smyslu se hovoří o abstraktních operacích. Příklad 1.5 Operace VypocetPrumeru se aplikuje na objekt Student s účelem zjistit průměrný prospěch studenta uživatel může tuto operaci použít, aniž by věděl, jak vlastně je implementována. (Má vlastně k dispozici řadu takovýchto operací nad objekty.) Podpora vícenásobných pohledů na data - databáze je využívána mnoha uživateli, z nichž každý obecně může mít jiný pohled na data, srozumitelněji řečeno každý uživatel potřebuje jen vybraná data z databáze pro danou konkrétní úlohu, tj. každý si vybere nebo odvodí data, která potřebuje, o ostatních údajích v databázi nemusí ani vědět (souvisí i s ochranou dat viz dále) Sdílení dat a provádění víceuživatelských transakcí - SŘBD musí zajistit současný přístup k datům pro více uživatelů, musí obsahovat software potřebným k řízení vícenásobného přístupu k datům, tj. pokud se několik uživatelů současně pokouší aktualizovat tatáž data, aby tato činnost

neprobíhala náhodně a nekontrolovaně, aby výsledky těchto transakcí byly správné. (Musí být např. zajištěno, že jedna místenka ve vlaku nebude přidělena vícekrát různými úředníky za přepážkou.) transakční zpracování. SŘBD by měl také poskytovat prostředky k zajištění bezpečnosti dat a zabránění neautorizovanému přístupu. Shrnutí 3 základní charakteristiky databázové technologie oddělení (izolace) programu a dat podpora vícenásobných pohledů použití katalogu k uložení informací o databázi Ideální vlastnosti databázového systému vyšší datová abstrakce SŘBD zahrnují manipulační jazyky pro práci s datovými strukturami vyšší úrovně nezávislost aplikačních programů na změnách ve fyzickém uložení dat změna fyzické struktury dat nepředstavuje potřebu měnit aplikační programy ochrana dat před neoprávněným přístupem a před poruchami SŘBD disponuje mechanismy zajišťující přístup k datům pouze oprávněným uživatelům, zahrnuje obnovovací systémy umožňující provést rekonstrukci dat po fyzické či jiné havárii systému neredundantnost dat každý údaj je v databázi většinou uložen jen jednou sdílení dat v jednom konkrétním časovém okamžiku mohou být tatáž data využívána více uživateli z různých aplikací může být zajištěn současný přístup ke stejným datovým zdrojům konzistence dat - SŘBD hlídá, aby v rámci datových aktualizací nedošlo k uvedení dat do takového stavu, který by nevyhovoval integritním omezením dat (podmínky omezující data podle reálných požadavků na data) Osoby na scéně Správce databáze (administrátor databáze) - je zodpovědný za správu databáze a i SŘBD. Přiděluje a odebírá přístupová práva, koordinuje a sleduje využívání databáze, stará se o využívání softwarových a hardwarových zdrojů. Řeší problémy týkající se porušení bezpečnosti nebo např.příliš vysoké doby odezvy systému. Ve větších organizacích má k dispozici asistenty, kteří mu pomáhají zajišťovat bezproblémový chod a správu databáze. Databázoví návrháři - zodpovídají za určení dat, která se budou ukládat do databáze, za výběr odpovídající struktury pro uložení data, za komunikace se všemi potenciálními uživateli databáze a za návrh databáze, který nejlépe vyhovuje požadavkům uživatelů. Systémoví analytici - definují požadavky koncových uživatelů (specielně naivních uživatelů) a formulují na základě těchto požadavků specifické úlohy tzv. uzavřené transakce (canned transaction) Aplikační programátoři - implementují specifické požadavky systémových analytiků jako programy, testují, ladí, vytvářejí dokumentaci a udržují v chodu tyto specifické transakce.

Osoby za scénou návrháři SŘBD navrhují a implementují SŘBD moduly a interface jako softwarové balíky (jedná se např. implementaci databázového katalogu, dotazovacího jazyka, přístupu k datům). návrháři nástrojů navrhují dodatečné nástroje a pomůcky jako je např. jazyková podpora, specielní grafické rozhraní, simulace a generace testovacích dat, generace sestav operátoři a obslužný personál mají na starosti aktuální chod a obsluhu hardwaru a softwaru Koncoví uživatelé databáze příležitostní uživatelé - potřebují nejrůznější informace, k jejichž získání používají obvykle dotazovací jazyk nebo různé prohlížeče a manažery naivní uživatelé - využívají hotové aplikační programy pro provádění transakcí v databázi (bankovní transakce, rezervace letenek, pokojů v hotelích, aut v půjčovnách ) zkušení uživatelé - inženýři, vědci, obchodní manažeři, kteří jsou dobře obeznámeni s možnostmi a vlastnostmi SŘBD stand-alone uživatelé

Obrázek 1.2: SŘBD poskytuje uživateli tzv. konceptuální reprezentaci dat - konceptuální schéma, které do určité míry formalizovaně, ale dostatečně srozumitelně a názorně popisuje danou aplikaci (reálný svět), nikoliv fyzickou reprezentaci dat. Konceptuální schéma je implementačně nezávislé a slouží jako společný základ pro chápání objektů uživateli, projektanty integraci uživatelských pohledů a návrh implementace zobrazení mezi uživatelskými pohledy a fyzickým uložením dat

Datový model - typ datové abstrakce používající se jako vyjádření konceptuální reprezentace (logická úroveň - objekty, jejich vlastnosti, vztahy, nikoliv způsob uložení dat). Datový model vlastně ukrývá detaily o fyzické reprezentaci dat, což většinu uživatelů nemusí zajímat nebo tomu ani nerozumějí. Dříve uvedený př. 1.3 je konceptuální reprezentací databáze univerzity. Příklad 1.6 : Fyzická reprezentace př. 1.3 type STUDENT = record jmeno : string [30]; cislo : integer; rocnik : 1..5; katedra : string[20]; end; Třístupňová (tříúrovňová) architektura databázového systému 1. Vnitřní (interní) úroveň má interní schéma, které popisuje fyzickou strukturu databáze používá fyzický datový model a popisuje kompletní detaily týkající se uložení dat na nosičích dat a přístup k datům 2. Konceptuální úroveň má konceptuální schéma, které popisuje strukturu (logickou) celé databáze pro celé společenství uživatelů zaměřuje se na popis entit, datových typů, relací, uživatelských operací a integritních omezení. Na této úrovni je použit vysokoúrovňový datový model nebo implementační datový model 3. Externí úroveň (úroveň založenou na uživatelském pohledu) představuje celou skupinu externích schémat nebo uživatelských pohledů. Popisuje se vždy ta část databáze, o kterou se zajímá jeden konkrétní uživatel, zbytek dat zůstává před tímto uživatelem skryt. Na této úrovni se také používají vysokoúrovňové či implementační datové modely. Poznámka: Většina SŘBD neodděluje striktně tyto tři úrovně, ale řada z nich toto třístupňové schéma podporuje. Některé SŘBD zahrnují fyzickou úroveň do konceptuálního schématu. Ve většině SŘBD podporujících uživatelské pohledy je externí schéma specifikováno v tomtéž modelu, který zahrnuje i konceptuální informace. Poznámka: Třístupňová architektura je pouze popis dat! Jediná data, která skutečně existují, existují na fyzické úrovni. Je-li SŘBD postaven na třístupňové architektuře, pak se každý uživatel může odkazovat na své vlastní externí schéma. Ovšem SŘBD musí transformovat požadavek vznesený na externí schéma na požadavek na konceptuální schéma a odtud na požadavek na interní schéma. Pokud se jedná například o výběrový požadavek (dotaz), pak se odpovídající data, která byla vlastně vybraná ze skutečně existujících fyzických dat uložených na vhodném nosiči, musí přeformátovat do tvaru odpovídajícímu příslušnému externímu uživatelskému pohledu. Proces transformace uživatelských požadavků a výsledků zpracování mezi jednotlivými úrovněmi se nazývá mapování. Tento proces může mít za následek zvýšení časové režie, takže některé SŘBD, specielně ty, co podporují malé databáze, nepodporují externí pohledy. (Nicméně tím se neodstraní mapování mezi úrovní konceptuální a interní.)

Obrázek 1.3:

Třístupňová architektura se používá k vysvětlení koncepce datové nezávislosti definuje se jako schopnost změnit schéma na jedné úrovni, aniž je nutné změnit schéma úrovně vyšší. Rozlišujeme dva typy datové nezávislosti: logická datová nezávislost je možné změnit konceptuální schéma a není nutné měnit externí schéma (můžeme rozšířit databázi přidat záznamy nebo datové položky nebo zúžit databázi zrušit záznamy a položky a není nutno měnit externí schéma tedy za předpokladu, že jsme neodebrali něco, co je zahrnuto do externího schématu). fyzická datová nezávislost možnost změnit interní schéma bez toho, že by bylo nutné změnit konceptuální či dokonce externí schéma. Poznámka: Kdykoliv uvažujeme víceúrovňový SŘBD, jeho katalog (datový slovník) musí být rozšířen o informace potřebné k mapování požadavků a dat mezi jednotlivými úrovněmi SŘBD k tomu používá dodatečný software. Pokud je zajištěna datová nezávislost, znamená to, že změnou schématu v jedné úrovni se nemusí měnit jiné schéma vlastně se mění jen mapování, nemá to vliv na samotný aplikační software. Ovšem dvouúrovňové mapování může během kompilace či provádění dotazů nebo programu být poněkud neefektivní, takže jen málo SŘBD implementuje plně třístupňovou architekturu. Architektura DB systému centralizovaná jednovrstvá izolovaná terminál DB server (viz obrázek 1.4) PC file server (viz obrázek 1.5) dvouvrstvá klient front-end server back-end (viz obrázek 1.6) třívrstvá klient aplikační server DB server (viz obrázek 1.7) distribuovaná více DB serverů (viz obrázek 1.8) replikace téže DB vybrané podmnožiny DB

Obrázek 1.4

Obrázek 1.5

Obrázek 1.6 Obrázek 1.7

Obrázek 1.8 Typy DBS předrelační hierarchické síťové relační architektura mainframe architektura PC - file server architektura klient - server postrelační objektově relační objektově orientované deduktivní distribuované

Databázové jazyky Jakmile je hotov návrh databáze a je vybrán určitý SŘBD k její implementaci, první krok, který následuje, je specifikovat konceptuální a interní schéma a potřebná mapování mezi nimi. Jazyk pro definici dat (JDD) pomocí tohoto jazyka se definuje konceptuální a interní schéma databáze je používán návrháři databáze. Jazyk pro definici uložení dat (storage definition language) používá se ke specifikaci interního schématu v těch systémech, v nichž je striktně oddělena konceptuální a interní úroveň. Pro mapování mezi jednotlivými úrovněmi se pak používá jeden z výše uvedených jazyků. Jazyk pro definici pohledu (JDP) používá se k definování nejrůznějších uživatelských pohledů (souvisí s externí úrovní - viz třístupňová neboli tříúrovňová architektura). Jazyk pro manipulaci dat (JMD) používá se jako jazyk pro manipulaci s daty v databázi tj. nejrůznější výběry dat, vkládání nových údajů, opravy stávajících dat a rušení údajů. Existují dva hlavní typy těchto jazyků neprocedurální (vysokoúrovňové) jazyky používající se k provádění komplexních databázových operací. SRBD dovoluje, aby příkazy těchto vysokoúrovňových jazyků byly prováděny buďto interaktivně z terminálů (pak hovoříme obvykle o dotazovacích jazycích), nebo jsou tyto příkazy zahrnuty jako součást univerzálních (víceúčelových) programovacích jazyků. nízkoúrovňové jazyky pro manipulaci dat musí být zahrnuty do univerzálního programovacího jazyka. Tyto druhy JMD typicky vybírají jednotlivé záznamy z databáze a zpracovávají každý záznam odděleně. (Jsou proto označovány jako záznamově orientované jazyky, protože pracují vždy s jedním záznamem tzv. record -in-time jazyky, na rozdíl od vysokoúrovňových JMD, které pomocí jediného příkazu zpracovávají mnoho záznamů tj. set-in-time JMD.) Poznámka: Pokud jsou JMD součástí univerzálního programovacího jazyka, pak je tento označován jako hostitelský jazyk a JMD je chápán jako jeho subjazyk. Současné jazyky relační systémy základem je jazyk SQL (SQL87, SQL89, SQL92, SQL99 ) poslední standard ISO/IEC 9075-1:2003 jiné typy db jazyka SŘBD dbase, FoxPro obecné programovací jazyky použití rozhraní OCI, ODBC, JDBC, začlenění speciální příkazy Pascal, C, jazyky 4GL (Fourth Generation Language) formulářové jazyky tvorba uživatelsky příjemného rozhraní okna, formuláře, menu

Literatura: [1] ELMASRI, R., NAVATHE, S., B. Fundamentals of Database Systems, 5th edition. Addison- Wesley, 2007. ISBN 978-03-213-6957-4. [2] SILBERSCHATZ, A., KORTH H. F., SUDARSHAN S. Database System Concepts, 5 th edition, New York: McGraw-Hill, 2006. ISBN 978-0-07-295886-7 [3] CONOLLY, T., BEGG, C., HOLOWZAK R. Profesionální průvodce tvorbou databází. Praha: Computer Press, a. s., 2009. ISBN 978-80-251-2328-7. [4] HERNANDEZ, M., J. Návrh databází. Praha: Grada, 2006. ISBN 80-247-0900-7. [5] POKORNÝ, J. Databázová abeceda. Veletiny: Science, 1998, ISBN 80-86083-02-2. [6] POKORNÝ, J., HALAŠKA, I. Databázové systémy, 2. vydání. Praha Vydavatelství ČVUT, 2003, ISBN 80-01-02789-9.