Arbeta med hierarkiska datamodeller

Hierarkiska och rekursiva frågor i SQL Server

Jasmin Ludolf

Content Developer

Den hierarkiska datamodellen

Egenskaper hos hierarkiska datamodeller:

  • Representeras som en trädstruktur
  • Har ett rotelement
  • Varje underordnad post har en överordnad post

En möjlig representation av hierarkiska data som ett träd

Fördelar:

  • Enkel att förstå
  • Snabb att söka i

Nackdelar:

  • Rigid struktur
  • Komplicerad att förändra
Hierarkiska och rekursiva frågor i SQL Server

Exempel på hierarkisk datamodell

Relation kund–faktura–artikel:

En kund kan ha flera fakturor och varje faktura kan ha flera artiklar

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

Hierarkisk representation av relationen kund–faktura–artikel

Hierarkiska och rekursiva frågor i SQL Server

Nätverksdatamodellen

Egenskaper hos nätverksdatamodeller:

  • Liknar hierarkiska datamodeller
  • Många-till-många-relationer
  • Flera sökstigar finns

En möjlig representation av nätverksdata som ett träd

Fördelar:

  • Ingen strikt hierarki
  • Många sökstigar
  • Många verkliga exempel

Nackdel:

  • Överblicken minskar för stora datamodeller
Hierarkiska och rekursiva frågor i SQL Server

Exempel på nätverksdatamodeller

Relation kund–order–artikel:

Flera kunder kan ha flera order och varje order kan ha flera artiklar.

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

Nätverksrepresentation av relationen kund–order–artikel

Hierarkiska och rekursiva frågor i SQL Server

Nu kör vi en övning!

Hierarkiska och rekursiva frågor i SQL Server

Preparing Video For Download...