Hierarchický databázový model



Podobné dokumenty
4. Základy relačních databází, logická úroveň návrhu

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

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

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Materiál byl vytvořen v rámci projektu Nové výzvy, nové příležitosti, nová škola

Obsah přednášky. Databázové systémy. Normalizace relací. Normalizace relací. Normalizace relací. Normalizace relací

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

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í

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

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

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

Databáze. Logický model DB. David Hoksza

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

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

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

Relační datový model. Integritní omezení. Normální formy Návrh IS. funkční závislosti multizávislosti inkluzní závislosti

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

Střední průmyslová škola Zlín

Databázové systémy. Přednáška 1

S databázemi se v běžném životě setkáváme velmi často. Uvádíme běžné použití databází velkého rozsahu:

Kapitola 2: Entitně-vztahový model (Entity-Relationship model) Množiny entit (entitní množiny) Atributy

Jiří Mašek BIVŠ V Pra r ha

5. Formalizace návrhu databáze

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.

Database engine (databázový stroj, databázový motor, databázové jádro) Systém řízení báze dat SŘBD. Typy SŘBD podle způsobu práce s daty

Databáze I. Přednáška 2

Databázové systémy. Cvičení 3

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

DUM 12 téma: Příkazy pro tvorbu databáze

Terminologie v relačním modelu

Access Tabulka letní semestr 2013

Windows Server 2003 Active Directory

5. Formalizace návrhu databáze

37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)

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

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

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

Databázové systémy BIK-DBS

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

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

Databázové systémy trocha teorie

Databáze I. 4. přednáška. Helena Palovská

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

Úvod do MS Access. Modelování v řízení. Ing. Petr Kalčev

Kurz Databáze. Obsah. Návrh databáze E-R model. Datová analýza, tabulky a vazby. Doc. Ing. Radim Farana, CSc.

Otázka č. 1 (bodů za otázku: 4)

Databázové systémy Tomáš Skopal

Databáze I. Přednáška 3

Relační model dat (Codd 1970)

Konceptuální modelování. Pavel Tyl

Metodika návrhu databáze

Databázové systémy. Cvičení 2

2. přednáška z předmětu GIS1 Data a datové modely

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MS Access generování složitějších sestav Ing. Kotásek Jaroslav

TÉMATICKÝ OKRUH Teorie zpracování dat, Databázové a informační systémy a Teorie informačních systémů

5. POČÍTAČOVÉ CVIČENÍ

Úvod do databázových systémů 6. cvičení

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008.

RELAČNÍ DATABÁZE ACCESS

Analýza a modelování dat. Helena Palovská

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

Relace x vztah (relationship)

J. Zendulka: Databázové systémy 4 Relační model dat 1

U Úvod do modelování a simulace systémů

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

Databáze v MS ACCESS

Úvod do databázových systémů 10. cvičení

Náhled testu. Přijímací zkouška magisterského studia. konečný automat bez zbytečných stavů, který přijímá jazyk popsaný tímto výrazem, má:

Náhled testu. Přijímací zkouška magisterského studia. konečný automat bez zbytečných stavů, který přijímá jazyk popsaný tímto výrazem, má:

KIV/ZIS cvičení 1. Martin Kryl

A5M33IZS Informační a znalostní systémy. Relační databázová technologie

Databázové patterny. MI-DSP 2013/14 RNDr. Ondřej Zýka,

RELACE, OPERACE. Relace

Úvod do databázových systémů 1. cvičení

Úvod do softwarového inženýrství IUS 2009/2010 p.1/30

Rastrová reprezentace

Informační systémy ve zdravotnictví. 6. cvičení

Kapitola 3: Relační model. Základní struktura. Relační schéma. Instance relace

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

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

04 - Databázové systémy

Datové modelování II

4. Relační model dat. J. Zendulka: Databázové systémy 4 Relační model dat 1

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

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

Databáze Bc. Veronika Tomsová

