SÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

Slides:



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

Přednáška 11 Jiří Šebesta
Přednáška č. 1 Úvod, Historie zpracování dat, Základní pojmy
Microsoft Office Access
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
BLIŽŠÍ POHLED NA TŘÍDY, DĚDIČNOST - úvod
ALGO – Algoritmizace 1. cvičení
Další dotazy SQL Structured Query Language. Některé SQL příkazy mohou mít v sobě obsaženy další kompletní příkazy SELECT. Využijeme je tam, kde potřebujeme.
Informatika pro ekonomy II přednáška 11
Architektury a techniky DS Tvorba efektivních příkazů I Přednáška č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Principy překladačů Mezikód Jakub Yaghob.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
Metody zpracování vybraných témat (projektů)
ADT Strom.
Skip-List je datová struktura, která může být použita jako náhrada za vyvážené stromy. představují pravděpodobnostní alternativu k vyváženým stromům (struktura.
Objekty v CLIPSu RNDr. Jiří Dvořák, CSc.
Úvod do databází Databáze.
1IT Relační datový model
Databáze Jiří Kalousek.
1IT S ÍŤOVÝ DATOVÝ MODEL Ing. Jiří Šilhán. S ÍŤOVÝ DATOVÝ MODEL Je historicky nejstarším datovým modelem. Jeho základem jsou vzájemně propojené množiny.
Databázové systémy II Přednáška č. 8 – Pohledy (Views)
KONCEPTUÁLNÍ MODELOVÁNÍ
REDUKCE DAT Díváme-li se na soubory jako na text, pak je tento text redundantní. Redundance vyplývá z:  některé fráze nebo slova se opakují  existuje.
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
DATOVÉ MODELY (c) Tralvex Yeap. All Rights Reserved.
Databázové systémy II Přednáška č. 9 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Architektura databází Ing. Dagmar Vítková. Centrální architektura V této architektuře jsou data i SŘBD v centrálním počítači. Tato architektura je typická.
Sémantická analýza Jakub Yaghob
Databázové systémy teorie a návrh relačních databázových systémů část II.
Algoritmy vyhledávání a řazení
Konceptuální návrh databáze
Vypracoval: Ondřej Dvorský Třída: VIII.A
Databázové systémy. Práce s daty Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace.
Informatika pro ekonomy II přednáška 10
Databázové systémy Přednáška č. 4 Proces návrhu databáze.
Databázové systémy Přednáška č. 6.
XML Schema Irena Mlýnková. Obsah XML – úvod, příklad, základní pojmy DTD – přehled XML Schema – podrobně.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Jazyk XML Jazyk pro tvorbu strukturovaných dokumentů Syntaxí velmi podobný HTML Hlavní cíle návrhu: Snadná editace - jazyk je textový Snadné strojové zpracování.
1 Teorie zpracování dat SÍŤOVÝ DATOVÝ MODEL. 2  první databázový model, nejprve implementace různé  1971 definován pracovní skupinou pro databáze (DBTG.
Databázové systémy 2 Cvičení č. 10 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databáze.
Aplikační a programové vybavení
Konceptuální návrh databáze
Databázové modelování
Metodika objektového přístupu při tvorbě překladačů. Marek Běhálek Informatika a aplikovaná matematika FEI VŠB-TU Ostrava.
2 Petr Žitný znalosti.vema.cz 3 Báze znalostí Nová služba zákazníkům ▸Báze naplněná informacemi, ke které mají uživatelé přímý přístup Základní cíl ▸Poskytovat.
Aplikační a programové vybavení
Databázové systémy Informatika pro ekonomy, př. 18.
Standardy v týmové práci Přednáška č.6. Standardy Definují množiny společných vlastností pro pojmenované objekty –Hladiny, Styly textu, Typy čar, Kótovací.
XQuery Dotazovací jazyk XML Daniel Privalenkov. O čem bude prezentace Nutnost dotazovacího jazyku v XML Rychlý přehled XQuery Několik příkladů.
XML data na disku jako databáze Kamil Toman
Aplikační a programové vybavení
Počítače a programování 1 7.přednáška. Základy Pole ve třídách a metodách Pole Arrays.
Databázové systémy Datové modely.
Databázové systémy Úvod, Základní pojmy. Úvod S rozvojem lidského poznání roste prudce množství informací. Jsou kladeny vysoké požadavky na ukládání,
Perzistence XML dat Kamil Toman
DATABÁZE.
PROGRAMOVÁNÍ 3ITA,3ITB Jaroslav Burdys Hlavní zdroj:
Databáze ● úložiště dat s definovaným přístupem ● typy struktury – strom, sekvence, tabulka ● sestává z uspořádaných záznamů ● databáze – struktura – záznam.
Databázové systémy přednáška 6 – Indexy
Úvod do databázových systémů
Geografické informační systémy
Znázornění dopravní sítě grafem a kostra grafu Předmět: Teorie dopravy - cvičení Ing. František Lachnit, Ph.D.
Výpočetní technika Akademický rok 2008/2009 Letní semestr
Informatika pro ekonomy přednáška 8
[ START WITH podmínka ] CONNECT BY podmínka
Databázové systémy UIN010
AVL a B-stromy cvičení Radek Mařík.
Transkript prezentace:

SÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL Lenka Novotná & Lada Oberreiterová 20.10.2004

OBSAH - struktura Úvod k databázovým modelům Síťový databázový model - vlastnosti - manipulace s daty - jazyk pro manipulaci s daty (DML) Hierarchický databázový model - podmínky úplnosti a definice dat - jazyk pro manipulaci s daty

ÚVOD K DATABÁZOVÝM MODELŮM Hierarchický - nebyl pro něj ustanoven žádný standard - nejznámější verze je označována IMS (Information Management System) Síťový - standardizován 1972 výborem Database Task Group (DBTG), který vznikl v rámci konference CODASYL (Conference on Data Systems Languages) - je systém IDMS (Integrated Database Management System) Relační Objektově orientovaný Objektově relační

Síťový databázový model Struktura - záznamy (records) - záznamové typy .. členské, vlastnické - množiny (sets) - množinové typy .. reprezentace vztahu 1:N

ZÁZNAMOVÝ TYP

MNOŽINOVÝ TYP (Bachmanův diagram) Definice - jméno množinového typu - jméno vlastnického záznamového typu - jméno členského záznamového typu

INSTANCE MNOŽINY Jeden vlastnický záznam Nula nebo více členských záznamů Členský záznamový typ nemůže existovat ve více jedné instanci množiny určitého množinového typu Určena vlastnickým záznamem (většinou) nebo některým z členských záznamů Nezaměňovat s množinou v matematice

SYSTÉMEM VLASTNĚNÁ MNOŽINA (SYSTEM-OWNED SET) Vlastnickým záznamem je systém (SŘDB) - „virtuální“ vlastnický typ (bez atributů) Vstupní body do databáze Uspořádání záznamů daného záznamového typu

REPREZENTACE MNOŽINOVÉ INSTANCE Musí dovolovat operace: - dán vlastník, najdi všechny členy této instance - dán vlastník, najdi první, i-tý nebo poslední člen instance; neexistuje-li vrať výjimku - dán člen, najdi následujícího (předchozího) člena; neexistuje-li vrať výjimku - dán člen, najdi vlastníka této instance

REPREZENTACE MNOŽINOVÉ INSTANCE Kruhový spojový seznam (kruhový řetěz) - nejčastější Kruhový spojový seznam s obousměrnými ukazateli „Ukazatel na vlastníka“ („owner-pointer“) Sousedící členské záznamy Pole ukazatelů Indexovaná reprezentace

KRUHOVÝ SPOJOVÝ SEZNAM Pole typů (type field) pro rozlišení členského a vlastnického záznamu K tomuto poli je každému záznamovému typu přiřazeno pole ukazatelů (pointer field) Ukazatel v členském záznamu se obvykle nazývá NEXT, ve vlastnickém záznamu FIRST

KRUHOVÝ SPOJOVÝ SEZNAM

VZTAH M:N

VZTAH M:N

VZTAH M:N

Síťový databázový model Vlastnosti - volby pro vkládání (insertion options) - volby pro uchovávání (retencion options) - volby pro uspořádání množiny (set ordering options) - volby pro výběr množiny (set selection options) - definice dat v síťovém modelu (data definition in the network model)

VOLBY PRO VKLÁDÁNÍ Volby: - AUTOMATIC Příkazy: - STORE - MANUAL - CONNECT

VOLBY PRO UCHOVÁVÁNÍ - OPTIONAL Volby: Příkazy: - CONNECT - MANDATORY - FIXED Příkazy: - CONNECT - DISCONNECT - RECONNECT

VOLBY PRO USPOŘÁDÁNÍ Třídění uspořádávajícím polem (sorted by an ordering field) Systémové implicitní nastavení (system default) První nebo poslední (first or last) Následující nebo předchozí (next or prior)

VOLBY PRO VÝBĚR MNOŽINY SET SELECTION IS STRUCTURAL - výběr množiny pomocí hodnot dvou polí, které se musí rovnat .. strukturální podmínka SET SELECTION BY APLICATION - množinová instance je určena aplikačním programem

DEFINICE DAT V SÍŤOVÉM MODELU RECORD NAME IS - pojmenování záznamového typu SET NAME IS - pojmenování množinového typu INSERTION IS - specifikace voleb pro vkládání RETENTION IS - specifikace voleb pro uchovávání SET SELECTION - specifikace výběru množinové instance (při volbě pro vkládání AUTOMATIC)

Síťový databázový model Manipulace s daty - DML (Data Manipulation Language) - UWA (User Work Area) - indikátory životnosti (currency indicators) - indikátory stavu (status indicators)

INDIKÁTORY ŽIVOTNOSTI Current of record type (aktuální záznam) Current of set type (aktuální množina) Current of run unit .. CRU (aktuální běhová jednotka)

INDIKÁTORY STAVU Vrací příznak úspěchu nebo chyby po vykonání každého DML příkazu Volá se hlavní stavová proměnná DB_STATUS, jejíž hodnota indikuje, zda byl příkaz úspěšný nebo zda došlo k chybě či výjimce

Síťový databázový model Jazyk pro manipulaci s daty (DML) - DML příkazy pro vyhledávání a navigaci - DML příkazy pro zpracování množiny - DML příkazy pro aktualizaci záznamů - DML příkazy pro aktualizaci množinových instancí

DML PŘÍKAZY PRO VYHLEDÁVÁNÍ A NAVIGACI GET .. vyhledání záznamu FIND .. určí polohu záznamu a specifikuje ho jako CRU - dvě hlavní varianty: - FIND ANY <record type name> [USING <field list>] … najde první výskyt - FIND DUPLICATE <record type name>[USING<field list>] … najde další stejný výskyt, hledání započíná na aktuálním záznamu

DML PŘÍKAZY PRO VYHLEDÁVÁNÍ A NAVIGACI

DML PŘÍKAZY PRO ZPRACOVÁVÁNÍ MNOŽINY FIND v následujících variantách: - FIND (FIRST | NEXT | PRIOR | LAST | …) <record type name> - FIND OWNER WITHIN <set type name>

DML PŘÍKAZY PRO ZPRACOVÁVÁNÍ MNOŽINY

DML PŘÍKAZY PRO AKTUALIZACI ZÁZNAMŮ STORE .. vkládání nových záznamů ERASE .. odstranění záznamu z databáze ERASE ALL .. odstranění záznamu i všech záznamů jím přímo i nepřímo vlastněných MODIFY .. mění některé z hodnot polí záznamu

DML PŘÍKAZY PRO AKTUALIZACI MNOŽINOVÝCH INSTANCÍ CONNECT .. vkládá členský záznam do množinové instance DISCONNECT .. odstranění členského záznamu z množinové instance bez připojení k jiné množinové instanci RECCONECT .. přesunutí členského záznamu z jedné množinové instance do jiné, která musí být stejného množinového typu

HIERARCHICKÝ DATABÁZOVÝ MODEL Struktura - parent-child relationship (PCR) a hierarchická schémata - vlastnosti hierarchického schématu - strom hierarchiských instancí - linearizovaná podoba stromu hierarchických instancí - virtuální PCR

HIERARCHICKÝ DATABÁZOVÝ MODEL Dva základní koncepty strukturování dat: - záznamy .. sbírky hodnot polí s informacemi o entitách nebo instancích vztahů - vztahy předek-potomek (parent-child relationship, PCR) .. 1:N vztahy mezi dvěma záznamovými typy

PARENT-CHILD RELATIONSHIP Složen ze dvou záznamových typů: - rodičovský záznamový typ .. jeden výskyt ve vztahu - typ záznamu potomek .. 0 až N výskytů ve vztahu

HIERARCHICKÁ SCHÉMATA Složeno z několika záznamových typů a PCR typů Na PCR typy se odvoláváme vypsáním uzávorkovaných dvojic (rodič, potomek) Znázorňuje se jako hierarchický diagram

VLASTNOSTI HIERARCHICKÉHO SCHÉMATU Kořen hierarchického schématu se nevyskytuje jako potomek v žádném PCR typu Každý záznamový typ kromě kořene se vyskytuje jako potomek právě v jednom PCR typu Záznamový typ může být rodičem v jakémkoli počtu (0 či více) PCR typů Záznamový typ, který není rodičem v žádném PCR typu, se nazývá list Jestliže typ se objevuje jako rodičovský ve více PCR typech, pak jsou jeho potomci uspořádáni dle konvencí zleva doprava (v diagramu)

STROM HIERARCHICKÝCH INSTANCÍ Uzlu odpovídá záznamový typ Hraně odpovídá PCR typ Na rozdíl od zobrazení hierarchie, zde nesplývají ani částečně hrany

LINEARIZOVANÁ PODOBA STROMU HIERARCHICKÝCH

VIRTUÁLNÍ PCR Hierarchický model má problémy s modelováním určitých typů vztahů, např.: - M:N vztah - záznam se vyskytuje jako potomek ve více než jednom PCR typu - n-ární vztahy s více než dvěma výskyty záznamových typů Virtuální PCR je podobný obyčejnému PCR, hlavní rozdíl je v implementaci; VPCR obvykle implementujeme pomocí pevně daného ukazatele z virtuálního potomka na jeho virtuálního předka

VIRTUÁLNÍ PCR

HIERARCHICKÝ DATABÁZOVÝ MODEL Podmínky úplnosti: - žádná instance záznamu (kromě kořenového) nemůže existovat bez toho, aby byla ve vztahu k nějaké instanci rodičovského záznamu - pokud má potomek více rodičů stejného typu, musí být duplikován pro každého z rodičů - potomek s více rodiči různých typů může mít nejvýše jednoho skutečného rodiče, ostatní jsou reprezentováni jako virtuální

HIERARCHICKÝ DATABÁZOVÝ MODEL Definice dat: - HDDL (Hierarchical Data Definition Language) - musíme definovat pole každého záznamového typu, typ dat každého pole a nějaké klíčové podmínky pro pole - dále musíme určit typ záznamu kořene a pro každý nekořenový záznamový typ určit jeho (skutečného) předka PCR typu - VPCR typy musí být také specifikovány

HIERARCHICKÝ DATABÁZOVÝ MODEL Jazyk pro manipulaci s daty - HDML (Hierarchical Data Manipulation Language) - poslední záznam, ke kterému přistoupil nějaký příkaz, se nazývá aktuální databázový záznam (current database record) - SŘBD udržuje ukazatel na aktuální záznam - posloupnost DB příkazů probíhá od aktuálního záznamu, může definovat nový aktuální záznam

PŘÍKAZY HDML GET .. Příkaz pro nalezení záznamu - uvedeme dvě varianty: GET FIRST <record type name>[WHERE<condition>] GET NEXT <record type name> [WHERE<condition>] - GET FIRST prohledává databázi od začátku hierarchické sekvence, hledá první instanci záznamu splňující podmínky - GET NEXT prohledává od aktuálního záznamu a hledá další záznam splňující podmínky

PŘÍKAZY HDML GET PATH .. vyhledávání záznamů za podmínek na jednotlivé záznamy v cestě k hledanému záznamu GET (FIRST | NEXT) PATH <hierarchical path>[WHERE<condition>] GET NEXT WITHIN PARENT .. nalezne další záznam daného typu, který má stejný rodičovský záznam GET NEXT <child record type name> WITHIN [VIRTUAL] PARENT [<parent record type name>] [WHERE<condition>]

PŘÍKLAD GET PATH

PŘÍKAZY HDML Aktualizační příkazy: - INSERT .. vloží záznam do databáze - DELETE .. vymaže záznam z databáze - GET HOLD .. používá se pro nastavení daného záznamu jako aktuálního záznamu

PŘÍKLAD DELETE

SHRNUTÍ - struktura Síťový databázový model - vlastnosti - manipulace s daty - jazyk pro manipulaci s daty (DML) Hierarchický databázový model - podmínky úplnosti a definice dat - jazyk pro manipulaci s daty