Práce s hierarchickými datovými modely

Hierarchical and Recursive Queries in SQL Server

Jasmin Ludolf

Content Developer

Hierarchický datový model

Vlastnosti hierarchických datových modelů:

  • Reprezentace jako stromová struktura
  • Má jeden kořenový prvek
  • Každý podřízený záznam má jeden nadřazený záznam

Možná reprezentace hierarchických dat jako stromu

Výhody:

  • Snadné pochopení
  • Rychlý výběr dat

Nevýhody:

  • Pevná struktura
  • Složitá změna struktury
Hierarchical and Recursive Queries in SQL Server

Příklad hierarchického datového modelu

Vztah zákazník–faktura–článek:

Každý zákazník může mít více faktur a každá faktura může obsahovat více článků

CREATE TABLE Customer (   
    ID INT NOT NULL);
CREATE TABLE Bill (   
    BillID INT NOT NULL,  
      CustomerID INT);
CREATE TABLE Article (   
    ArticleID INT NOT NULL,  
      BillID INT);

Hierarchická reprezentace vztahu zákazník–faktura–článek

Hierarchical and Recursive Queries in SQL Server

Síťový datový model

Vlastnosti síťových datových modelů:

  • Podobné hierarchickým datovým modelům
  • Vztah mnoho-k-mnoha
  • Existuje mnoho cest vyhledávání

Možná reprezentace síťových dat jako stromu

Výhody:

  • Žádná přísná hierarchie
  • Mnoho cest řešení
  • Mnoho příkladů z praxe

Nevýhoda:

  • Přehlednost klesá u velkých datových modelů
Hierarchical and Recursive Queries in SQL Server

Příklad síťového datového modelu

Vztah zákazník–objednávka–článek:

Každý zákazník může mít více objednávek a každá objednávka může obsahovat více článků.

CREATE TABLE Customer (   
    ID INT NOT NULL);
CREATE TABLE Order (   
    OrderID INT NOT NULL,  
      CustomerID INT);
CREATE TABLE Article (   
    ArticleID INT NOT NULL,  
      OrderID INT);

Síťová reprezentace vztahu zákazník–objednávka–článek

Hierarchical and Recursive Queries in SQL Server

Pojďme si procvičit!

Hierarchical and Recursive Queries in SQL Server

Preparing Video For Download...