Obsah. Zpracoval:

DATABÁZE A INFORMAČNÍ SYSTÉMY

11. blok Normalizace. Studijní cíl

TEORIE ZPRACOVÁNÍ DAT

Operátory ROLLUP a CUBE

DUM 10 téma: Relační databázový systém

Souborové systémy a logická struktura dat (principy, porovnání, příklady).

Marketingová komunikace. 3. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK3PH (vm3bph)

RELAČNÍ DATABÁZOVÉ SYSTÉMY

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MS Access propojení relací s formuláři a sestavami Ing.

Access. Tabulky. Vytvoření tabulky

Transkript:

12. Základy relačních databází Když před desítkami let doktor E. F. Codd zavedl pojem relační databáze, pohlíželo se na tabulky jako na relace, se kterými se daly provádět různé operace. Z matematického hlediska to byl kartézský součin, selekce a projekce. Každá relační databáze vychází z těchto základů a musí mít v sobě zabudovánu podporu pro relační algebru, nad kterou se v jazyce SQL konstruují dotazy. Relační databáze se používají v různých firemních aplikacích, např. na správu objednávek, databázi zaměstnanců atd. Ještě hojnější využití relačních db najdeme u Internetových aplikací, ve spolupráci se skriptovacími jazyky PHP, Asp apod. Relační databáze je složená z řady tabulek, jejichž sloupce mohou být vázány na sloupce v ostatních souvisejících tabulkách, takto propojená datová pole jsou na sebe určitým způsobem závislá, mají mezi sebou nějaký logický vztah. Hierarchický databázový model -Data jsou strukturována hierarchicky a obvykle se znázorňují v podobě obráceného stromu. Přičemž jedna z tabulek slouží jako tzv. kořen tohoto obráceného stromu a ostatní tabulky jako větve vycházející z kořene. -Na obrázku vidíte, že nejvyšším prvkem jsou stromy, které se dělí na 2 základní druhy a každý druh má zase své podruhy a ty zase své podruhy, až se dostanete k jednotlivým instancím. Například u ovocných stromů lze uvést jabloň, u jehličnatých stromů smrk, u dřevin tis apod. Vztah v databázi je reprezentován termíny rodič a potomek. V tomto typu vztahu může být tabulka rodiče přidružena k jedné, nebo více tabulkám potomků, ale tabulka potomka může být přidružena pouze k jedné tabulce rodiče. Uživatel k záznamům přistupuje ve směru šipek od kořene až po listové prvky. V tomto případě k jednotlivým stromům. -Hierarchická databáze byla hojně využívaná zejména v době ukládání dat na magnetické pásky, zejména proto že přístup k datům byl pouze sekvenční. S příchodem magnetických médií a narůstajícím počtem redundantních dat se od používání hierarchického modelu značně upustilo.

Síťový databázový model -Síťová databáze byla vyvinuta hlavně jako pokus o vyřešení problémů hierarchické databáze. Struktura síťové databáze je vyjádřena v pojmech uzlů (někdy také označovaných jako záznamy) a množinových struktur. -Uzel reprezentuje soubor záznamů a množinová struktura reprezentuje a zřizuje vztah v síťové databázi. Je to snadno pochopitelná konstrukce, která vytváří vztah mezi dvěma uzly tak, že jeden uzel je definován jako vlastník a druhý jako prvek (tato metoda je značným vylepšením vztahu rodič/potomek). Množinová struktura podporuje vztah 1: N, neboli jeden záznam v uzlu vlastník může být v relaci k jednomu, nebo více záznamům v uzlu člen. Na druhé straně, jeden záznam v uzlu člen je ve vztahu pouze k jednomu záznamu typu vlastník. Záznam v uzlu typu člen navíc nemůže existovat, aniž by byl ve vztahu k nějakému záznamu v odpovídajícím uzlu typu vlastník. -Výhodou síťové databáze je rychlý přístup k datům. Umožňuje uživatelům vytvářet dotazy, které jsou mnohem komplexnější než dotazy v hierarchickém modelu. Hlavní nevýhodou síťové databáze je, že uživatel musí znát strukturu databáze, aby mohl pracovat s množinovými strukturami. Logický návrh databáze popisuje rozměry, tvary a systémy nutné pro databázi. Určuje informační a provozní potřeby, které si na systém kladete. Tím je myšlena sama fyzická implementace, kterou lze provést v zápětí.

