DROP TABLE IF EXISTS `Справка+`;
CREATE TABLE `Справка+`
( `Слк` CHAR (3) NOT NULL
, `Код` CHAR (5) NOT NULL
, `Название` VARCHAR (100) NOT NULL
, `Слк_родитель` CHAR (3) NULL
, `Код_родитель` CHAR (5) NULL
, CONSTRAINT `ПК\СПР` PRIMARY KEY (`Слк`, `Код`)
, CONSTRAINT `ВК1\СПР^СПР` FOREIGN KEY (`Слк_родитель`, `Код_родитель`) REFERENCES `Справка+` (`Слк`, `Код`)
);
INSERT INTO `Справка+` VALUES
("ДОЛ", "проф", "профессор", NULL, NULL),
("ДОЛ", "прор", "проректор", NULL, NULL),
("ВИД", "воп", "вопрос", 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 `Справка+`;
DROP TABLE IF EXISTS `Кафедра\СПР`;
CREATE TABLE `Кафедра\СПР`
( `Слк_ФАК` CHAR (3) NOT NULL DEFAULT "ФАК"
, `Код_ФАК` CHAR (5) NOT NULL
, `Код` CHAR (3) NOT NULL
, `Название` VARCHAR (50) NOT NULL
, CONSTRAINT `ПК\КАФ` PRIMARY KEY (`Слк_ФАК`, `Код_ФАК`, `Код`)
, CONSTRAINT `ВК1\КАФ^СПР` FOREIGN KEY (`Слк_ФАК`, `Код_ФАК`) REFERENCES `Справка+` (`Слк`, `Код`)
);
INSERT INTO `Кафедра\СПР` VALUES
(DEFAULT, "ИИМРТ", "001", "Кафедра автоматизированных систем управления"),
(DEFAULT, "ФАДЭТ", "002", "Кафедра сопротивления материалов");
SELECT "`Кафедра\СПР` Table Content:" FROM `Кафедра\СПР` WHERE 1=0;
SELECT * FROM `Кафедра\СПР`;
DROP TABLE IF EXISTS `Программа`;
CREATE TABLE `Программа`
( `Регномер` CHAR (5) NOT NULL PRIMARY KEY
, `Название` VARCHAR (50) NOT NULL
);
INSERT INTO `Программа` VALUES
("11111", "Программа по базам данных"),
("11112", "Программа по высшей математике"),
("11113", "Программа по информатике"),
("11114", "Программа по ООП");
SELECT "`Программа` Table Content:" FROM `Программа` WHERE 1=0;
SELECT * FROM `Программа`;
DROP TABLE IF EXISTS `Общая программа:ПРО`;
CREATE TABLE `Общая программа:ПРО`
( `Регномер\ОБП^ПРО` CHAR (5) NOT NULL PRIMARY KEY REFERENCES `Программа` (`Регномер`)
);
INSERT INTO `Общая программа:ПРО` VALUES
("11112"),
("11113");
SELECT "`Общая программа:ПРО` Table Content:" FROM `Общая программа:ПРО` WHERE 1=0;
SELECT * FROM `Общая программа:ПРО`;
DROP TABLE IF EXISTS `Индивидуальная программа:ПРО`;
CREATE TABLE `Индивидуальная программа:ПРО`
( `Регномер\ИНП^ПРО` CHAR (5) NOT NULL PRIMARY KEY REFERENCES `Программа` (`Регномер`)
);
INSERT INTO `Индивидуальная программа:ПРО` VALUES
("11111"),
("11114");
SELECT "`Индивидуальная программа:ПРО` Table Content:" FROM `Индивидуальная программа:ПРО` WHERE 1=0;
SELECT * FROM `Индивидуальная программа:ПРО`;
DROP TABLE IF EXISTS `Студент%ПЕРС`;
CREATE TABLE `Студент%ПЕРС`
( `Код` CHAR (3) NOT NULL PRIMARY KEY
, `Паспорт` CHAR (10) NOT NULL UNIQUE
, `ФИО` VARCHAR (50) NOT NULL
, `Регномер\СТУ^ИНП` CHAR (5) NOT NULL REFERENCES `Индивидуальная программа:ПРО` (`Регномер\ИНП^ПРО`)
);
INSERT INTO `Студент%ПЕРС` VALUES
("001", "345678", "Петров А. А.", "11111"),
("002", "567890", "Исаев М. М.", "11114");
SELECT "`Студент%ПЕРС` Table Content:" FROM `Студент%ПЕРС` WHERE 1=0;
SELECT * FROM `Студент%ПЕРС`;
DROP TABLE IF EXISTS `Экзаменуемый свой:СТУ`;
CREATE TABLE `Экзаменуемый свой:СТУ`
( `Код\ЭСВ^СТУ` CHAR (3) NOT NULL PRIMARY KEY REFERENCES `Студент%ПЕРС` (`Код`)
, `Слк_ФАК` CHAR (3) NOT NULL DEFAULT "ФАК"
, `Код_ФАК` CHAR (5) NOT NULL
, `Код_КАФ` CHAR (3) NOT NULL
, CONSTRAINT `ВК1\ЭСВ^КАФ` FOREIGN KEY (`Слк_ФАК`, `Код_ФАК`, `Код_КАФ`) REFERENCES `Кафедра\СПР` (`Слк_ФАК`, `Код_ФАК`, `Код`)
);
INSERT INTO `Экзаменуемый свой:СТУ` VALUES
("001", DEFAULT, "ИИМРТ", "001");
SELECT "`Экзаменуемый свой:СТУ` Table Content:" FROM `Экзаменуемый свой:СТУ` WHERE 1=0;
SELECT * FROM `Экзаменуемый свой:СТУ`;
DROP TABLE IF EXISTS `Экзаменуемый чужой:СТУ`;
CREATE TABLE `Экзаменуемый чужой:СТУ`
( `Код\ЭЧУ^СТУ` CHAR (3) NOT NULL PRIMARY KEY REFERENCES `Студент%ПЕРС` (`Код`)
, `Слк_ВУЗ` CHAR (3) NOT NULL DEFAULT "ВУЗ"
, `Код_ВУЗ` CHAR (5) NOT NULL
, CONSTRAINT `ВК1\ЭЧУ^СПР` FOREIGN KEY (`Слк_ВУЗ`, `Код_ВУЗ`) REFERENCES `Справка+` (`Слк`, `Код`)
);
INSERT INTO `Экзаменуемый чужой:СТУ` VALUES
("002", DEFAULT, "УГНТУ");
SELECT "`Экзаменуемый чужой:СТУ` Table Content:" FROM `Экзаменуемый чужой:СТУ` WHERE 1=0;
SELECT * FROM `Экзаменуемый чужой:СТУ`;
DROP TABLE IF EXISTS `Сотрудник%ПЕРС`;
CREATE TABLE `Сотрудник%ПЕРС`
( `Код` CHAR (3) NOT NULL PRIMARY KEY
, `Паспорт` CHAR (10) NOT NULL UNIQUE
, `ФИО` VARCHAR (50) NOT NULL
);
INSERT INTO `Сотрудник%ПЕРС` VALUES
("001", "245678", "Синицын В. А."),
("002", "656789", "Боширов Р. Р."),
("003", "767890", "Жуков И. М.");
SELECT "`Сотрудник%ПЕРС` Table Content:" FROM `Сотрудник%ПЕРС` WHERE 1=0;
SELECT * FROM `Сотрудник%ПЕРС`;
DROP TABLE IF EXISTS `Руководитель:СОТ`;
CREATE TABLE `Руководитель:СОТ`
( `Код\ПРЕ^СОТ` CHAR (3) NOT NULL PRIMARY KEY REFERENCES `Сотрудник%ПЕРС` (`Код`)
, `Слк_ДОЛ` CHAR (3) NULL DEFAULT "ДОЛ"
, `Код_ДОЛ` CHAR (5) NULL
, CONSTRAINT `ВК1\РУК^СПР` FOREIGN KEY (`Слк_ДОЛ`, `Код_ДОЛ`) REFERENCES `Справка+` (`Слк`, `Код`)
);
INSERT INTO `Руководитель:СОТ` VALUES
("001", DEFAULT, "прор");
SELECT "`Руководитель:СОТ` Table Content:" FROM `Руководитель:СОТ` WHERE 1=0;
SELECT * FROM `Руководитель:СОТ`;
DROP TABLE IF EXISTS `Преподаватель:СОТ`;
CREATE TABLE `Преподаватель:СОТ`
( `Код\ПРЕ^СОТ` CHAR (3) NOT NULL PRIMARY KEY REFERENCES `Сотрудник%ПЕРС` (`Код`)
, `Слк_ФАК` CHAR (3) NOT NULL DEFAULT "ФАК"
, `Код_ФАК` CHAR (5) NOT NULL
, `Код_КАФ` CHAR (3) NOT NULL
, `Слк_ДОЛ` CHAR (3) NOT NULL DEFAULT "ДОЛ"
, `Код_ДОЛ` CHAR (5) NOT NULL
, CONSTRAINT `ВК1\ПРЕ^КАФ` FOREIGN KEY (`Слк_ФАК`, `Код_ФАК`, `Код_КАФ`) REFERENCES `Кафедра\СПР` (`Слк_ФАК`, `Код_ФАК`, `Код`)
, CONSTRAINT `ВК1\ПРЕ^СПР` FOREIGN KEY (`Слк_ДОЛ`, `Код_ДОЛ`) REFERENCES `Справка+` (`Слк`, `Код`)
);
INSERT INTO `Преподаватель:СОТ` VALUES
("002", DEFAULT, "ИИМРТ", "001", DEFAULT, "проф");
SELECT "`Преподаватель:СОТ` Table Content:" FROM `Преподаватель:СОТ` WHERE 1=0;
SELECT * FROM `Преподаватель:СОТ`;
DROP TABLE IF EXISTS `Секретарь:СОТ`;
CREATE TABLE `Секретарь:СОТ`
( `Код\СЕК^СОТ` CHAR (3) NOT NULL PRIMARY KEY REFERENCES `Сотрудник%ПЕРС` (`Код`)
);
INSERT INTO `Секретарь:СОТ` VALUES
("003");
SELECT "`Секретарь:СОТ` Table Content:" FROM `Секретарь:СОТ` WHERE 1=0;
SELECT * FROM `Секретарь:СОТ`;
DROP TABLE IF EXISTS `Приказ`;
CREATE TABLE `Приказ`
( `Регномер` CHAR (5) NOT NULL PRIMARY KEY
, `Дата` DATE NOT NULL
, `Код\ПРИ^РУК` CHAR (3) NOT NULL REFERENCES `Руководитель:СОТ` (`Код\ПРЕ^СОТ`)
);
INSERT INTO `Приказ` VALUES
("00001", "2025-02-15", "001");
SELECT "`Приказ` Table Content:" FROM `Приказ` WHERE 1=0;
SELECT * FROM `Приказ`;
DROP TABLE IF EXISTS `Комиссия`;
CREATE TABLE `Комиссия`
( `Учебгод` INT NOT NULL
, `Регномер` CHAR (5) NOT NULL
, `Дата` DATE NOT NULL
, `Регномер\КОМ^ПРИ` CHAR (5) NOT NULL REFERENCES `Приказ` (`Регномер`)
, `Регномер\КОМ^ОБП` CHAR (5) NOT NULL REFERENCES `Общая программа:ПРО` (`Регномер\ОБП^ПРО`)
, `Слк_ДИС` CHAR (3) NOT NULL DEFAULT "ДИС"
, `Код_ДИС` CHAR (5) NOT NULL
, CONSTRAINT `ПК\КОМ` PRIMARY KEY (`Учебгод`, `Регномер`, `Дата`)
, CONSTRAINT `ВК1\КОМ^СПР` FOREIGN KEY (`Слк_ДИС`, `Код_ДИС`) REFERENCES `Справка+` (`Слк`, `Код`)
);
INSERT INTO `Комиссия` VALUES
("2025", "11111", "2025-02-25", "00001", "11113", DEFAULT, "ооп");
SELECT "`Комиссия` Table Content:" FROM `Комиссия` WHERE 1=0;
SELECT * FROM `Комиссия`;
DROP TABLE IF EXISTS `Состав:КОМ*ПРЕ`;
CREATE TABLE `Состав:КОМ*ПРЕ`
( `Учебгод_КОМ` INT NOT NULL
, `Регномер_КОМ` CHAR (5) NOT NULL
, `Дата_КОМ` DATE NOT NULL
, `Код\СОС^ПРЕ` CHAR (3) NOT NULL REFERENCES `Преподаватель:СОТ` (`Код\ПРЕ^СОТ`)
, `Нпп` INT NOT NULL
, `Роль` CHAR (50) NOT NULL
, CONSTRAINT `ПК\СОС` PRIMARY KEY (`Учебгод_КОМ`, `Регномер_КОМ`, `Дата_КОМ`, `Код\СОС^ПРЕ`)
, CONSTRAINT `ВК1\СОС^КОМ` FOREIGN KEY (`Учебгод_КОМ`, `Регномер_КОМ`, `Дата_КОМ`) REFERENCES `Комиссия` (`Учебгод`, `Регномер`, `Дата`)
);
INSERT INTO `Состав:КОМ*ПРЕ` VALUES
("2025", "11111", "2025-02-25", "002", "1", "председатель");
SELECT "`Состав:КОМ*ПРЕ` Table Content:" FROM `Состав:КОМ*ПРЕ` WHERE 1=0;
SELECT * FROM `Состав:КОМ*ПРЕ`;
DROP TABLE IF EXISTS `Вопрос\ПРО`;
CREATE TABLE `Вопрос\ПРО`
( `Регномер\ВОП^ПРО` CHAR (5) NOT NULL REFERENCES `Программа` (`Регномер`)
, `Номер` INT NOT NULL
, `Формулировка` VARCHAR (150) NOT NULL
, `Слк_ВИД` CHAR (3) NOT NULL DEFAULT "ВИД"
, `Код_ВИД` CHAR (5) NOT NULL
, CONSTRAINT `ПК\ВОП` PRIMARY KEY (`Регномер\ВОП^ПРО`, `Номер`)
, CONSTRAINT `ВК1\ВОП^СПР` FOREIGN KEY (`Слк_ВИД`, `Код_ВИД`) REFERENCES `Справка+` (`Слк`, `Код`)
);
INSERT INTO `Вопрос\ПРО` VALUES
("11113", 1, "Минимальная единица измерения информации?", DEFAULT, "воп"),
("11111", 1, "Что такое первичный ключ?", DEFAULT, "воп"),
("11114", 1, "Напишите фрагмент кода конструкторов класса", DEFAULT, "зад");
SELECT "`Вопрос\ПРО` Table Content:" FROM `Вопрос\ПРО` WHERE 1=0;
SELECT * FROM `Вопрос\ПРО`;
DROP TABLE IF EXISTS `Записан`;
CREATE TABLE `Записан`
( `Инд. регномер` CHAR (5) NOT NULL PRIMARY KEY
, `Нпп` INT NOT NULL
, `Учебгод_КОМ` INT NOT NULL
, `Регномер_КОМ` CHAR (5) NOT NULL
, `Дата_КОМ` DATE NOT NULL
, `Код\ЗАП^СТУ` CHAR (3) NOT NULL REFERENCES `Студент%ПЕРС` (`Код`)
, `Код\ЗАП^СЕК` CHAR (3) NOT NULL REFERENCES `Секретарь:СОТ` (`Код\СЕК^СОТ`)
, CONSTRAINT `ВК1\ЗАП^КОМ` FOREIGN KEY (`Учебгод_КОМ`, `Регномер_КОМ`, `Дата_КОМ`) REFERENCES `Комиссия` (`Учебгод`, `Регномер`, `Дата`)
);
INSERT INTO `Записан` VALUES
("11111", 1, 2025, "11111", "2025-02-25", "001", "003"),
("11112", 2, 2025, "11111", "2025-02-25", "002", "003");
SELECT "`Записан` Table Content:" FROM `Записан` WHERE 1=0;
SELECT * FROM `Записан`;
DROP TABLE IF EXISTS `Сдача экзамена:ЗАП`;
CREATE TABLE `Сдача экзамена:ЗАП`
( `Инд. регномер\СДЭ^ЗАП` CHAR (5) NOT NULL PRIMARY KEY REFERENCES `Записан` (`Инд. регномер`)
, `Оценка` INT NOT NULL
, `Учебгод_КОМ` INT NOT NULL
, `Регномер_КОМ` CHAR (5) NOT NULL
, `Дата_КОМ` DATE NOT NULL
, `Код\СДЭ^СТУ` CHAR (3) NOT NULL REFERENCES `Студент%ПЕРС` (`Код`)
, `Регномер\СДЭ^ИНП` CHAR (5) NOT NULL REFERENCES `Индивидуальная программа:ПРО` (`Регномер\ИНП^ПРО`)
, CONSTRAINT `ВК1\СДЭ^КОМ` FOREIGN KEY (`Учебгод_КОМ`, `Регномер_КОМ`, `Дата_КОМ`) REFERENCES `Комиссия` (`Учебгод`, `Регномер`, `Дата`)
);
INSERT INTO `Сдача экзамена:ЗАП` VALUES
("11111", 5, 2025, "11111", "2025-02-25", "001", "11111"),
("11112", 4, 2025, "11111", "2025-02-25", "002", "11114");
SELECT "`Сдача экзамена:ЗАП` Table Content:" FROM `Сдача экзамена:ЗАП` WHERE 1=0;
SELECT * FROM `Сдача экзамена:ЗАП`;
DROP TABLE IF EXISTS `Ответ:СДЭ*ВОП`;
CREATE TABLE `Ответ:СДЭ*ВОП`
( `Инд. регномер\ОТВ^СДЭ` CHAR (5) NOT NULL REFERENCES `Сдача экзамена:ЗАП` (`Инд. регномер\СДЭ^ЗАП`)
, `Регномер_ВОП` CHAR (5) NOT NULL
, `Номер_ВОП` INT NOT NULL
, `Нпп` INT NOT NULL
, `Ответ` VARCHAR (150) NOT NULL
, `Оценка` INT NOT NULL
, CONSTRAINT `ПК\ОТВ` PRIMARY KEY (`Инд. регномер\ОТВ^СДЭ`, `Регномер_ВОП`, `Номер_ВОП`)
, CONSTRAINT `ВК1\ОТВ^ВОП` FOREIGN KEY (`Регномер_ВОП`, `Номер_ВОП`) REFERENCES `Вопрос\ПРО` (`Регномер\ВОП^ПРО`, `Номер`)
);
INSERT INTO `Ответ:СДЭ*ВОП` VALUES
("11111", "11111", 1, 1, "Такой-то ответ", 5),
("11112", "11114", 1, 1, "Такой-то ответ", 4);
SELECT "`Ответ:СДЭ*ВОП` Table Content:" FROM `Ответ:СДЭ*ВОП` WHERE 1=0;
SELECT * FROM `Ответ:СДЭ*ВОП`;