Lavorare con modelli di dati gerarchici

Query gerarchiche e ricorsive in SQL Server

Jasmin Ludolf

Content Developer

Il modello di dati gerarchico

Proprietà dei modelli di dati gerarchici:

  • Rappresentati come struttura ad albero
  • Un solo elemento radice
  • Ogni figlio ha un solo genitore

Una possibile rappresentazione gerarchica come albero

Vantaggi:

  • Facile da capire
  • Selezione veloce

Svantaggi:

  • Struttura rigida
  • Modifiche strutturali complesse
Query gerarchiche e ricorsive in SQL Server

Esempio di modello di dati gerarchico

Relazione cliente–fattura–articolo:

Un cliente può avere più fatture e ogni fattura può avere più articoli

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

Rappresentazione gerarchica della relazione cliente–fattura–articolo

Query gerarchiche e ricorsive in SQL Server

Il modello di dati a rete

Proprietà dei modelli di dati a rete:

  • Simili ai modelli gerarchici
  • Relazioni molti-a-molti
  • Molti percorsi di ricerca

Una possibile rappresentazione a rete come albero

Vantaggi:

  • Nessuna gerarchia rigida
  • Molti percorsi di soluzione
  • Molti esempi reali

Svantaggio:

  • La chiarezza cala con modelli grandi
Query gerarchiche e ricorsive in SQL Server

Esempio di modelli di dati a rete

Relazione cliente–ordine–articolo:

Molti clienti possono avere più ordini e ogni ordine può avere più articoli.

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

Rappresentazione a rete della relazione cliente–ordine–articolo

Query gerarchiche e ricorsive in SQL Server

Passiamo alla pratica !

Query gerarchiche e ricorsive in SQL Server

Preparing Video For Download...