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

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

  • Upload
    jennis

  • View
    25

  • Download
    0

Embed Size (px)

DESCRIPTION

S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL. Lenka Novotná & Lada Oberreiterová. 20.10.2004. OBSAH. Úvod k databázovým modelům Síťový databázový model - struktura - vlastnosti - manipulace s daty - jazyk pro manipulaci s daty (DML) Hierarchický databázový model - PowerPoint PPT Presentation

Citation preview

Page 1: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

SSÍŤOVÝ A ÍŤOVÝ A HIERARCHICKÝ HIERARCHICKÝ

DATABÁZOVÝ MODELDATABÁZOVÝ MODEL

Lenka Novotná & Lada Oberreiterová

20.10.2004

Page 2: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

OBSAHOBSAH

Úvod k databázovým modelůmÚvod k databázovým modelům Síťový databázový modelSíťový databázový model

- struktura- struktura - vlastnosti- vlastnosti - manipulace s daty- manipulace s daty - jazyk pro manipulaci s daty (DML)- jazyk pro manipulaci s daty (DML) Hierarchický databázový modelHierarchický databázový model - struktura- struktura - podmínky úplnosti a definice dat- podmínky úplnosti a definice dat -- jazyk pro manipulaci s datyjazyk pro manipulaci s daty

Page 3: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

ÚVOD K DATABÁZOVÝM ÚVOD K DATABÁZOVÝM MODELŮMMODELŮM

HierarchickýHierarchický - nebyl pro něj ustanoven žádný standard- nebyl pro něj ustanoven žádný standard - nejznámější verze je označována IMS (Information - nejznámější verze je označována IMS (Information Management System)Management System) Síťový Síťový - standardizován 1972 výborem Database Task Group - standardizován 1972 výborem Database Task Group

(DBTG), který vznikl v rámci konference CODASYL (DBTG), který vznikl v rámci konference CODASYL (Conference on Data Systems Languages)(Conference on Data Systems Languages)

- je systém IDMS (Integrated Database Management System)- je systém IDMS (Integrated Database Management System) RelačníRelační Objektově orientovanýObjektově orientovaný Objektově relačníObjektově relační

Page 4: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

Síťový databázový modelSíťový databázový model

StrukturaStruktura - záznamy - záznamy (records) (records) - záznamové typy .. členské, vlastnické- záznamové typy .. členské, vlastnické

- množiny (- množiny (setssets)) - množinové typy .. reprezentace vztahu - množinové typy .. reprezentace vztahu

1:N1:N

Page 5: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

ZÁZNAMOVÝ TYPZÁZNAMOVÝ TYP

Page 6: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

MNOŽINOVÝ TYPMNOŽINOVÝ TYP(Bachmanův diagram)(Bachmanův diagram)

DefiniceDefinice - jméno množinového - jméno množinového

typutypu

- jméno vlastnického - jméno vlastnického záznamového typuzáznamového typu

- jméno členského - jméno členského záznamového typuzáznamového typu

Page 7: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

INSTANCE MNOŽINYINSTANCE MNOŽINY

Jeden vlastnický záznamJeden vlastnický záznam Nula nebo více členských záznamůNula nebo více členských záznamů Členský záznamový typ nemůže existovat Členský záznamový typ nemůže existovat

ve více jedné instanci množiny určitého ve více jedné instanci množiny určitého množinového typumnožinového typu

Určena vlastnickým záznamem (většinou) Určena vlastnickým záznamem (většinou) nebo některým z členských záznamůnebo některým z členských záznamů

Nezaměňovat s množinou v matematiceNezaměňovat s množinou v matematice

Page 8: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

SYSTÉMEM VLASTNĚNÁ SYSTÉMEM VLASTNĚNÁ MNOŽINAMNOŽINA

(SYSTEM-OWNED SET)(SYSTEM-OWNED SET)

Vlastnickým záznamem je systém Vlastnickým záznamem je systém (SŘDB) (SŘDB)

- „virtuální“ vlastnický typ (bez atributů)- „virtuální“ vlastnický typ (bez atributů)

Vstupní body do databázeVstupní body do databáze Uspořádání záznamů daného Uspořádání záznamů daného

