Travailler avec des modèles de données hiérarchiques

Requêtes hiérarchiques et récursives dans SQL Server

Jasmin Ludolf

Content Developer

Le modèle de données hiérarchique

Propriétés des modèles de données hiérarchiques :

  • Représentés en arborescence
  • Un élément racine
  • Chaque enfant a un seul parent

Une représentation possible de données hiérarchiques sous forme d'arbre

Avantages :

  • Simple à comprendre
  • Sélection rapide

Inconvénients :

  • Structure rigide
  • Modifications complexes
Requêtes hiérarchiques et récursives dans SQL Server

Exemple de modèle de données hiérarchique

Relation client–facture–article :

Un client peut avoir plusieurs factures et chaque facture peut comporter plusieurs articles

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

Représentation hiérarchique de la relation client–facture–article

Requêtes hiérarchiques et récursives dans SQL Server

Le modèle de données en réseau

Propriétés des modèles de données en réseau :

  • Semblables aux modèles hiérarchiques
  • Relations plusieurs-à-plusieurs
  • Plusieurs parcours de recherche

Une représentation possible de données en réseau sous forme d'arbre

Avantages :

  • Aucune hiérarchie stricte
  • Plusieurs chemins de solution
  • De nombreux cas réels

Inconvénient :

  • La clarté diminue avec des modèles volumineux
Requêtes hiérarchiques et récursives dans SQL Server

Exemple de modèles de données en réseau

Relation client–commande–article :

Plusieurs clients peuvent avoir plusieurs commandes et chaque commande peut comporter plusieurs articles.

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

Représentation en réseau de la relation client–commande–article

Requêtes hiérarchiques et récursives dans SQL Server

Passons à la pratique !

Requêtes hiérarchiques et récursives dans SQL Server

Preparing Video For Download...