Základy relačních databází -Základním konstruktorem relačních databází jsou relace (databázové tabulky), což jsou dvourozměrné struktury tvořené záhlavím a tělem, které slouží k přímému uložení dat do paměťového prostoru relační databáze. Jejich sloupce se nazývají atributy. Každý sloupec musí mít jedinečný název a určitý datový typ podle dat, která chceme ukládat. -Řádky nebo také záznamy. Oba pojmy jsou identické, jelikož jeden řádek reprezentuje jeden záznam. -Atributy mají určen svůj konkrétní datový typ a doménu, což je množina přípustných hodnot daného atributu. Řádek je řezem přes sloupce tabulky a slouží k vlastnímu uložení dat. Pojem relační databáze souvisí s teorií množin. Každá konkrétní tabulka totiž realizuje podmnožinu kartézského součinu všech potenciálně možných dat všech sloupců relaci. -Každý řádek by měl mít určitý jedinečný identifikátor, který jednoznačně určí příslušný záznam. Tento problém řeší klíče. Kandidátní klíč: -Kandidátní klíč je atribut nebo skupina atributů, které jednoznačně identifikují záznam v relační tabulce. Kandidátní klíč se může stát primárním klíčem. Ty, které se primárním klíčem nestanou, jsou označovány jako alternativní klíče. Primární klíč: -Primární klíč je minimální klíč. Je to jednoznačný identifikátor záznamu, řádku tabulky. Primárním klíčem může být jediný sloupec či kombinace více sloupců tak, aby byla zaručena jeho jednoznačnost. Pole klíče musí obsahovat hodnotu, to znamená, že se zde nesmí vyskytovat nedefinovaná prázdná hodnota NULL. Každý nový záznam dostává identifikátor odlišný od identifikátorů všech předchozích záznamů, obvykle se jedná o celočíselné řady a každý nový záznam dostává číslo vždy o jednotku vyšší (AUTO INCREMENT) než je číslo u posledního vloženého záznamu. Cizí klíč: -Slouží pro vyjádření vztahů, relací, mezi databázovými tabulkami. Jedná se o pole či skupinu polí, která nám umožní identifikovat, které záznamy z různých tabulek spolu navzájem souvisí.

