Přejít na obsah
Domů

Hierarchický model databáze: definice, struktura a příklady

Hierarchický model databáze: přehledná definice, popis struktury a praktické příklady – pochopte vztahy rodič/dítě, výhody a použití v praxi.

Hierarchický model databáze je datový model, ve kterém jsou informace uspořádány ve formě stromové struktury. Základními prvky jsou uzly (záznamy) a vazby rodič–dítě: každý rodič může mít mnoho dětí, ale každé dítě má právě jednoho přímého rodiče. Všechny atributy konkrétního záznamu jsou uváděny v rámci jeho typu entity (record type).

Struktura a základní pojmy

Hierarchická databáze se skládá z těchto základních částí:

  • Root (kořen) – počáteční uzel stromu, nemá rodiče.
  • Uzel (záznam) – reprezentuje konkrétní entitu s vlastními atributy.
  • Vazba rodič–dítě – uspořádání, kde rodič může mít více potomků (1 : N), zatímco každý potomek má pouze jednoho přímého rodiče.
  • Typ entity – šablona záznamu se seznamem atributů. Ve smyslu modelování může být typ entity analogií k tabulce v relačním modelu, a jednotlivé záznamy k řádkům, přičemž atributy odpovídají sloupcům.

Vlastnosti a chování

  • Navigační přístup – data se obvykle čtou průchodem stromem pomocí ukazatelů nebo cest od kořene k požadovanému uzlu (např. posun po parent/child ukazatelích).
  • Jednoduché a rychlé čtení strukturovaných dat – pokud jsou dotazy dobře sladěné se stromovou strukturou (např. čtení celé větve), může být výkon velmi dobrý.
  • Redundance – opakující se informace se často duplikují, pokud je potřeba realizovat vztahy N:M nebo kdy entita potřebuje více než jednoho rodiče (což hierarchický model přímo nepodporuje).
  • Omezená flexibilita – změny struktury (přesuny uzlů, přidávání nových vztahů mezi již existujícími typy) mohou být složitější než v relačních modelech.

Příklady a implementace

Nejznámějšími a dlouhodobě používanými hierarchickými databázemi jsou IMS vyvinutá společností IBM a registr Windows společnosti Microsoft. Další vyskyty hierarchických principů najdeme v souborových systémech (adresářová stromová struktura), v LDAP (adresářové služby) nebo v některých starších podnikových systémech.

Výhody

  • Efektivní pro scénáře, kde jsou vztahy přirozeně stromové (např. organizační struktury, katalogy, menu, adresářové struktury).
  • Jednoduché a předvídatelné průchody dat, nízké nároky na spojování (joiny) pro typické dotazy.
  • Dobrá rychlost při čtení celé větve nebo podstromu.

Nevýhody

  • Špatná podpora pro vztahy mnoho‑k‑mnoha; často je potřeba duplikovat záznamy nebo vytvářet složité obcházení.
  • Méně flexibilní při změnách schématu než relační modely.
  • Pro některé typy dotazů (např. hledání napříč větvemi nebo opačnými vztahy) může být neefektivní.
  • Nedostatek standardizovaných dotazovacích jazyků podobných SQL; přístup bývá navigační/programový.

Kdy použít hierarchický model

Hierarchický model volíme, pokud data přirozeně tvoří strom (např. stromová klasifikace produktů, organizační diagramy, konfigurace a nastavení v registrech či konfiguracích) a pokud budou převládající dotazy navigační (procházení větví). V moderních řešeních často nahradí tento model flexibilnější dokumentové databáze (JSON/XML) nebo relační/graph databáze podle požadavků na vztahy a dotazování.

Krátký příklad

Představte si organizační strom firmy:

  • Generální ředitel (root)
    • Finanční ředitel
      • Účetní oddělení
      • Controlling
    • Technický ředitel
      • Vývoj
      • Testování

Taková struktura je pro hierarchický model ideální: rychle se načítá větev "Technický ředitel" včetně všech podřízených oddělení.

Závěr

Hierarchický model byl jedním z prvních přístupů k organizaci dat v databázových systémech a je stále užitečný tam, kde dominují stromové vztahy. Pro složitější vztahy a flexibilitu však dnes častěji volíme jiné modely (relační, dokumentové nebo grafové). Nicméně dědictví hierarchického modelu (např. v XML/LDAP a v registrech systémů) zůstává významné.

Otázky a odpovědi

Otázka: Co je to hierarchický databázový model?

Odpověď: Je to datový model, ve kterém jsou data uspořádána jako strom.

Otázka: Jak je v hierarchickém databázovém modelu povoleno opakování informací?

Odpověď: Opakování informací je povoleno pomocí vztahů rodič/dítě, kde každý rodič může mít mnoho dětí, ale každé dítě má pouze jednoho rodiče.

Otázka: Co je to typ entity v databázi?

Odpověď: Typ entity je ekvivalentem tabulky, kde jsou uvedeny všechny atributy konkrétního záznamu.

Otázka: Jak je v databázi reprezentován každý jednotlivý záznam?

Odpověď: Každý jednotlivý záznam je reprezentován jako řádek a atribut jako sloupec.

Otázka: Jak spolu typy entit v databázi souvisejí?

Odpověď: Typy entit jsou vzájemně propojeny pomocí mapování 1:N, známého také jako vztah jeden k více.

Otázka: Jaké jsou nejuznávanější a nejpoužívanější hierarchické databáze?

Odpověď: Nejznámější a nejpoužívanější hierarchické databáze jsou IMS vyvinutý společností IBM a Windows Registry společnosti Microsoft.

Otázka: Jaký je rozdíl mezi nadřízeným a podřízeným v hierarchickém databázovém modelu?

A: Rodič může mít mnoho dětí, ale každé dítě má pouze jednoho rodiče.

Autor

AlegsaOnline.com Hierarchický model databáze: definice, struktura a příklady

URL: https://cs.alegsaonline.com/art/44077

Sdílet