záznamového typuzáznamového typu

Page 9: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

REPREZENTACE REPREZENTACE MNOŽINOVÉ INSTANCEMNOŽINOVÉ INSTANCE

Musí dovolovat operace:Musí dovolovat operace: - dán vlastník, najdi všechny členy této - dán vlastník, najdi všechny členy této

instanceinstance

- dán vlastník, najdi první, i-tý nebo - dán vlastník, najdi první, i-tý nebo poslední člen poslední člen

instance; neexistuje-li vrať výjimku instance; neexistuje-li vrať výjimku

- dán člen, najdi následujícího (předchozího) - dán člen, najdi následujícího (předchozího)

člena; neexistuje-li vrať výjimkučlena; neexistuje-li vrať výjimku

- dán člen, najdi vlastníka této instance- dán člen, najdi vlastníka této instance

Page 10: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

REPREZENTACE REPREZENTACE MNOŽINOVÉ INSTANCEMNOŽINOVÉ INSTANCE

Kruhový spojový seznam (kruhový řetěz) Kruhový spojový seznam (kruhový řetěz)

- nejčastější- nejčastější Kruhový spojový seznam s obousměrnými Kruhový spojový seznam s obousměrnými

ukazateliukazateli „„Ukazatel na vlastníka“ („owner-pointer“)Ukazatel na vlastníka“ („owner-pointer“) Sousedící členské záznamySousedící členské záznamy Pole ukazatelůPole ukazatelů Indexovaná reprezentaceIndexovaná reprezentace

Page 11: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

KRUHOVÝ SPOJOVÝ KRUHOVÝ SPOJOVÝ SEZNAMSEZNAM

Pole typů (type field) pro rozlišení Pole typů (type field) pro rozlišení členského a vlastnického záznamučlenského a vlastnického záznamu

K tomuto poli je každému K tomuto poli je každému záznamovému typu přiřazeno pole záznamovému typu přiřazeno pole ukazatelů (pointer field)ukazatelů (pointer field)

Ukazatel v členském záznamu se Ukazatel v členském záznamu se obvykle nazývá NEXT, ve vlastnickém obvykle nazývá NEXT, ve vlastnickém záznamu FIRSTzáznamu FIRST

Page 12: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

KRUHOVÝ SPOJOVÝ KRUHOVÝ SPOJOVÝ SEZNAMSEZNAM

Page 13: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

VZTAH M:NVZTAH M:N

Page 14: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

VZTAH M:NVZTAH M:N

Page 15: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

VZTAH M:NVZTAH M:N

Page 16: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

Síťový databázový modelSíťový databázový model

Vlastnosti Vlastnosti - volby pro vkládání (insertion options)- volby pro vkládání (insertion options)

- volby pro uchovávání (retencion options)- volby pro uchovávání (retencion options)

- volby pro uspořádání množiny (set ordering - volby pro uspořádání množiny (set ordering

options)options)

- volby pro výběr množiny (set selection - volby pro výběr množiny (set selection options)options)

- definice dat v síťovém modelu (data - definice dat v síťovém modelu (data definition in definition in

the network model)the network model)

Page 17: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

VOLBY PRO VKLÁDÁNÍVOLBY PRO VKLÁDÁNÍ

Volby:Volby: - AUTOMATIC- AUTOMATIC

- MANUAL- MANUAL

Příkazy:Příkazy: - STORE- STORE

- CONNECT- CONNECT

Page 18: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

VOLBY PRO UCHOVÁVÁNÍVOLBY PRO UCHOVÁVÁNÍ

Volby:Volby:

- OPTIONAL- OPTIONAL

- MANDATORY- MANDATORY

- FIXED- FIXED Příkazy:Příkazy:

- - CONNECTCONNECT

- DISCONNECT- DISCONNECT

- RECONNECT- RECONNECT

Page 19: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

VOLBY PRO USPOŘÁDÁNÍVOLBY PRO USPOŘÁDÁNÍ

Třídění uspořádávajícím polem (sorted Třídění uspořádávajícím polem (sorted by an ordering field)by an ordering field)

Systémové implicitní nastavení Systémové implicitní nastavení (system default)(system default)

