Hierarchická databáze a relační databáze

Anonim

Všichni víme, že databáze jsou vymezeny tak, aby se zabývaly daty a jejich ukládáním. Také jsme dokonce zmateni o tom, jakou databázi použijeme, protože máme spoustu možností vybrat! Obecně si vybereme poskytovatele databází nebo vlastníka. Mimo to můžeme také vybrat správnou databázi pro naši potřebu analýzou jejích typů, jako je například Hierarchická, Relační, Síťová databáze nebo Databáze orientovaná na objekt.

Co je hierarchická databáze?

V hierarchické databázi jsou data uspořádána ve stromové struktuře. Každá jednotlivá data jsou uložena v poli a pole následně tvoří záznamy. Tyto údaje jsou přístupné pomocí propojení mezi nimi. V této struktuře jsou všechny datové záznamy nakonec propojeny s jediným nadřazeným záznamem. To je také nazýváno jako záznam vlastníka. Vazby mezi záznamy jsou často popsány jako vztahy mezi rodiči a dětmi. Nejlepší využití hierarchické databáze je její nasazení v knihovním systému, protože ukládá jména nebo čísla knih pomocí Dewey Decimal System. Tento systém připomíná stromovou strukturu tím, že sdílí stejné rodičovské číslo a pak větve jako stromy. Podobně jej můžeme použít k ukládání jmen do telefonního seznamu.

Co je relační databáze?

Uloží data ve formě tabulek s jedinečnými klíči pro přístup k datům. Tyto tabulky poskytují data v požadované podobě pomocí jazyků dotazu. Zajímavá je skutečnost, že nevyžaduje žádné opětovné seskupování dat pro získání dat podle našeho výběru. To je často označováno jako relační databázové systémy (RDBMS).

Rozdíly:

  • Jednodušší použití: Hierarchické databáze používají logický vztah rodič-dítě a také vypadá jednodušší. Relační databáze však zahrnují tabulky pro ukládání záznamů ve formě tabulkových polí. Také ve většině případů vyžaduje jedinečný klíč pro každý záznam.
  • Co je starší? Hierarchické databáze vznikly ještě před relačními databázemi a je to procesor všech ostatních databází.
  • Základní rozdíl v pojetí dat: V hierarchických databázích se kategorie dat nazývá "segmenty", zatímco v relačních databázích se nazývá "pole".
  • Dědictví: Každý podřízený segment / uzel v hierarchické databázi dědí vlastnosti svého nadřazeného objektu. Ale v relačních databázích neexistuje pojem dědičnosti, protože neexistují žádné úrovně dat.
  • Datové propojení: V hierarchických databázích jsou segmenty implicitně propojeny, protože dítě je propojeno se svým nadřazeným. V relačních databázích bychom však měli tabulky explicitně propojovat pomocí prvotních klíčů a cizích klíčů.
  • Použití klíčů: Relační databáze jsou zpravidla zarámovány pomocí jedinečných klíčů nazývaných Primární klíč a také klávesy z jiných tabulek nazývaných Zahraniční klíče. Tyto cizí klíče jsou primárními klíči v některé jiné tabulce a jsou odkazovány při přístupu k jiné tabulce z této tabulky. Takže hlavním použitím klíčů je poskytnout jedinečnou identifikaci datových záznamů a přenést další tabulky během procesu načítání dat. Hierarchická databáze však nikdy nepoužívá klíče. Má své vazby a označuje cestu, kterou je třeba procházet během vyřizování dat. Proto můžeme považovat klíče v relačních databázích za ekvivalent k cestám v hierarchických databázích během načítání dat. Ale cesty nikdy nepředstavují jedinečnost dat, která byla uložena v hierarchických databázích.
  • Unikátní a duplicitní data: Vzhledem k tomu, že klíče představují jedinečnost dat v relačních databázích, tyto údaje lze snadno na požádání. Pokud je však v hierarchické databázi požadováno tolik zpracování, je potřeba hodně zpracování. Můžeme mít více než jednu kopii stejné knihy v knihovně, ale přiřazeny různé čísla knih. V tomto případě bychom měli porovnat názvy knih a identifikovat duplikáty. Proto jsou relační databáze vhodné pro ukládání jedinečných dat, zatímco hierarchické databáze jsou dobré pro data s duplikáty.
  • Načítání dat: Představte si, že máte systém správy knihoven a ukládá detail knihy s přiděleným číslem knihy pro každou knihu.

Zvažte knihu přiřazenou k číslu knihy jako 1034. Proces načítání dat zde je uveden níže.

  • V hierarchické databázi:

