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>Instructions de l’exercice
- Définissez les champs
IDetParentIDde typeINT.IDne doit pas êtreNULL,ParentIDpeut êtreNULL. - Insérez l’équipement
Softwaredans la table avec les bons ID. Ce logiciel fait partie deAsset. - Insérez l’équipement
Monitordans la table avec les bons ID. Cet écran fait partie deHardware. - Insérez l’équipement
Microsoft Officedans la table avec les bons ID. Ce logiciel fait partie deApplication.
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;