Lucrul cu modele de date ierarhice

Interogări ierarhice și recursive în SQL Server

Jasmin Ludolf

Content Developer

Modelul de date ierarhic

Proprietățile modelelor de date ierarhice:

  • Reprezentate ca structură arborescentă
  • Are un element rădăcină
  • Fiecare nod copil are un singur nod părinte

O posibilă reprezentare a datelor ierarhice ca arbore

Avantaje:

  • Ușor de înțeles
  • Selecție rapidă

Dezavantaje:

  • Structură rigidă
  • Dificil de modificat structura
Interogări ierarhice și recursive în SQL Server

Exemplu de model de date ierarhic

Relația client-factură-articol:

Un client poate avea mai multe facturi, iar fiecare factură poate conține mai multe articole

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

Reprezentare ierarhică a relației client-factură-articol

Interogări ierarhice și recursive în SQL Server

Modelul de date în rețea

Proprietățile modelelor de date în rețea:

  • Similar cu modelele ierarhice
  • Relație many-to-many
  • Există mai multe căi de căutare

O posibilă reprezentare a datelor în rețea ca arbore

Avantaje:

  • Fără ierarhie strictă
  • Mai multe căi de rezolvare
  • Multe exemple din lumea reală

Dezavantaj:

  • Claritatea scade pentru modele mari
Interogări ierarhice și recursive în SQL Server

Exemplu de model de date în rețea

Relația client-comandă-articol:

Mai mulți clienți pot avea mai multe comenzi, iar fiecare comandă poate conține mai multe articole.

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

Reprezentare în rețea a relației client-comandă-articol

Interogări ierarhice și recursive în SQL Server

Să exersăm!

Interogări ierarhice și recursive în SQL Server

Preparing Video For Download...