První nebo poslední (first or last)První nebo poslední (first or last) Následující nebo předchozí (next or Následující nebo předchozí (next or

prior)prior)

Page 20: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

VOLBY PRO VÝBĚR VOLBY PRO VÝBĚR MNOŽINYMNOŽINY

SET SELECTION IS STRUCTURALSET SELECTION IS STRUCTURAL

- - výběr množiny pomocí hodnot dvou polí, výběr množiny pomocí hodnot dvou polí, které se které se

musí rovnat .. strukturální podmínkamusí rovnat .. strukturální podmínka SET SELECTION BY APLICATIONSET SELECTION BY APLICATION - množinová instance je určena aplikačním - množinová instance je určena aplikačním

programemprogramem

Page 21: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

DEFINICE DAT V SÍŤOVÉM DEFINICE DAT V SÍŤOVÉM MODELUMODELU

RECORD NAME IS RECORD NAME IS

- pojmenování záznamového typu- pojmenování záznamového typu SET NAME ISSET NAME IS

- pojmenování množinového typu- pojmenování množinového typu INSERTION ISINSERTION IS

- specifikace voleb pro vkládání- specifikace voleb pro vkládání RETENTION ISRETENTION IS

- specifikace voleb pro uchovávání- specifikace voleb pro uchovávání SET SELECTIONSET SELECTION

- specifikace výběru množinové instance (při - specifikace výběru množinové instance (při volbě pro vkládání volbě pro vkládání AUTOMATICAUTOMATIC))

Page 22: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

Síťový databázový modelSíťový databázový model

Manipulace s datyManipulace s daty - DML (Data Manipulation Language)- DML (Data Manipulation Language)

- UWA (User Work Area)- UWA (User Work Area)

- indikátory životnosti (currency indicators)- indikátory životnosti (currency indicators)

- indikátory stavu (status indicators)- indikátory stavu (status indicators)

Page 23: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

INDIKÁTORY ŽIVOTNOSTIINDIKÁTORY ŽIVOTNOSTI

Current of record type Current of record type (aktuální záznam)(aktuální záznam) Current of set type Current of set type (aktuální množina)(aktuální množina) Current of run unit .. CRU Current of run unit .. CRU (aktuální (aktuální

běhová jednotka)běhová jednotka)

Page 24: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

INDIKÁTORY STAVUINDIKÁTORY STAVU

Vrací příznak úspěchu nebo chyby po Vrací příznak úspěchu nebo chyby po vykonání každého DML příkazuvykonání každého DML příkazu

Volá se hlavní stavová proměnná Volá se hlavní stavová proměnná DB_STATUS, jejíž hodnota indikuje, zda DB_STATUS, jejíž hodnota indikuje, zda byl příkaz úspěšný nebo zda došlo k byl příkaz úspěšný nebo zda došlo k chybě či výjimcechybě či výjimce

Page 25: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

Síťový databázový modelSíťový databázový model

Jazyk pro manipulaci s daty (DML)Jazyk pro manipulaci s daty (DML) - DML příkazy pro vyhledávání a navigaci- DML příkazy pro vyhledávání a navigaci

- DML příkazy pro zpracování množiny- DML příkazy pro zpracování množiny

- DML příkazy pro aktualizaci záznamů- DML příkazy pro aktualizaci záznamů

- DML příkazy pro aktualizaci množinových - DML příkazy pro aktualizaci množinových instancíinstancí

Page 26: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

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

GET ..GET .. vyhledání záznamu vyhledání záznamu FIND .. FIND .. určí polohu záznamu a specifikuje ho jako CRUurčí polohu záznamu a specifikuje ho jako CRU

- dvě hlavní varianty:- dvě hlavní varianty:

- - FIND ANY FIND ANY <<record type name> [USING <field list>]record type name> [USING <field list>]

… … najde první výskytnajde první výskyt

- - FIND DUPLICATE <record type name>[USING<field list>]FIND DUPLICATE <record type name>[USING<field list>]

… … najde další stejný výskyt, hledání započíná na najde další stejný výskyt, hledání započíná na

aktuálním záznamuaktuálním záznamu

Page 27: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

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

Page 28: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

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

FIND FIND v následujících variantách:v následujících variantách:

