Werken met hiërarchische datamodellen

Hiërarchische en recursieve queries in SQL Server

Jasmin Ludolf

Content Developer

Het hiërarchische datamodel

Eigenschappen van hiërarchische datamodellen:

  • Weergegeven als boomstructuur
  • Eén root-element
  • Elk kindrecord heeft één ouderrecord

Een mogelijke weergave van hiërarchische data als boom

Voordelen:

  • Eenvoudig te begrijpen
  • Snel selecteren

Nadelen:

  • Star opgebouwd
  • Structuur lastig te wijzigen
Hiërarchische en recursieve queries in SQL Server

Voorbeeld van een hiërarchisch datamodel

Relatie klant–factuur–artikel:

Eén klant kan meerdere facturen hebben en elke factuur kan meerdere artikelen hebben

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

Hiërarchische weergave van de relatie klant–factuur–artikel

Hiërarchische en recursieve queries in SQL Server

Het netwerkdatamodel

Eigenschappen van netwerkdatamodellen:

  • Lijkt op hiërarchische datamodellen
  • many-to-many-relatie
  • Veel zoekpaden

Een mogelijke weergave van netwerkdata als boom

Voordelen:

  • Geen strikte hiërarchie
  • Veel oplossingspaden
  • Veel praktijkvoorbeelden

Nadeel:

  • Overzicht neemt af bij grote datamodellen
Hiërarchische en recursieve queries in SQL Server

Voorbeeld van netwerkdatamodellen

Relatie klant–bestelling–artikel:

Veel klanten kunnen meerdere bestellingen hebben en elke bestelling kan meerdere artikelen hebben.

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

Netwerkweergave van de relatie klant–bestelling–artikel

Hiërarchische en recursieve queries in SQL Server

Laten we oefenen!

Hiërarchische en recursieve queries in SQL Server

Preparing Video For Download...