Aan de slagGa gratis aan de slag

Een hiërarchisch datamodel maken

In deze oefening bouw je een eenvoudig hiërarchisch datamodel door de hiërarchie van IT-assets op te zetten. Een asset kan Hardware of Software zijn. Een Software-asset kun je verder opsplitsen in Application of Tools, enzovoort. De hiërarchie staat in de onderstaande afbeelding.

Om deze hiërarchie te modelleren, heb je een geschikte datastructuur nodig. Dat kan met een datamodel dat bestaat uit het kindrecord ID en het ouderrecord ParentID. De ID’s zijn opeenvolgende waarden van 1 tot en met 10.

Je taak is om de bijbehorende tabel Equipment te maken en de assets Software, Monitor en Microsoft Office in de tabel in te voegen. Houd er rekening mee dat je de juiste ID’s voor elke asset moet instellen om de gewenste hiërarchie van assets te krijgen.

Deze oefening maakt deel uit van de cursus

Hiërarchische en recursieve queries in SQL Server

Cursus bekijken

Oefeninstructies

  • Definieer de velden ID en ParentID van het type INT. ID mag niet NULL zijn, ParentID mag NULL zijn.
  • Voeg de equipment Software toe aan de tabel met de juiste ID’s. De software maakt deel uit van Asset.
  • Voeg de equipment Monitor toe aan de tabel met de juiste ID’s. De monitor maakt deel uit van Hardware.
  • Voeg de equipment Microsoft Office toe aan de tabel met de juiste ID’s. Deze software maakt deel uit van Application.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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;
Code bewerken en uitvoeren