Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Экзамен 07,07,2020 НикитинаД

.docx
Скачиваний:
6
Добавлен:
15.06.2021
Размер:
457.75 Кб
Скачать

Задание 1.

CREATE TABLE SENSOR

( sensor_id integer NOT NULL, sensor_name varchar(255) NOT NULL,

group_id integer NOT NULL, CONSTRAINT PK_SENSOR PRIMARY KEY (sensor_id) ) GO

CREATE TABLE TRASH

( trash_id integer NOT NULL, trash_type_name varchar(255) NOT NULL, CONSTRAINT PK_TRASH PRIMARY KEY (trash_id) ) GO

CREATE TABLE MANIPULATOR

( manipulator_id integer NOT NULL, manipulator_name varchar(255) NOT NULL, CONSTRAINT PK_MANIPULATOR PRIMARY KEY (manipulator_id) ) GO

CREATE TABLE SIGNAL

( signal_id integer NOT NULL, signal_name varchar(255) NOT NULL, CONSTRAINT PK_MANIPULATOR PRIMARY KEY (signal_id)

) GO

CREATE TABLE TRASH_SENSOR_GROUP

( trash_id integer NOT NULL, group_id integer NOTT NULL,

CONSTRAINT FK_1 FOREIGN KEY(trash_id) REFERENCES TRASH(trash_id),

CONSTRAINT FK_2 FOREIGN KEY (group_id) REFERENCES SENSOR(group_id)

CONSTRAINT PK_ TRASH_SENSOR_GROUP PRIMARY KEY (group_id) ) GO

CREATE TABLE TRASH_SIGNAL

( trash_id integer NOT NULL, signal_id integer NOT NULL,

CONSTRAINT FK_3 FOREIGN KEY(trash_id) REFERENCES TRASH(trash_id),

CONSTRAINT FK_4 FOREIGN KEY (signal_id) REFERENCES SIGNAL (signal_id) ) GO

CREATE TABLE SIGNAL_MANIPULATOR

( signal_id integer NOT NULL, manipulator_id integer NOT NULL,

CONSTRAINT PK_SIGNAL_MANIPULATOR PRIMARY KEY (signal_id, manipulator_id)

CONSTRAINT FK_5 FOREIGN KEY(manipulator_id) REFERENCES MANIPULATOR(manipulator_id),

CONSTRAINT FK_6 FOREIGN KEY (signal_id) REFERENCES SIGNAL (signal_id) ) GO

Задание 2.

SELECT trash_type_name FROM TRASH WHERE TRASH.trash_id IN

(SELECT trash_id FROM TRASH_SENSOR_GROUP WHERE group_id IN

(SELECT group_id FROM SENSOR MAX(COUNT(group_id))))

Задание 3.

SELECT trash_type_name FROM TRASH WHERE TRASH.trash_id IN

(SELECT trash_id FROM TRASH_SIGNAL WHERE TRASH_SIGNAL.signal_id=

( SELECT signal_id FROM SIGNAL WHERE SIGNAL.signal_name = 'None') GROUP BY TRASH_SIGNAL.trash_id)

Задание 4.

Так как поле sensor_id в таблице SENSOR является primary key, то один датчик входит только в одну группу датчиков. Так как поле group_id в таблице TRASH_SENSOR_GROUP является primary key, то одной группе соответствует только один тип мусора. В таком случае не может существовать несколько типов мусора и одинаковыми (неуникальными) наборами датчиков.