- FIND (FIRST - FIND (FIRST | NEXT | PRIOR | LAST | …| NEXT | PRIOR | LAST | …) ) <record <record

type name>type name>

- - FIND OWNER WITHIN <set type name> FIND OWNER WITHIN <set type name>

Page 29: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

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

Page 30: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

DML PŘÍKAZY PRO DML PŘÍKAZY PRO AKTUALIZACI ZÁZNAMŮAKTUALIZACI ZÁZNAMŮ

STORE STORE .. vkládání nových záznamů.. vkládání nových záznamů ERASE .. ERASE .. odstranění záznamu z databázeodstranění záznamu z databáze ERASE ALL .. ERASE ALL .. odstranění záznamu i všech odstranění záznamu i všech

záznamů jím přímo i nepřímo záznamů jím přímo i nepřímo vlastněnýchvlastněných

MODIFY ..MODIFY .. mění některé z hodnot polí mění některé z hodnot polí záznamuzáznamu

Page 31: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

DML PŘÍKAZY PRO DML PŘÍKAZY PRO AKTUALIZACI MNOŽINOVÝCH AKTUALIZACI MNOŽINOVÝCH

INSTANCÍINSTANCÍ

CONNECTCONNECT .. vkládá členský záznam do .. vkládá členský záznam do množinové množinové

instanceinstance DISCONNECTDISCONNECT .. odstranění členského .. odstranění členského

záznamu z množinové instance bez připojení záznamu z množinové instance bez připojení k jiné množinové instancik jiné množinové instanci

RECCONECTRECCONECT .. přesunutí členského .. přesunutí členského záznamu z jedné množinové instance do jiné, záznamu z jedné množinové instance do jiné, která musí být stejného množinového typukterá musí být stejného množinového typu

Page 32: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

HIERARCHICKÝ HIERARCHICKÝ DATABÁZOVÝ MODELDATABÁZOVÝ MODEL

StrukturaStruktura - parent-child relationship (PCR) a hierarchická - parent-child relationship (PCR) a hierarchická

schémataschémata

- vlastnosti hierarchického schématu- vlastnosti hierarchického schématu

- strom hierarchiských instancí- strom hierarchiských instancí

- linearizovaná podoba stromu hierarchických - linearizovaná podoba stromu hierarchických

instancíinstancí

- virtuální PCR- virtuální PCR

Page 33: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

HIERARCHICKÝ HIERARCHICKÝ DATABÁZOVÝ MODELDATABÁZOVÝ MODEL

Dva základní koncepty strukturování Dva základní koncepty strukturování dat:dat:

- záznamy .. sbírky hodnot polí s - záznamy .. sbírky hodnot polí s informacemi o informacemi o

entitách nebo instancích vztahůentitách nebo instancích vztahů

- vztahy předek-potomek (parent-child - vztahy předek-potomek (parent-child

relationship, PCR) .. 1:N vztahy mezi relationship, PCR) .. 1:N vztahy mezi dvěma dvěma

záznamovými typyzáznamovými typy

Page 34: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

PARENT-CHILD PARENT-CHILD RELATIONSHIPRELATIONSHIP

Složen ze dvou záznamových typů: Složen ze dvou záznamových typů: - rodičovský záznamový typ ..- rodičovský záznamový typ .. jeden výskyt ve jeden výskyt ve

vztahuvztahu

- typ záznamu potomek .. - typ záznamu potomek .. 0 až N výskytů ve 0 až N výskytů ve vztahuvztahu

Page 35: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

HIERARCHICKÁ SCHÉMATAHIERARCHICKÁ SCHÉMATA

Složeno z několika záznamových typů a PCR typůSloženo z několika záznamových typů a PCR typů Na PCR typy se odvoláváme vypsáním Na PCR typy se odvoláváme vypsáním

uzávorkovaných dvojic (rodič, potomek)uzávorkovaných dvojic (rodič, potomek) Znázorňuje se jako hierarchický diagramZnázorňuje se jako hierarchický diagram

Page 36: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

VLASTNOSTI VLASTNOSTI HIERARCHICKÉHO SCHÉMATUHIERARCHICKÉHO SCHÉMATU

