Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Готовые работы / Практическая работа 3

.pdf
Скачиваний:
48
Добавлен:
30.03.2022
Размер:
192.53 Кб
Скачать

СПО. ИКПИ-84. Коваленко Леонид Александрович

ПРАКТИЧЕСКАЯ РАБОТА №3

Рисунок. Диаграмма классов

Таблица. Набор SQL-операторов

MySQL

-- Создание таблиц

CREATE TABLE `NetworkDevice` (

`id` INT NOT NULL AUTO_INCREMENT, `site` INT,

`image` INT, `description` INT, `type` INT NOT NULL, PRIMARY KEY (`id`)

);

CREATE TABLE `Image` (

`id` INT NOT NULL AUTO_INCREMENT, `name` varchar(300),

`url` varchar(2000) NOT NULL, PRIMARY KEY (`id`)

);

CREATE TABLE `Site` (

`id` INT NOT NULL AUTO_INCREMENT, `name` varchar(300),

`url` varchar(2000) NOT NULL, PRIMARY KEY (`id`)

);

CREATE TABLE `Description` (

`id` INT NOT NULL AUTO_INCREMENT, `short_description` varchar(500), `full_description` TEXT,

PRIMARY KEY (`id`)

);

CREATE TABLE `Hardware` (

`id` INT NOT NULL AUTO_INCREMENT, `router_id` INT NOT NULL,

PRIMARY KEY (`id`)

);

CREATE TABLE `HardwareCharacteristic` ( `router_hardware_id` INT NOT NULL, `characteristic` varchar(500) NOT NULL, `value` varchar(500) NOT NULL,

PRIMARY KEY (`router_hardware_id`,`characteristic`)

);

CREATE TABLE `Software` (

`id` INT NOT NULL AUTO_INCREMENT, `router_id` INT NOT NULL,

PRIMARY KEY (`id`)

);

CREATE TABLE `SoftwareCharacteristic` ( `router_software_id` INT NOT NULL, `characteristic` varchar(500) NOT NULL, `value` varchar(500) NOT NULL,

PRIMARY KEY (`router_software_id`,`characteristic`)

);

CREATE TABLE `AdditionalCharacteristic` ( `router_id` INT NOT NULL, `characteristic` varchar(500) NOT NULL, `value` varchar(500) NOT NULL,

PRIMARY KEY (`router_id`,`characteristic`)

);

CREATE TABLE `NetworkDeviceType` (

`id` INT NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, PRIMARY KEY (`id`)

);

-- Создание связей по внешним ключам

ALTER TABLE `NetworkDevice` ADD CONSTRAINT `NetworkDevice_fk0` FOREIGN KEY (`site`)

REFERENCES `Site`(`id`);

ALTER TABLE `NetworkDevice` ADD CONSTRAINT `NetworkDevice_fk1` FOREIGN KEY (`image`)

REFERENCES `Image`(`id`);

ALTER TABLE `NetworkDevice` ADD CONSTRAINT `NetworkDevice_fk2` FOREIGN KEY

(`description`) REFERENCES `Description`(`id`);

ALTER TABLE `NetworkDevice` ADD CONSTRAINT `NetworkDevice_fk3` FOREIGN KEY (`type`)

REFERENCES `NetworkDeviceType`(`id`);

ALTER TABLE `Hardware` ADD CONSTRAINT `Hardware_fk0` FOREIGN KEY (`router_id`)

REFERENCES `NetworkDevice`(`id`);

ALTER TABLE `HardwareCharacteristic` ADD CONSTRAINT `HardwareCharacteristic_fk0`

FOREIGN KEY (`router_hardware_id`) REFERENCES `Hardware`(`id`);

ALTER TABLE `Software` ADD CONSTRAINT `Software_fk0` FOREIGN KEY (`router_id`)

REFERENCES `NetworkDevice`(`id`);

ALTER TABLE `SoftwareCharacteristic` ADD CONSTRAINT `SoftwareCharacteristic_fk0`

FOREIGN KEY (`router_software_id`) REFERENCES `Software`(`id`);

ALTER TABLE `AdditionalCharacteristic` ADD CONSTRAINT `AdditionalCharacteristic_fk0`

FOREIGN KEY (`router_id`) REFERENCES `NetworkDevice`(`id`);

2