Créer un modèle de données hiérarchique
Dans cet exercice, vous allez construire un simple modèle de données hiérarchique en créant la hiérarchie des actifs TI. Un actif peut être soit du Hardware soit du Software. Un actif de type Software peut être subdivisé en Application ou Tools, et ainsi de suite. La hiérarchie est illustrée dans l'image suivante.

Pour modéliser cette hiérarchie, il faut une structure de données appropriée. On peut y parvenir en utilisant un modèle de données composé de l'identifiant de l'enregistrement enfant ID et de l'identifiant de l'enregistrement parent ParentID. Les ID sont des valeurs consécutives de 1 à 10.
Votre tâche consiste à créer la table Equipment correspondante et à y insérer les actifs Software, Monitor et Microsoft Office. Gardez en tête que vous devez attribuer les bons identifiants à chaque actif pour obtenir la hiérarchie souhaitée.
Cette activité fait partie du cours
Requêtes hiérarchiques et récursives dans SQL Server
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 identifiants. Ce logiciel fait partie deAsset. - Insérez l'équipement
Monitordans la table avec les bons identifiants. Cet écran fait partie deHardware. - Insérez l'équipement
Microsoft Officedans la table avec les bons identifiants. 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;