Kořen hierarchického schématu se nevyskytuje Kořen hierarchického schématu se nevyskytuje jako potomek v žádném PCR typujako potomek v žádném PCR typu

Každý záznamový typ kromě kořene se Každý záznamový typ kromě kořene se vyskytuje jako potomek právě v jednom PCR vyskytuje jako potomek právě v jednom PCR typutypu

Záznamový typ může být rodičem v jakémkoli Záznamový typ může být rodičem v jakémkoli počtu (0 či více) PCR typůpočtu (0 či více) PCR typů

Záznamový typ, který není rodičem v žádném Záznamový typ, který není rodičem v žádném PCR typu, se nazývá listPCR typu, se nazývá list

Jestliže typ se objevuje jako rodičovský ve více Jestliže typ se objevuje jako rodičovský ve více PCR typech, pak jsou jeho potomci uspořádáni PCR typech, pak jsou jeho potomci uspořádáni dle konvencí zleva doprava (v diagramu)dle konvencí zleva doprava (v diagramu)

Page 37: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

STROM HIERARCHICKÝCH STROM HIERARCHICKÝCH INSTANCÍINSTANCÍ

Uzlu odpovídá záznamový typUzlu odpovídá záznamový typ Hraně odpovídá PCR typHraně odpovídá PCR typ Na rozdíl od zobrazení hierarchie, zde nesplývají ani Na rozdíl od zobrazení hierarchie, zde nesplývají ani

částečně hranyčástečně hrany

Page 38: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

LINEARIZOVANÁ PODOBA LINEARIZOVANÁ PODOBA STROMU HIERARCHICKÝCHSTROMU HIERARCHICKÝCH

Page 39: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

VIRTUÁLNÍ PCR VIRTUÁLNÍ PCR

Hierarchický model má problémy s Hierarchický model má problémy s modelováním určitých typů vztahů, např.:modelováním určitých typů vztahů, např.:

- M:N vztah- M:N vztah - záznam se vyskytuje jako potomek ve více než - záznam se vyskytuje jako potomek ve více než jednom PCR typujednom PCR typu - n-ární vztahy s více než dvěma výskyty - n-ární vztahy s více než dvěma výskyty záznamových typůzáznamových typů Virtuální PCR je podobný obyčejnému PCR, Virtuální PCR je podobný obyčejnému PCR,

hlavní rozdíl je v implementaci; VPCR obvykle hlavní rozdíl je v implementaci; VPCR obvykle implementujeme pomocí pevně daného implementujeme pomocí pevně daného ukazatele z virtuálního potomka na jeho ukazatele z virtuálního potomka na jeho virtuálního předkavirtuálního předka

Page 40: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

VIRTUÁLNÍ PCRVIRTUÁLNÍ PCR

Page 41: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

HIERARCHICKÝ HIERARCHICKÝ DATABÁZOVÝ MODELDATABÁZOVÝ MODEL

Podmínky úplnosti: Podmínky úplnosti: - žádná instance záznamu (kromě kořenového) nemůže - žádná instance záznamu (kromě kořenového) nemůže

existovat bez toho, aby byla ve vztahu k nějaké instanci existovat bez toho, aby byla ve vztahu k nějaké instanci rodičovského záznamurodičovského záznamu

- pokud má potomek více rodičů stejného typu, musí být - pokud má potomek více rodičů stejného typu, musí být

duplikován pro každého z rodičůduplikován pro každého z rodičů

- potomek s více rodiči různých typů může mít nejvýše - 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ánijednoho skutečného rodiče, ostatní jsou reprezentováni

jako virtuálníjako virtuální

Page 42: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

HIERARCHICKÝ HIERARCHICKÝ DATABÁZOVÝ MODELDATABÁZOVÝ MODEL

Definice dat:Definice dat: - HDDL (Hierarchical Data Definition - HDDL (Hierarchical Data Definition

Language)Language)

- musíme definovat pole každého - musíme definovat pole každého záznamového typu, typ dat každého pole a záznamového typu, typ dat každého pole a nějaké klíčové podmínky pro polenějaké klíčové podmínky pro pole

- dále musíme určit typ záznamu kořene a - dále musíme určit typ záznamu kořene a pro každý nekořenový záznamový typ určit pro každý nekořenový záznamový typ určit jeho (skutečného) předka PCR typujeho (skutečného) předka PCR typu

