DROP TABLE IF EXISTS `Студент%ПЕРС`;
CREATE TABLE `Студент%ПЕРС`
( `Код студента` INT NOT NULL PRIMARY KEY
, `ФИО студента` VARCHAR (50) NOT NULL
, `Регномер индивидуальной программы` INT NOT NULL
, `Код секретаря` INT NOT NULL
, CONSTRAINT `ВК1\СТУ^ИНД` FOREIGN KEY (`Регномер индивидуальной программы`) REFERENCES `Индивидуальная программа` (`Регномер индивидуальной программы`)
, CONSTRAINT `ВК2\СТУ^СЕК` FOREIGN KEY (`Код секретаря`) REFERENCES `Секретарь:СОТ` (`Код секретаря`)
);
INSERT INTO `Студент%ПЕРС` VALUES
(1, 'Иванов Иван Иванович', '101', 1),
(2, 'Петров Петр Петрович', '102', 2),
(3, 'Сидорова Мария Викторовна', '103', 3);
SELECT "`Студент%ПЕРС` Table Content:" FROM `Студент%ПЕРС` WHERE 1=0;
SELECT * FROM `Студент%ПЕРС`;
DROP TABLE IF EXISTS `Экзаменуемый свой:СТУ`;
CREATE TABLE `Экзаменуемый свой:СТУ`
( `Код экзаменуемого` INT NOT NULL
, `ФИО экзаменуемого` VARCHAR (50) NOT NULL
, `Код кафедры` INT NOT NULL
, CONSTRAINT `ПК\ЭС` PRIMARY KEY (`Код экзаменуемого`)
, CONSTRAINT `ВК\ЭС^СТУ` FOREIGN KEY (`Код экзаменуемого`) REFERENCES `Студент%ПЕРС` (`Код студента`)
, CONSTRAINT `ВК1\ЭС^КАФ` FOREIGN KEY (`Код кафедры`) REFERENCES `Кафедра\ФАК` (`Код кафедры`)
);
INSERT INTO `Экзаменуемый свой:СТУ` VALUES
(1, 'Иванов Иван Иванович', 101),
(2, 'Петров Петр Петрович', 102),
(3, 'Сидорова Мария Викторовна', 201);
SELECT "`Экзаменуемый свой:СТУ` Table Content:" FROM `Экзаменуемый свой:СТУ` WHERE 1=0;
SELECT * FROM `Экзаменуемый свой:СТУ`;
DROP TABLE IF EXISTS `Факультет`;
CREATE TABLE `Факультет`
( `Код факультета` INT NOT NULL
, `Название факультета` VARCHAR (50) NOT NULL
, CONSTRAINT `ПК\ФАК` PRIMARY KEY (`Код факультета`)
);
INSERT INTO `Факультет` VALUES
(1, "Факультет информатики и робототехники"),
(2, "Факультет автоматизированных систем"),
(3, "Факультет прикладной математики");
SELECT "`Факультет` Table Content:" FROM `Факультет` WHERE 1=0;
SELECT * FROM `Факультет`;
DROP TABLE IF EXISTS `Кафедра\ФАК`;
CREATE TABLE `Кафедра\ФАК`
( `Код факультета` INT NOT NULL
, `Код кафедры` INT NOT NULL
, `Название кафедры` VARCHAR (50) NOT NULL
, CONSTRAINT `ПК\КАФ` PRIMARY KEY (`Код кафедры`)
, CONSTRAINT `ВК\ФАК` FOREIGN KEY (`Код факультета`) REFERENCES `Факультет`(`Код факультета`)
);
INSERT INTO `Кафедра\ФАК` VALUES
(1, 101, 'Кафедра информатики'),
(1, 102, 'Кафедра математики'),
(2, 201, 'Кафедра физики');
SELECT "`Кафедра\ФАК` Table Content:" FROM `Кафедра\ФАК` WHERE 1=0;
SELECT * FROM `Кафедра\ФАК`;
DROP TABLE IF EXISTS `Экзаменуемый чужой:СТУ`;
CREATE TABLE `Экзаменуемый чужой:СТУ`
( `Код экзаменуемого` INT NOT NULL
, `ФИО экзаменуемого` VARCHAR (50) NOT NULL
, `Код вуза` INT NOT NULL
, CONSTRAINT `ПК\ЭЧ` PRIMARY KEY (`Код экзаменуемого`)
, CONSTRAINT `ВК\ЭЧ^СТУ` FOREIGN KEY (`Код экзаменуемого`) REFERENCES `Студент%ПЕРС` (`Код студента`)
, CONSTRAINT `ВК1\ЭЧ^ВУЗ` FOREIGN KEY (`Код вуза`) REFERENCES `Вуз` (`Код вуза`)
);
INSERT INTO `Экзаменуемый чужой:СТУ` VALUES
(1, 'Иванов Иван Иванович', 1),
(2, 'Петров Петр Петрович', 2),
(3, 'Сидорова Мария Викторовна', 3);
SELECT "`Экзаменуемый чужой:СТУ` Table Content:" FROM `Экзаменуемый чужой:СТУ` WHERE 1=0;
SELECT * FROM `Экзаменуемый чужой:СТУ`;
DROP TABLE IF EXISTS `Вуз`;
CREATE TABLE `Вуз`
( `Код вуза` INT NOT NULL
, `Название вуза` VARCHAR (50) NOT NULL
, CONSTRAINT `ПК\ВУЗ` PRIMARY KEY (`Код вуза`)
);
INSERT INTO `Вуз` VALUES
(1, 'Московский государственный университет'),
(2, 'Санкт-Петербургский государственный университет'),
(3, 'Новосибирский государственный университет');
SELECT "`Вуз` Table Content:" FROM `Вуз` WHERE 1=0;
SELECT * FROM `Вуз`;
DROP TABLE IF EXISTS `Дисциплина`;
CREATE TABLE `Дисциплина`
( `Код дисциплины` INT NOT NULL
, `Название дисциплины` VARCHAR (50) NOT NULL
, CONSTRAINT `ПК\ДИС` PRIMARY KEY (`Код дисциплины`)
);
INSERT INTO `Дисциплина` VALUES
(101, 'Математический анализ'),
(102, 'Теория алгоритмов'),
(103, 'Физика');
SELECT "`Дисциплина` Table Content:" FROM `Дисциплина` WHERE 1=0;
SELECT * FROM `Дисциплина`;
DROP TABLE IF EXISTS `Приказ`;
CREATE TABLE `Приказ`
( `Регномер приказа` INT NOT NULL
, `Дата` DATE NOT NULL
, `Код руководителя` INT NOT NULL
, CONSTRAINT `ПК\ПРИ` PRIMARY KEY (`Регномер приказа`)
, CONSTRAINT `ВК\ПРИ^РУК` FOREIGN KEY (`Код руководителя`) REFERENCES `Руководитель:СОТ` (`Код руководителя`)
);
INSERT INTO `Приказ` VALUES
(1001, '2024-01-15', 1),
(1002, '2024-02-20', 2),
(1003, '2024-03-25', 3);
SELECT "`Приказ` Table Content:" FROM `Приказ` WHERE 1=0;
SELECT * FROM `Приказ`;
DROP TABLE IF EXISTS `Комиссия`;
CREATE TABLE `Комиссия`
( `Регномер` INT NOT NULL
, `Учебгод` VARCHAR (50) NOT NULL
, `Код дисциплины` INT NOT NULL
, `Регномер приказа` INT NOT NULL
, `Регномер общей программы` INT NOT NULL
, CONSTRAINT `ПК\КОМ` PRIMARY KEY (`Регномер`)
, CONSTRAINT `ВК1\КОМ^ДИС` FOREIGN KEY (`Код дисциплины`) REFERENCES `Дисциплина` (`Код дисциплины`)
, CONSTRAINT `ВК2\КОМ^ПРИ` FOREIGN KEY (`Регномер приказа`) REFERENCES `Приказ` (`Регномер приказа`)
, CONSTRAINT `ВК3\КОМ^ОБЩ` FOREIGN KEY (`Регномер общей программы`) REFERENCES `Общая программа` (`Регномер общей программы`)
);
INSERT INTO `Комиссия` VALUES
(1, '2023-2024', 101, 1001, 101),
(2, '2023-2024', 102, 1002, 102),
(3, '2023-2024', 103, 1003, 103);
SELECT "`Комиссия` Table Content:" FROM `Комиссия` WHERE 1=0;
SELECT * FROM `Комиссия`;
DROP TABLE IF EXISTS `Состав:КОМ*ПРЕ`;
CREATE TABLE `Состав:КОМ*ПРЕ`
( `Нпп` INT NOT NULL
, `Роль` VARCHAR (50) NOT NULL
, `Регномер` INT NOT NULL
, `Код преподавателя` INT NOT NULL
, CONSTRAINT `ВК1\СОСТ^КОМ` FOREIGN KEY (`Регномер`) REFERENCES `Комиссия` (`Регномер`)
, CONSTRAINT `ВК2\СОСТ^ПРЕ` FOREIGN KEY (`Код преподавателя`) REFERENCES `Преподаватель:СОТ` (`Код преподавателя`)
);
INSERT INTO `Состав:КОМ*ПРЕ` VALUES
(1, 'Председатель', 1, 1),
(2, 'Член комиссии', 1, 2),
(3, 'Секретарь', 2, 3);
SELECT "`Состав:КОМ*ПРЕ` Table Content:" FROM `Состав:КОМ*ПРЕ` WHERE 1=0;
SELECT * FROM `Состав:КОМ*ПРЕ`;
DROP TABLE IF EXISTS `Записанный`;
CREATE TABLE `Записанный`
( `Инд регномер` INT NOT NULL
, `Нпп` INT NOT NULL
, `Код студента` INT NOT NULL
, `Регномер` INT NOT NULL
, CONSTRAINT `ПК\КОМ` PRIMARY KEY (`Инд регномер`)
, CONSTRAINT `ВК1\ЗАП^СТУ` FOREIGN KEY (`Код студента`) REFERENCES `Студент%ПЕРС` (`Код студента`)
, CONSTRAINT `ВК2\ЗАП^КОМ` FOREIGN KEY (`Регномер`) REFERENCES `Комиссия` (`Регномер`)
);
INSERT INTO `Записанный` VALUES
(1, 1, 1, 1),
(2, 2, 2, 2),
(3, 3, 3, 3);
SELECT "`Записанный` Table Content:" FROM `Записанный` WHERE 1=0;
SELECT * FROM `Записанный`;
DROP TABLE IF EXISTS `Заседание комиссии`;
CREATE TABLE `Заседание комиссии`
( `Дата заседания` DATE NOT NULL
, `Оценка` INT NOT NULL
, `Регномер` INT NOT NULL
, CONSTRAINT `ПК\ЗАС` PRIMARY KEY (`Дата заседания`)
, CONSTRAINT `ВК\ЗАС^КОМ` FOREIGN KEY (`Регномер`) REFERENCES `Комиссия` (`Регномер`)
);
INSERT INTO `Заседание комиссии` VALUES
('2024-01-15', 5, 1),
('2024-02-20', 4, 2),
('2024-03-25', 3, 3);
SELECT "`Заседание комиссии` Table Content:" FROM `Заседание комиссии` WHERE 1=0;
SELECT * FROM `Заседание комиссии`;
DROP TABLE IF EXISTS `Сдача экзамена:ЗАП`;
CREATE TABLE `Сдача экзамена:ЗАП`
( `Код` INT NOT NULL
, `Дата заседания` DATE NOT NULL
, CONSTRAINT `ПК\СДА` PRIMARY KEY (`Код`)
, CONSTRAINT `ВК\СДА^ЗАС` FOREIGN KEY (`Дата заседания`) REFERENCES `Заседание комиссии` (`Дата заседания`)
);
INSERT INTO `Сдача экзамена:ЗАП` VALUES
(1, '2024-01-15'),
(2, '2024-02-20'),
(3, '2024-03-25');
SELECT "`Сдача экзамена:ЗАП` Table Content:" FROM `Сдача экзамена:ЗАП` WHERE 1=0;
SELECT * FROM `Сдача экзамена:ЗАП`;
DROP TABLE IF EXISTS `Индивидуальная программа`;
CREATE TABLE `Индивидуальная программа`
( `Регномер индивидуальной программы` INT NOT NULL
, `Дата заседания` DATE NOT NULL
, CONSTRAINT `ПК\ИНД` PRIMARY KEY (`Регномер индивидуальной программы`)
);
INSERT INTO `Индивидуальная программа` VALUES
(101, '2024-03-01'),
(102, '2024-03-05'),
(103, '2024-03-10');
SELECT "`Индивидуальная программа` Table Content:" FROM `Индивидуальная программа` WHERE 1=0;
SELECT * FROM `Индивидуальная программа`;
DROP TABLE IF EXISTS `Вопрос из индивидуальной программы`;
CREATE TABLE `Вопрос из индивидуальной программы`
( `Регномер индивидуальной программы` INT NOT NULL
, `Номер вопроса` INT NOT NULL
, `Нпп` INT NOT NULL
, `Формулировка вопроса` VARCHAR (50) NOT NULL
, `Код вида вопроса` INT NOT NULL
, CONSTRAINT `ПК\ВОПИНД` PRIMARY KEY (`Регномер индивидуальной программы`, `Номер вопроса`)
, CONSTRAINT `ВК1\ВОПИНД^ИНД` FOREIGN KEY (`Код вида вопроса`) REFERENCES `Вид вопроса` (`Код вида вопроса`)
);
INSERT INTO `Вопрос из индивидуальной программы` VALUES
(101, 1, 1, 'Что такое SQL?', 1),
(101, 2, 2, 'Что такое JOIN?', 2),
(102, 1, 1, 'Что такое Python?', 1);
SELECT "`Вопрос из индивидуальной программы` Table Content:" FROM `Вопрос из индивидуальной программы` WHERE 1=0;
SELECT * FROM `Вопрос из индивидуальной программы`;
DROP TABLE IF EXISTS `Общая программа`;
CREATE TABLE `Общая программа`
( `Регномер общей программы` INT NOT NULL
, `Название общей программы` VARCHAR (50) NOT NULL
, CONSTRAINT `ПК\ОБЩ` PRIMARY KEY (`Регномер общей программы`)
);
INSERT INTO `Общая программа` (`Регномер общей программы`, `Название общей программы`) VALUES
(101, 'Программа по информатике'),
(102, 'Программа по математике'),
(103, 'Программа по физике');
SELECT "`Общая программа` Table Content:" FROM `Общая программа` WHERE 1=0;
SELECT * FROM `Общая программа`;
DROP TABLE IF EXISTS `Вопрос из общей программы`;
CREATE TABLE `Вопрос из общей программы`
( `Регномер общей программы` INT NOT NULL
, `Номер вопроса` INT NOT NULL
, `Нпп` INT NOT NULL
, `Формулировка вопроса` VARCHAR (50) NOT NULL
, `Код вида вопроса` INT NOT NULL
, CONSTRAINT `ПК\ВОПОБЩ` primary KEY (`Регномер общей программы`, `Номер вопроса`)
, CONSTRAINT `ВК1\ВОПОБЩ^ИНД` FOREIGN KEY (`Код вида вопроса`) REFERENCES `Вид вопроса` (`Код вида вопроса`)
);
INSERT INTO `Вопрос из общей программы` VALUES
(201, 1, 1, 'Что такое база данных?', 1),
(201, 2, 2, 'Что такое транзакция?', 2),
(202, 1, 1, 'Что такое Python?', 1);
SELECT "`Вопрос из индивидуальной программы` Table Content:" FROM `Вопрос из общей программы` WHERE 1=0;
SELECT * FROM `Вопрос из общей программы`;
DROP TABLE IF EXISTS `Ответ на вопрос из общей программы`;
CREATE TABLE `Ответ на вопрос из общей программы`
( `Ответ на вопрос` VARCHAR (50) NOT NULL
, `Оценка за вопрос` VARCHAR (50) NOT NULL
, `Регномер общей программы` INT NOT NULL
, `Номер вопроса` INT NOT NULL
, `Код` INT NOT NULL
, CONSTRAINT `ВК1\ОТВОБЩ^ВОПОБЩ` FOREIGN KEY (`Регномер общей программы`, `Номер вопроса`) REFERENCES `Вопрос из общей программы` (`Регномер общей программы`, `Номер вопроса`)
, CONSTRAINT `ВК2\ОТВОБЩ^СДА` FOREIGN KEY (`Код`) REFERENCES `Сдача экзамена:ЗАП` (`Код`)
);
INSERT INTO `Ответ на вопрос из общей программы` VALUES
('База данных — это...', '5', 201, 1, 1),
('Транзакция — это...', '4', 201, 2, 1),
('Python — это...', '5', 202, 1, 2);
SELECT "`Ответ на вопрос из общей программы` Table Content:" FROM `Ответ на вопрос из общей программы` WHERE 1=0;
SELECT * FROM `Ответ на вопрос из общей программы`;
DROP TABLE IF EXISTS `Ответ на вопрос из индивидуальной программы`;
CREATE TABLE `Ответ на вопрос из индивидуальной программы`
( `Ответ на вопрос` VARCHAR (50) NOT NULL
, `Оценка за вопрос` VARCHAR (50) NOT NULL
, `Номер вопроса\ОТВИНД^ВОПИНД` INT NOT NULL
, `Код\ОТВИНД^СДА` INT NOT NULL
, CONSTRAINT `ВК1\ОТВИНД^ВОПИНД` FOREIGN KEY (`Номер вопроса\ОТВОБЩ^ВОПОБЩ`) REFERENCES ‘Вопрос из индивидуальной программы\’ (`Регномер индивидуальной программы\ИНД`, ‘Номер вопроса’’)
, CONSTRAINT `ВК2\ОТВИНД^СДА` FOREIGN KEY (`Код\ОТВИНД^СДА`) REFERENCES ‘Сдача экзамена:ЗАП’ (‘Код\СДА^ЗАП’)
);
SELECT "`Ответ на вопрос из индивидуальной программы` Table Content:" FROM `Ответ на вопрос из индивидуальной программы` WHERE 1=0;
SELECT * FROM `Ответ на вопрос из индивидуальной программы`;
DROP TABLE IF EXISTS `Вид вопроса`;
CREATE TABLE `Вид вопроса`
( `Код вида вопроса` INT NOT NULL PRIMARY KEY
, `Название вида вопроса` VARCHAR (50) NOT NULL
);
INSERT INTO `Вид вопроса` VALUES
(1, 'Теоретический вопрос'),
(2, 'Практический вопрос'),
(3, 'Вопрос на знание SQL');
SELECT "`Вид вопроса` Table Content:" FROM `Вид вопроса` WHERE 1=0;
SELECT * FROM `Вид вопроса`;
DROP TABLE IF EXISTS `Сотрудник%ПЕРС`;
CREATE TABLE `Сотрудник%ПЕРС`
( `Код сотрудника` CHAR (10) NOT NULL PRIMARY KEY
, `ФИО сотрудника` VARCHAR (50) NOT NULL
, `Код должности` INT NOT NULL
, CONSTRAINT `ВК1\СОТ^ДОЛ` FOREIGN KEY (`Код должности`) REFERENCES `Должность:СПР` (`Код должности`)
);
INSERT INTO `Сотрудник%ПЕРС` VALUES
(1, 'Иванов Иван Иванович', 1),
(2, 'Петров Петр Петрович', 2),
(3, 'Сидорова Мария Сергеевна', 3);
SELECT "`Сотрудник%ПЕРС` Table Content:" FROM `Сотрудник%ПЕРС` WHERE 1=0;
SELECT * FROM `Сотрудник%ПЕРС`;
DROP TABLE IF EXISTS `Руководитель:СОТ`;
CREATE TABLE `Руководитель:СОТ`
( `Код руководителя` INT NOT NULL
, `ФИО руководителя` VARCHAR (50) NOT NULL
, CONSTRAINT `ПК\РУК` PRIMARY KEY (`Код руководителя`)
, CONSTRAINT `ВК\РУК^СОТ` FOREIGN KEY (`Код руководителя`) REFERENCES `Сотрудник%ПЕРС` (`Код сотрудника`)
);
INSERT INTO `Руководитель:СОТ` VALUES
(1, 'Иванов Иван Иванович'),
(2, 'Петров Петр Петрович'),
(3, 'Сидорова Мария Сергеевна');
SELECT "`Руководитель:СОТ` Table Content:" FROM `Руководитель:СОТ` WHERE 1=0;
SELECT * FROM `Руководитель:СОТ`;
DROP TABLE IF EXISTS `Преподаватель:СОТ`;
CREATE TABLE `Преподаватель:СОТ`
( `Код преподавателя` INT NOT NULL
, `ФИО преподавателя` VARCHAR (50) NOT NULL
, CONSTRAINT `ПК\ПРЕ` PRIMARY KEY (`Код преподавателя`)
, CONSTRAINT `ВК\ПРЕ^СОТ` FOREIGN KEY (`Код преподавателя`) REFERENCES `Сотрудник%ПЕРС` (`Код сотрудника`)
);
INSERT INTO `Преподаватель:СОТ` VALUES
(1, 'Иванов Иван Иванович'),
(2, 'Петров Петр Петрович'),
(3, 'Сидорова Мария Сергеевна');
SELECT "`Преподаватель:СОТ` Table Content:" FROM `Преподаватель:СОТ` WHERE 1=0;
SELECT * FROM `Преподаватель:СОТ`;
DROP TABLE IF EXISTS `Секретарь:СОТ`;
CREATE TABLE `Секретарь:СОТ`
( `Код секретаря` INT NOT NULL
, `ФИО секретаря` VARCHAR (50) NOT NULL
, CONSTRAINT `ПК\СЕК` PRIMARY KEY (`Код секретаря`)
, CONSTRAINT `ВК\СЕК^СОТ` FOREIGN KEY (`Код секретаря`) REFERENCES `Сотрудник%ПЕРС` (`Код сотрудника`)
);
INSERT INTO `Секретарь:СОТ` VALUES
(1, 'Иванова Анна Ивановна'),
(2, 'Петрова Ольга Петровна'),
(3, 'Сидорова Елена Сергеевна');
SELECT "`Секретарь:СОТ` Table Content:" FROM `Секретарь:СОТ` WHERE 1=0;
SELECT * FROM `Секретарь:СОТ`;
DROP TABLE IF EXISTS `Должность:СПР`;
CREATE TABLE `Должность:СПР`
(
`Код должности` INT NOT NULL,
`Название должности` VARCHAR(50) NOT NULL,
`Код справки` CHAR(3) NOT NULL,
`Слк справки` CHAR(3) NOT NULL,
CONSTRAINT `ПК\ДОЛ` PRIMARY KEY (`Код должности`),
CONSTRAINT `ВК\ДОЛ^СПР` FOREIGN KEY (`Код справки`, `Слк справки`)
REFERENCES `Справка` (`Код`, `Слк`)
);
INSERT INTO `Должность:СПР` VALUES
(1, 'Профессор', 'ДОЛ', 'про'),
(2, 'Доцент', 'ДОЛ', 'доц'),
(3, 'Лаборант', 'ДОЛ', 'лаб');
SELECT "`Должность:СПР` Table Content:" FROM `Должность:СПР` WHERE 1=0;
SELECT * FROM `Должность:СПР`;
DROP TABLE IF EXISTS `Справка`;
CREATE TABLE `Справка`
( `Слк` CHAR (3) NOT NULL
, `Код` CHAR (3) NOT NULL
, `Название` VARCHAR (50) NOT NULL
, `Слк родитель` CHAR (3) NULL
, `Код родитель` CHAR (3) NULL
, CONSTRAINT `ПК\СПР` PRIMARY KEY (`Код`, `Слк`)
, CONSTRAINT `ВК\СПР^СПР` FOREIGN KEY (`Код родитель`, `Слк родитель`) REFERENCES `Справка` (`Код`, `Слк`)
);
INSERT INTO `Справка` VALUES
('ДОЛ', 'про', 'профессор', NULL, NULL),
('ДОЛ', 'доц', 'доцент', NULL, NULL),
('ДОЛ', 'лаб', 'лаборант', NULL, NULL),
('СТЕ', 'дтн', 'д-р техн. наук', NULL, NULL),
('СТЕ', 'ктн', 'канд. техн. наук', NULL, NULL),
('ЗВА', 'про', 'профессор', NULL, NULL),
('ЗВА', 'доц', 'доцент', NULL, NULL),
('ПОД', 'ИРТ', 'ФИРТ', NULL, NULL),
('ПОД', 'АСУ', 'каф. АСУ', 'ПОД', 'ИРТ');
;
SELECT "`Справка` Table Content:" FROM `Справка` WHERE 1=0;
SELECT * FROM `Справка`;