Готовые работы / Практическая работа 3
.pdfСПО. ИКПИ-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