Pokud kniha-ne> 1000 {

Pokud kniha-ne> 1500 {…}

Jinak {if book-no> 1100

Pokud kniha-ne> 1050 {…}

Jinak {if book-no> 1025 {pokud kniha-ne> 1030 {if book-no> 1035 {…}

Jinak {if book-no = 1031} …

Pokud kniha-no = 1032} …

Pokud kniha-no = 1033} …

Pokud kniha-no = 1034} … Zápas se našel zde

Jiný

Pokud kniha-ne> 500 {…}

Jinak {…}

Výše uvedený proces se děje krok za krokem, jak se dostaneme k větvi stromu, která leze ze svého kmene.

  • V relační databázi: Zde jsou data získána pomocí primárních klíčů a cizích klíčů. Není potřeba se dotýkat ocasu po průchodu hlavou! Ano, můžeme přistupovat k požadovaným polím přímo pomocí odpovídajícího klíče.

Zvažte, že potřebujeme načíst pole "datum narození", jehož číslo zaměstnance je 12345. Zde je primární klíč identifikátor zaměstnance a rámcové dotazy jsou uvedeny níže.

Získat jméno zaměstnance, zaměstnance-DOB

Z tabulky zaměstnanců

Kde ID zaměstnance = '12345'.

Zde můžeme načítat požadovaná pole přímo a my nemusíme porazit bush!

  • Mnoho-to-Mnoho nebo mnoho-to-Mnoho propojení dat: Tyto typy datových odkazů nejsou s hierarchickými databázemi možné, protože rodič může mít více než 1 dítě, zatímco dítě nemůže mít více než 1 rodiče. V druhém případě bychom se setkali s datovým propojením nebo vztahem mezi mnoha či více daty. Tyto relace dat jsou však možné s relačními databázemi.
  • Pole v relační databázi Vs uzly v hierarchické databázi: V relačních databázích je klasifikace dat založena na "poli", zatímco v hierarchických databázích je založena na "uzlech nebo segmentech". Každé pole je přítomno v každém záznamu v relačních databázích. Podobně můžeme vidět každý segment v konečných datech, např. Číslo knihy, název knihy atd. V případě systému správy knihoven. Toto je často označováno jako základní rozdíl mezi dvěma databázemi, které jsme zmínili v úvodních fázích našeho článku.
  • Kde najde jeho použití? Každá databáze používá své použití v aplikaci nebo systému a je čistě založena na požadavku. Systémy správy knihoven například používají desítkový systém, který čísluje knihy podobné stromu. V těchto systémech RDBMS nefunguje dobře, protože jeho koncept je jiný. Když však uvažujeme o organizaci, detaily zaměstnanců nebo zboží se nemohou přizpůsobit stromové struktuře. Tabulky proto mohou být lepším řešením pro ukládání takových detailů. Takže zde relační databáze je lepší volbou.

Podívejme se nyní na rozdíly v tabulkové podobě.

S.No Rozdíly v Hierarchická databáze Relační databáze
1. Skladová móda Používá hierarchické ukládání dat. Ukládá data tabulkovým způsobem.
2. Jednoduchost používání a reprezentace Je to složité než druhé. Vypadá velmi jednodušeji reprezentovat a pochopit.
3. Co je starší? Je starší než druhá. Přišlo pouze po hierarchických databázích.
4. Základní rozdíl v pojetí dat Kategorie dat se nazývá "segmenty". Kategorie dat je označena jako "pole".
5. Dědictví Každý podřízený segment / uzel dědí vlastnosti svého rodiče. Neexistuje žádný pojem dědictví.
6. Datové propojení Segmenty jsou implicitně propojeny, protože dítě je propojeno s rodičem. Ve výchozím nastavení není propojen. Měli bychom explicitně propojit tabulky s pomocí "primárních klíčů" a "cizích klíčů".

7. Použití klíče Ty jsou zarámovány jedinečnými klávesami nazývanými Primární klíč a také klávesami z jiných tabulek nazývanými Zahraniční klíče. Tyto cizí klíče jsou primárními klíči v některé jiné tabulce a jsou odkazovány při přístupu k jiné tabulce z této tabulky. Klíče poskytují jedinečnou identifikaci datových záznamů a přiřazují další tabulky během procesu načítání dat. Nikdy nepoužívá klíče. Má své vazby a označuje cestu, kterou je třeba procházet během vyřizování dat. Proto můžeme považovat klíče v relačních databázích za ekvivalent k cestám v hierarchických databázích během načítání dat. Ale cesty nikdy nepředstavují jedinečnost dat, která byla uložena v hierarchických databázích.

8. Jedinečné a duplicitní data Jedinečná data lze snadno načíst, protože jsou uložena bez duplikátů vzhledem k primárnímu klíči. Pro získání unikátních dat potřebuje trochu více zpracování.
9. Načítání dat Data jsou načteny z nejvyšších uzlů a potom procházejí po cestách až do dosažení požadovaného uzlu nebo segmentu. Data jsou vybírána z tabulek pomocí kláves.
10. Mnoho dat až mnoho nebo jedno-to-Mnoho propojení dat Toto propojení není možné zde, protože rodič může mít mnoho dětí, a nikoliv naopak, to znamená, že dítě nemůže mít mnoho rodičů. Z tohoto důvodu není vůbec možné provádět propojení dat Mnoho až Mnoho nebo Mnoho. Tyto typy datových vztahů jsou zde možné.
11. Pole Vs Nodes Klasifikace dat je založena na "segmentu nebo uzlu" Klasifikace dat je založena na "poli"
12. Kde najde jeho použití? V hierarchických strukturách, jako je systém správy knihoven, ukládání označení zaměstnanců od generálního ředitele k zaměstnancům atd V strukturách, které lze snadno znázornit jako tabulky, např. Ukládat detaily zaměstnanců atd.

Tento článek vám může představit, jak se liší hierarchické a relační databáze, a pokud se stále cítite zmatené, dejte nám prosím vědět!