Создание иерархической модели данных
В этом упражнении вы построите простую иерархическую модель данных, отражающую структуру IT-активов. Актив может быть либо Hardware (оборудованием), либо Software (программным обеспечением). Software делится на Application (приложения) и Tools (инструменты) и так далее. Иерархия показана на рисунке ниже.

Для моделирования такой иерархии необходима подходящая структура данных. Её можно реализовать с помощью модели, которая включает идентификатор дочерней записи ID и идентификатор родительской записи ParentID. Значения ID представляют собой последовательные числа от 1 до 10.
Ваша задача — создать таблицу Equipment и добавить в неё активы Software, Monitor и Microsoft Office. Обратите внимание: для каждого актива необходимо задать правильные идентификаторы, чтобы воссоздать нужную иерархию.
Это упражнение является частью курса
Иерархические и рекурсивные запросы в SQL Server
Инструкции к упражнению
- Определите поля
IDиParentIDтипаINT. ПолеIDне должно допускать значениеNULL, полеParentIDможет бытьNULL. - Добавьте в таблицу актив
Softwareс правильными идентификаторами. Это программное обеспечение является частьюAsset. - Добавьте в таблицу актив
Monitorс правильными идентификаторами. Монитор является частьюHardware. - Добавьте в таблицу актив
Microsoft Officeс правильными идентификаторами. Это программное обеспечение является частьюApplication.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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;