CommencerCommencez gratuitement

Créer un modèle de données hiérarchique

Dans cet exercice, vous allez construire un modèle de données hiérarchique simple en créant la hiérarchie des actifs informatiques. Un actif peut être soit du Hardware, soit du Software. Un actif de type Software peut être divisé en Application ou Tools, etc. La hiérarchie est illustrée dans l’image suivante.

Pour modéliser cette hiérarchie, une structure de données adaptée est nécessaire. On peut y parvenir avec un modèle de données composé de l’ID de l’enregistrement enfant et du ParentID de l’enregistrement parent. Les ID sont des valeurs consécutives de 1 à 10.

Votre mission est de créer la table Equipment correspondante et d’y insérer les actifs Software, Monitor et Microsoft Office. Gardez à l’esprit que vous devez définir les bons ID pour chaque actif afin d’obtenir la hiérarchie souhaitée des actifs.

Cet exercice fait partie du cours

<cours>Requêtes hiérarchiques et récursives dans SQL Server</cours>
Voir le cours

Instructions de l’exercice

  • Définissez les champs ID et ParentID de type INT. ID ne doit pas être NULL, ParentID peut être NULL.
  • Insérez l’équipement Software dans la table avec les bons ID. Ce logiciel fait partie de Asset.
  • Insérez l’équipement Monitor dans la table avec les bons ID. Cet écran fait partie de Hardware.
  • Insérez l’équipement Microsoft Office dans la table avec les bons ID. Ce logiciel fait partie de Application.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

CREATE TABLE Equipment (   
    -- Define ID and ParentID 
	___ ___ NOT NULL,
    Equipment VARCHAR(255) NOT NULL,
    ___ ___ 
);

INSERT INTO Equipment VALUES (1,'Asset',NULL);
INSERT INTO Equipment VALUES (2,'Hardware',1);
-- Insert the type Software
INSERT INTO Equipment VALUES (___,____,1);
INSERT INTO Equipment VALUES (4,'Application',3);
INSERT INTO Equipment VALUES (5,'Tool',3);
INSERT INTO Equipment VALUES (6,'PC',2);
-- Insert the type Monitor 
INSERT INTO Equipment VALUES (___,'Monitor',2);
INSERT INTO Equipment VALUES (8,'Phone',2);
INSERT INTO Equipment VALUES (9,'IPhone',8);
-- Insert the type Microsoft Office 
INSERT INTO Equipment VALUES (___,___,4);

SELECT * 
FROM Equipment;
Modifier et exécuter le code