Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

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

Podobné prezentace


Prezentace na téma: "SÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL"— Transkript prezentace:

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

2 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

3 Ú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í

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

5 ZÁZNAMOVÝ TYP

6 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

7 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

8 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

9 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

10 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

11 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

12 KRUHOVÝ SPOJOVÝ SEZNAM

13 VZTAH M:N

14 VZTAH M:N

15 VZTAH M:N

16 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)

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

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

19 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)

20 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

21 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)

22 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)

23 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)

24 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

25 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í

26 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

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

28 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>

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

30 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

31 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

32 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

33 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

34 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 až N výskytů ve vztahu

35 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

36 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)

37 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

38 LINEARIZOVANÁ PODOBA STROMU HIERARCHICKÝCH

39 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

40 VIRTUÁLNÍ PCR

41 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í

42 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

43 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

44 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

45 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>]

46 PŘÍKLAD GET PATH

47 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

48 PŘÍKLAD DELETE

49 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


Stáhnout ppt "SÍŤOVÝ A HIERARCHICKÝ DATABÁZOVÝ MODEL"

Podobné prezentace


Reklamy Google