Úvod do hierarchického databázového modelu
Databázový model je způsob, jak definovat strukturu nebo logický návrh databáze. Říká způsob, jakým jsou data uložena, zpřístupněna a aktualizována v DBMS (Database Management System). Nyní budeme podrobně diskutovat o modelu hierarchické databáze. Existuje mnoho datových modelů reprezentujících data. Někteří jsou:
- Relační model
- Hierarchický model
- Model sítě
- Entity-Relationship Model
V relaci jsou data modelu organizována do 2D (dvourozměrných) tabulek, kde je vztah udržován společným polem ve dvou tabulkách.
V modelu hierarchické databáze jsou data reprezentována ve stromové struktuře. Představuje vztah rodič-dítě s jedním rodičem pro každé dítě.
Síťový model je rozšířením hierarchického modelu. V těchto datech je reprezentována ve formě grafů s více než jedním nadřazeným uzlem pro jeden podřízený uzel.
V modelu entita-vztah jsou objekty rozděleny na entity a jejich charakteristiky do jejich atributů a poté je vytvořen vztah mezi různými entitami.
Nyní budeme podrobně diskutovat o modelu hierarchické databáze.
Co je hierarchický databázový model
Hierarchický databázový model je datový model, ve kterém jsou data reprezentována ve stromové struktuře. V tomto modelu jsou data ukládána ve formě záznamů, které jsou sbírkou polí. Záznamy jsou propojeny prostřednictvím odkazů a typ záznamu říká, které pole obsahuje záznam. Každé pole může obsahovat pouze jednu hodnotu.
Hierarchický databázový model musí mít pro každý podřízený uzel pouze jednoho nadřazeného uzlu, ale nadřazené uzly mohou mít více než jedno podřízené. Více rodičů není povoleno. Toto je hlavní rozdíl mezi hierarchickým a síťovým databázovým modelem. První uzel stromu se nazývá kořenový uzel. Když je třeba data načíst, prochází celý strom počínaje kořenovým uzlem. Tento model představuje vzájemné vztahy.
Podívejme se na jeden příklad: Předpokládejme, že máme hlavní adresář, který obsahuje další podadresáře. Každý podadresář obsahuje více souborů a adresářů. Každý adresář nebo soubor může být v jednom adresáři, tj. Má pouze jednoho nadřazeného.
Zde A je hlavní adresář, tj. Kořenový uzel. B1 a B2 jsou jejich podřízené nebo podadresáře. B1 a B2 mají také dvě děti C1, C2 a C2, C3 . Mohou to být adresáře nebo jiné soubory. To zachycuje vzájemné vztahy.
Použití hierarchického databázového modelu
Hierarchický databázový model byl široce používán během Mainframe Computers Era. Hierarchický databázový model se dnes používá hlavně pro ukládání systémů souborů a geografických informací. Používá se v aplikacích, kde je vyžadován vysoký výkon, jako jsou telekomunikace a bankovnictví. Hierarchická databáze se také používá pro registr Windows v operačním systému Microsoft Windows. Je užitečné, jsou-li splněny následující dvě podmínky:
- Data by měla mít hierarchický vzorec, tj. Musí existovat vztah rodič-dítě.
- K datům v hierarchickém vzoru se musí přistupovat pouze prostřednictvím jediné cesty.
Výhody hierarchického databázového modelu
- Data lze snadno získat díky explicitním vazbám mezi strukturami tabulky.
- Referenční integrita je vždy zachována, tj. Všechny změny provedené v nadřazené tabulce jsou automaticky aktualizovány v podřízené tabulce.
- Podporuje sdílení dat.
- Je to pojmově jednoduché kvůli vztahu rodič-dítě.
- Je vynuceno zabezpečení databáze.
- Efektivní s vztahy 1: N.
- Jasný řetěz velení nebo oprávnění.
- Zvyšuje specializaci.
- Vysoký výkon.
- Jasné výsledky.
Nevýhody hierarchického databázového modelu
- Pokud nadřazená tabulka a podřízená tabulka nesouvisejí, je přidání nového záznamu do podřízené tabulky obtížné, protože do nadřazené tabulky je třeba přidat další položku.
- Složité vztahy nejsou podporovány.
- Redundance, která vede k nepřesným informacím.
- Změna struktury vede ke změně ve všech aplikačních programech.
- Vztah M: N není podporován.
- Žádná manipulace s daty nebo jazyk pro definici dat.
- Nedostatek standardů.
- Špatná flexibilita
- Komunikační bariéry
- Organizační nepořádek.
- Tuhá struktura
Vlastnosti modelu hierarchické databáze:
- Mnoho až mnoho vztahů: Podporuje pouze vzájemné vztahy. Mnoho až mnoho vztahů není podporováno.
- Problém s odstraněním: Pokud je rodič odstraněn, potom se dítě automaticky odstraní.
- Hierarchie dat: Data jsou zastoupena v hierarchické stromové struktuře.
- Vztah rodič-dítě: Každé dítě může mít pouze jednoho rodiče, ale rodič může mít více než jedno dítě.
- Ukazatel: Ukazatele se používají pro propojení záznamů, které sdělují, kdo je nadřazený a který podřízený záznam je.
- Vstup a výstup na disk je minimalizován: Rodičovské a podřízené záznamy jsou umístěny nebo ukládány blízko sebe na paměťové zařízení, což minimalizuje vstup a výstup pevného disku.
- Rychlá navigace: Protože jsou rodič a dítě uloženy blízko sebe, zkracuje se doba přístupu a navigace se zrychlí.
- Předdefinovaný vztah: Všechny vztahy mezi kořenovými, nadřazenými a podřízenými uzly jsou předdefinovány ve schématu databáze.
- Potíže s reorganizací : Hierarchie zabraňuje reorganizaci dat.
- Redundance: Jeden až mnoho vztahů zvyšuje redundanci dat, což vede k získání nepřesných dat.
Příklady
Vezměme si příklad vysokoškoláků, kteří se účastní různých kurzů. Kurz lze přiřadit pouze jednomu studentovi, ale student může absolvovat tolik kurzů, kolik jen chce, navazujících na jeden vztah k mnoha vztahům.
Nyní můžeme reprezentovat výše uvedený hierarchický model jako relační tabulky, jak je ukázáno níže:
Studentská tabulka:
Tabulka kurzů:
Tímto způsobem může být hierarchický model reprezentován v relačních tabulkách a naopak může být také prováděn.
Závěr
V tomto článku jsme podrobně diskutovali hierarchický databázový model, který zobrazuje vztah rodič-dítě, což usnadňuje reprezentaci dat a snadné porozumění konceptu. Většinou se používal v dobách počítačů sálových počítačů, ale stále se používá v mnoha oblastech, kde parametry jsou výkonné a snadné. Hierarchický model je tedy účinný pro jeden až mnoho vztahů a je široce používán při záznamu dat systému souborů.
Doporučené články
Toto byl průvodce hierarchickým databázovým modelem. Zde jsme diskutovali základní pojmy, definice a výhody hierarchického databázového modelu. Další informace naleznete také v dalších navrhovaných článcích -
- Co je možné?
- Co je MySQL databáze
- Je velká data databáze?