Referenční integrita: -Referenční integrita je nástroj databázového stroje, který pomáhá udržovat vztahy v relačně propojených databázových tabulkách. -Referenční integrita se definuje cizím klíčem, a to pro dvojici tabulek, nebo nad jednou tabulkou, která obsahuje na sobě závislá data (například stromové struktury). Tabulka, v niž je pravidlo uvedeno, se nazývá podřízená tabulka (používá se také anglický termín slave). Tabulka, jejíž jméno je v omezení uvedeno je nadřízená tabulka (master). Pravidlo referenční integrity vyžaduje, aby pro každý záznam v podřízené tabulce, pokud tento obsahuje data vztahující se k nadřízené tabulce, odpovídající záznam v nadřízené tabulce existoval. To znamená, že každý záznam v podřízené tabulce musí v cizím klíči obsahovat hodnoty odpovídající primárními klíči nějakého záznamu v nadřízené tabulce, nebo NULL. Referenční Integrita se projevuje například při přidání či změně záznamu v podřízené tabulce. Kontroluje se, zda stejná hodnota klíče existuje v nadřízené tabulce porušení pravidla vyvolá chybu Diagramy entit a vztahů ER diagram Pro návrh a zápis vztahů mezi jednotlivými entitami naší databáze byl vytvořen model E-R diagramů. Tento model byl zaveden a poprvé použit panem Peterem Pin Shan Chenem v roce 1976. Mluvil o diagramech entit a vztahů (Entity Relationship Diagrams), který se brzy rozšířil a stal se obecně uznávaným standardem. Entity se v těchto diagramech popisují pomocí obdélníků, vztahy se znázorňují pomocí kosočtverců, popř. atributy se zobrazují pomocí elips (oválů) potom ovšem mluvíme o ERA diagramu (Entity Relationship Atribut). E-R diagram je založen na jednoduchém pravidle spočívajícím ve splnění čtyř podmínek: 1. Fakta vyjádříme pomocí tabulek v 5 NF 2. Entity (vyjádřeny tabulkami) pojmenujeme výstižným podstatným jménem v jednotném čísle 3. Mezi entitami vytvoříme relace typu 1:N a výstižně je pojmenujeme slovesem nebo předložkou 4. Čteme-li slova označující první entitu, relaci od ní a druhou entitu ve směru od N k 1, pak musí takto sestavená věta dávat smysl. Splněním těchto pravidel získáme diagramem velice dokonalou analýzu problému. Příkladem může být zobrazený diagram mezi třemi entitami Clovek, Bydliste a Posta. Jednoduchý E-R diagram Entita Clovek je dána tabulkou jednotlivých lidí v 5. NF s přímým přístupem podle unikátního rodného čísla. Entita Bydliste je opět zavedena tabulkou v 5. NF a představuje zde trvalé bydliště. Entita Posta představuje tabulku pošt v 5. NF s unikátním poštovním směrovacím číslem. Přitom v jednom trvalém bydlišti může bydlet několik lidí, ale jeden člověk má právě jednou trvalé bydliště. Proto je relace mezi entitou člověk a bydliště typu N:1 a velmi výstižně se dá charakterizovat slovesem Má.

Vícenásobné relace: Mezi dvěma entitami může být stanoveno několik různých relací. Vícenásobná relace mezi dvěma entitami je dovolena, pokud má každá z relací jiné jméno. Můžeme si uvést jako příklad z oblasti lodní dopravy. Lodě neustále plují z jednoho přístavu do druhého a navíc mají jeden z těchto přístavů jako svůj mateřský. Relace mezi entitami LOD a PRISTAV se týká příslušnosti lodí k mateřským přístavům. Relace mezi entitami PLAVBA a LOD popisuje spojení plaveb s příslušnou lodí. Normální formy: -Normální formy tabulek se používají pro lepší návrhy databázových systémů. Obecně platí, že čím je tabulka ve vyšší normální formě, tím kvalitněji je tabulka navržena. 0. NF: Tabulka je v nulté normální formě právě tehdy, existuje-li alespoň jedno pole, které obsahuje více než jednu hodnotu. 1. NF: Tabulka je v první normální formě, jestliže lze do každého pole dosadit pouze jednoduchý datový typ (jsou dále nedělitelné). 2. NF: Tabulka je ve druhé normální formě, jestliže je v první a navíc platí, že existuje klíč a všechna neklíčová pole jsou funkcí celého klíče (a tedy ne jen jeho částí). 3. NF: Tabulka je ve třetí normální formě, jestliže každý neklíčový atribut není transitivně závislý na žádném klíči schématu (viz obrázek 1) neboli je-li ne druhé normální formě a zároveň neexistuje jediná závislost neklíčových sloupců tabulky. 4. NF: tabulka je ve čtvrté normální formě, pokud sloupce (atributy) v ní obsažené popisují pouze jeden fakt nebo jednu souvislost. 5. NF: Tabulka je v páté normální formě, pokud je ve čtvrté a není možné do ní přidat nový sloupec (skupinu sloupců) tak, aby se vlivem skrytých závislostí rozpadla na několik dílčích tabulek.