- VPCR typy musí být také specifikovány- VPCR typy musí být také specifikovány

Page 43: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

HIERARCHICKÝ HIERARCHICKÝ DATABÁZOVÝ MODELDATABÁZOVÝ MODEL

Jazyk pro manipulaci s datyJazyk pro manipulaci s daty - HDML (Hierarchical Data Manipulation Language)- HDML (Hierarchical Data Manipulation Language)

- poslední záznam, ke kterému přistoupil nějaký - poslední záznam, ke kterému přistoupil nějaký

příkaz, se nazývá aktuální databázový záznam příkaz, se nazývá aktuální databázový záznam

(current database record)(current database record)

- SŘBD udržuje ukazatel na aktuální záznam- SŘBD udržuje ukazatel na aktuální záznam

- posloupnost DB příkazů probíhá od aktuálního - posloupnost DB příkazů probíhá od aktuálního

záznamu, může definovat nový aktuální záznamzáznamu, může definovat nový aktuální záznam

Page 44: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

PŘÍKAZY HDMLPŘÍKAZY HDML

GET ..GET .. Příkaz pro nalezení záznamu Příkaz pro nalezení záznamu

- uvedeme dvě varianty:- uvedeme dvě varianty: GET FIRST GET FIRST <record type name>[WHERE<condition>]<record type name>[WHERE<condition>]

GET NEXT <record type name> [WHERE<condition>]GET NEXT <record type name> [WHERE<condition>]

- GET FIRST prohledává databázi od začátku hierarchické - GET FIRST prohledává databázi od začátku hierarchické

sekvence, hledá první instanci záznamu splňující sekvence, hledá první instanci záznamu splňující podmínkypodmínky

- GET NEXT prohledává od aktuálního záznamu a hledá - GET NEXT prohledává od aktuálního záznamu a hledá

další záznam splňující podmínkydalší záznam splňující podmínky

Page 45: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

PŘÍKAZY HDMLPŘÍKAZY HDML

GET PATHGET PATH .. .. vyhledávání záznamů za vyhledávání záznamů za podmínek na jednotlivé záznamy v cestě k podmínek na jednotlivé záznamy v cestě k hledanému záznamuhledanému záznamu

GET (FIRST | NEXT) PATH <hierarchical GET (FIRST | NEXT) PATH <hierarchical

path>[WHERE<condition>]path>[WHERE<condition>]

GET NEXT WITHIN PARENT ..GET NEXT WITHIN PARENT .. nalezne nalezne daldalší záznam daného typu, který má stejný ší záznam daného typu, který má stejný rodičovský záznamrodičovský záznam

GET NEXT GET NEXT <child record type name> WITHIN <child record type name> WITHIN

[VIRTUAL][VIRTUAL] PARENT [<parent record type name>] PARENT [<parent record type name>] [WHERE<condition>][WHERE<condition>]

Page 46: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

PŘÍKLAD GET PATHPŘÍKLAD GET PATH

Page 47: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

PŘÍKAZY HDMLPŘÍKAZY HDML

Aktualizační příkazy:Aktualizační příkazy: - INSERT .. vloží záznam do databáze- INSERT .. vloží záznam do databáze

- DELETE .. vymaže záznam z databáze- DELETE .. vymaže záznam z databáze

- GET HOLD .. používá se pro nastavení - GET HOLD .. používá se pro nastavení daného daného

záznamu jako aktuálního záznamu jako aktuálního záznamuzáznamu

Page 48: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

PŘÍKLAD DELETEPŘÍKLAD DELETE

Page 49: S ÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL

SHRNUTÍSHRNUTÍ

Síťový databázový modelSíťový databázový model

- struktura- struktura - vlastnosti- vlastnosti - manipulace s daty- manipulace s daty - jazyk pro manipulaci s daty (DML)- jazyk pro manipulaci s daty (DML) Hierarchický databázový modelHierarchický databázový model - struktura- struktura - podmínky úplnosti a definice dat- podmínky úplnosti a definice dat -- jazyk pro manipulaci s datyjazyk pro manipulaci s daty