DROP TABLE IF EXISTS `Справка+`;
CREATE TABLE `Справка+`
( `ИД` INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, `Слк` VARCHAR(3) NOT NULL
, `Код` INT NOT NULL
, `Название` VARCHAR(50) NOT NULL
, CONSTRAINT `УН\СПР` UNIQUE (`Слк`, `Код`)
);
INSERT INTO `Справка+` VALUES
(DEFAULT, "СПЦ", 1, "Математика"),
(DEFAULT, "СПЦ", 2, "Информатика"),
(DEFAULT, "ДОЛ", 1, "Преподаватель"),
(DEFAULT, "ДОЛ", 2, "Руководитель"),
(DEFAULT, "ДОЛ", 3, "Сотрудник деканата"),
(DEFAULT, "КОР", 1, "Первый"),
(DEFAULT, "КОР", 2, "Второй"),
(DEFAULT, "КАФ", 1, "Математики"),
(DEFAULT, "КАФ", 2, "Информатики"),
(DEFAULT, "ВСД", 1, "Очная"),
(DEFAULT, "ВСД", 2, "Заочная"),
(DEFAULT, "ВОС", 1, "Пропуск по болезни"),
(DEFAULT, "ВОС", 2, "Повышение оценки")
;
SELECT "`Справка+` Table Content:" FROM `Справка+` WHERE 1=0;
SELECT * FROM `Справка+`;
DROP TABLE IF EXISTS `Группа\СПЦ`;
CREATE TABLE `Группа\СПЦ`
( `ИД` INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, `ИД_СПЦ\ГРП^СПР` INT NOT NULL
, `Номер` INT NOT NULL
, `Название` VARCHAR(50) NOT NULL
, CONSTRAINT `УН\ГРП` UNIQUE (`ИД_СПЦ\ГРП^СПР`, `Номер`)
, FOREIGN KEY (`ИД_СПЦ\ГРП^СПР`) REFERENCES `Справка+` (`ИД`)
);
INSERT INTO `Группа\СПЦ` VALUES
(DEFAULT, (SELECT `ИД` FROM `Справка+` WHERE `Слк` = "СПЦ" AND `Код` = 1), 1, "МАТ"),
(DEFAULT, (SELECT `ИД` FROM `Справка+` WHERE `Слк` = "СПЦ" AND `Код` = 2), 2, "ИНФ")
;
SELECT "`Группа\СПЦ` Table Content:" FROM `Группа\СПЦ` WHERE 1=0;
SELECT * FROM `Группа\СПЦ`;
DROP TABLE IF EXISTS `Студент%ПЕРС`;
CREATE TABLE `Студент%ПЕРС`
( `ИД` INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, `Код` INT NOT NULL UNIQUE
, `ФИО` VARCHAR(50) NOT NULL
, `ИД\СТД^ГРП` INT NOT NULL
, FOREIGN KEY (`ИД\СТД^ГРП`) REFERENCES `Группа\СПЦ` (`ИД`)
);
INSERT INTO `Студент%ПЕРС` VALUES
(DEFAULT, 1, "ФИО", (SELECT `ИД` FROM `Группа\СПЦ` WHERE `ИД_СПЦ\ГРП^СПР` = 1 AND `Номер` = 1)),
(DEFAULT, 2, "ФИО", (SELECT `ИД` FROM `Группа\СПЦ` WHERE `ИД_СПЦ\ГРП^СПР` = 2 AND `Номер` = 2))
;
SELECT "`Студент%ПЕРС` Table Content:" FROM `Студент%ПЕРС` WHERE 1=0;
SELECT * FROM `Студент%ПЕРС`;
DROP TABLE IF EXISTS `Сотрудник%ПЕРС`;
CREATE TABLE `Сотрудник%ПЕРС`
( `ИД` INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, `Код` INT NOT NULL UNIQUE
, `ФИО` VARCHAR(50) NOT NULL
, `ИД_ДОЛ\ГРП^СПР` INT NOT NULL
, CONSTRAINT `ВК1\СОТ^СПР` FOREIGN KEY (`ИД_ДОЛ\ГРП^СПР`) REFERENCES `Справка+` (`ИД`)
);
INSERT INTO `Сотрудник%ПЕРС` VALUES
(DEFAULT, 1, "ФИО", (SELECT `ИД` FROM `Справка+` WHERE `Слк` = "ДОЛ" AND `Код` = 1)),
(DEFAULT, 2, "ФИО", (SELECT `ИД` FROM `Справка+` WHERE `Слк` = "ДОЛ" AND `Код` = 1)),
(DEFAULT, 3, "ФИО", (SELECT `ИД` FROM `Справка+` WHERE `Слк` = "ДОЛ" AND `Код` = 2)),
(DEFAULT, 4, "ФИО", (SELECT `ИД` FROM `Справка+` WHERE `Слк` = "ДОЛ" AND `Код` = 3))
;
SELECT "`Сотрудник%ПЕРС` Table Content:" FROM `Сотрудник%ПЕРС` WHERE 1=0;
SELECT * FROM `Сотрудник%ПЕРС`;
DROP TABLE IF EXISTS `Преподаватель:СОТ`;
CREATE TABLE `Преподаватель:СОТ`
( `ИД\ПРД^СОТ` INT NOT NULL PRIMARY KEY
, `ИД_КАФ\ПРД^СПР` INT NOT NULL
, FOREIGN KEY (`ИД\ПРД^СОТ`) REFERENCES `Сотрудник%ПЕРС` (`ИД`)
, FOREIGN KEY (`ИД_КАФ\ПРД^СПР`) REFERENCES `Справка+` (`ИД`)
);
INSERT INTO `Преподаватель:СОТ` VALUES
((SELECT `ИД` FROM `Сотрудник%ПЕРС` WHERE `Код` = 1), (SELECT `ИД` FROM `Справка+` WHERE `Слк` = "КАФ" AND `Код` = 1)),
((SELECT `ИД` FROM `Сотрудник%ПЕРС` WHERE `Код` = 2), (SELECT `ИД` FROM `Справка+` WHERE `Слк` = "КАФ" AND `Код` = 2))
;
SELECT "`Преподаватель:СОТ` Table Content:" FROM `Преподаватель:СОТ` WHERE 1=0;
SELECT * FROM `Преподаватель:СОТ`;
DROP TABLE IF EXISTS `Руководитель:СОТ`;
CREATE TABLE `Руководитель:СОТ`
( `ИД\РУК^СОТ` INT NOT NULL PRIMARY KEY
, FOREIGN KEY (`ИД\РУК^СОТ`) REFERENCES `Сотрудник%ПЕРС` (`ИД`)
);
INSERT INTO `Руководитель:СОТ` VALUES
((SELECT `ИД` FROM `Сотрудник%ПЕРС` WHERE `Код` = 3))
;
SELECT "`Руководитель:СОТ` Table Content:" FROM `Руководитель:СОТ` WHERE 1=0;
SELECT * FROM `Руководитель:СОТ`;
DROP TABLE IF EXISTS `Сотрудник деканата:СОТ`;
CREATE TABLE `Сотрудник деканата:СОТ`
( `ИД\ДЕК^СОТ` INT NOT NULL PRIMARY KEY
, FOREIGN KEY (`ИД\ДЕК^СОТ`) REFERENCES `Сотрудник%ПЕРС` (`ИД`)
);
INSERT INTO `Сотрудник деканата:СОТ` VALUES
((SELECT `ИД` FROM `Сотрудник%ПЕРС` WHERE `Код` = 4))
;
SELECT "`Сотрудник деканата:СОТ` Table Content:" FROM `Сотрудник деканата:СОТ` WHERE 1=0;
SELECT * FROM `Сотрудник деканата:СОТ`;
DROP TABLE IF EXISTS `Приказ о продлении сессии`;
CREATE TABLE `Приказ о продлении сессии`
( `ИД` INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, `Регномер` INT NOT NULL UNIQUE
, `Дата` DATE NOT NULL
, `ИД\ПРИ^РУК` INT NOT NULL
, FOREIGN KEY (`ИД\ПРИ^РУК`) REFERENCES `Руководитель:СОТ` (`ИД\РУК^СОТ`)
);
INSERT INTO `Приказ о продлении сессии` VALUES
(DEFAULT, 1, "2025-03-01", (SELECT `ИД\РУК^СОТ` FROM `Руководитель:СОТ` WHERE `ИД\РУК^СОТ` = 3)),
(DEFAULT, 2, "2025-03-01", (SELECT `ИД\РУК^СОТ` FROM `Руководитель:СОТ` WHERE `ИД\РУК^СОТ` = 3))
;
SELECT "`Приказ о продлении сессии` Table Content:" FROM `Приказ о продлении сессии` WHERE 1=0;
SELECT * FROM `Приказ о продлении сессии`;
DROP TABLE IF EXISTS `Предмет\СПЦ`;
CREATE TABLE `Предмет\СПЦ`
( `ИД` INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, `ИД_СПЦ\ПРЕ^СПР` INT NOT NULL
, `Код` INT NOT NULL
, `Название` VARCHAR(50) NOT NULL
, CONSTRAINT `УН\ПРЕ` UNIQUE (`ИД_СПЦ\ПРЕ^СПР`, `Код`)
, FOREIGN KEY (`ИД_СПЦ\ПРЕ^СПР`) REFERENCES `Справка+` (`ИД`)
);
INSERT INTO `Предмет\СПЦ` VALUES
(DEFAULT, (SELECT `ИД` FROM `Справка+` WHERE `Слк` = "СПЦ" AND `Код` = 1), 1, "Математика"),
(DEFAULT, (SELECT `ИД` FROM `Справка+` WHERE `Слк` = "СПЦ" AND `Код` = 2), 2, "Информатика")
;
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
, `Сроки продления` VARCHAR(50) NOT NULL
, `ИД\СВП^ДЕК` INT NOT NULL
, `ИД_ВОС\СВП^СПР` INT NOT NULL
, CONSTRAINT `ПК\СВП` PRIMARY KEY (`ИД\СВП^ПРИ`, `ИД\СВП^СТД`)
, FOREIGN KEY (`ИД\СВП^ПРИ`) REFERENCES `Приказ о продлении сессии` (`ИД`)
, FOREIGN KEY (`ИД\СВП^СТД`) REFERENCES `Студент%ПЕРС` (`ИД`)
, FOREIGN KEY (`ИД\СВП^ДЕК`) REFERENCES `Сотрудник деканата:СОТ` (`ИД\ДЕК^СОТ`)
, FOREIGN KEY (`ИД_ВОС\СВП^СПР`) REFERENCES `Справка+` (`ИД`)
);
INSERT INTO `Студент в приказе:ПРИ*СТД` VALUES
((SELECT `ИД` FROM `Приказ о продлении сессии` WHERE `Регномер` = 1), (SELECT `ИД` FROM `Студент%ПЕРС` WHERE `Код` = 1), "Указано в спарвке", "2025-04-01", (SELECT `ИД\ДЕК^СОТ` FROM `Сотрудник деканата:СОТ` WHERE `ИД\ДЕК^СОТ` = 4), (SELECT `ИД` FROM `Справка+` WHERE `Слк` = "ВОС" AND `Код` = 1)),
((SELECT `ИД` FROM `Приказ о продлении сессии` WHERE `Регномер` = 2), (SELECT `ИД` FROM `Студент%ПЕРС` WHERE `Код` = 2), "Указано в спарвке", "2025-04-01", (SELECT `ИД\ДЕК^СОТ` FROM `Сотрудник деканата:СОТ` WHERE `ИД\ДЕК^СОТ` = 4), (SELECT `ИД` FROM `Справка+` WHERE `Слк` = "ВОС" AND `Код` = 2))
;
SELECT "`Студент в приказе:ПРИ*СТД` Table Content:" FROM `Студент в приказе:ПРИ*СТД` WHERE 1=0;
SELECT * FROM `Студент в приказе:ПРИ*СТД`;
DROP TABLE IF EXISTS `Досдача`;
CREATE TABLE `Досдача`
( `ИД` INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, `Регномер` INT NOT NULL UNIQUE
, `Дата` DATE NOT NULL
, `ИД\ДОС^ДЕК` INT NOT NULL
, `ИД\ДОС^ПРЕ` INT NOT NULL
, CONSTRAINT `ВК1\ДОС^ДЕК` FOREIGN KEY (`ИД\ДОС^ДЕК`) REFERENCES `Сотрудник деканата:СОТ` (`ИД\ДЕК^СОТ`)
, CONSTRAINT `ВК2\ДОС^ПРЕ` FOREIGN KEY (`ИД\ДОС^ПРЕ`) REFERENCES `Предмет\СПЦ` (`ИД`)
);
INSERT INTO `Досдача` VALUES
(DEFAULT, 1, "2025-03-10", (SELECT `ИД\ДЕК^СОТ` FROM `Сотрудник деканата:СОТ` WHERE `ИД\ДЕК^СОТ` = 4), (SELECT `ИД` FROM `Предмет\СПЦ` WHERE `ИД_СПЦ\ПРЕ^СПР` = 1 AND `Код` = 1)),
(DEFAULT, 2, "2025-03-10", (SELECT `ИД\ДЕК^СОТ` FROM `Сотрудник деканата:СОТ` WHERE `ИД\ДЕК^СОТ` = 4), (SELECT `ИД` FROM `Предмет\СПЦ` WHERE `ИД_СПЦ\ПРЕ^СПР` = 2 AND `Код` = 2))
;
SELECT "`Досдача` Table Content:" FROM `Досдача` WHERE 1=0;
SELECT * FROM `Досдача`;
DROP TABLE IF EXISTS `Преподаватель на досдаче:ДОС*ПРД`;
CREATE TABLE `Преподаватель на досдаче:ДОС*ПРД`
( `ИД\ПНД^ДОС` INT NOT NULL
, `ИД\ПНД^ПРД` INT NOT NULL
, CONSTRAINT `ПК\ПНД` PRIMARY KEY (`ИД\ПНД^ДОС`, `ИД\ПНД^ПРД`)
, FOREIGN KEY (`ИД\ПНД^ДОС`) REFERENCES `Досдача` (`ИД`)
, FOREIGN KEY (`ИД\ПНД^ПРД`) REFERENCES `Преподаватель:СОТ` (`ИД\ПРД^СОТ`)
);
INSERT INTO `Преподаватель на досдаче:ДОС*ПРД` VALUES
((SELECT `ИД` FROM `Досдача` WHERE `Регномер` = 1), (SELECT `ИД\ПРД^СОТ` FROM `Преподаватель:СОТ` WHERE `ИД\ПРД^СОТ` = 1)),
((SELECT `ИД` FROM `Досдача` WHERE `Регномер` = 2), (SELECT `ИД\ПРД^СОТ` FROM `Преподаватель:СОТ` WHERE `ИД\ПРД^СОТ` = 2))
;
SELECT "`Преподаватель на досдаче:ДОС*ПРД` Table Content:" FROM `Преподаватель на досдаче:ДОС*ПРД` WHERE 1=0;
SELECT * FROM `Преподаватель на досдаче:ДОС*ПРД`;
DROP TABLE IF EXISTS `Аудитория\КОР`;
CREATE TABLE `Аудитория\КОР`
( `ИД` INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, `ИД_КОР\АУД^СПР` INT NOT NULL
, `Номер` INT NOT NULL
, `Вместимость` INT NOT NULL
, CONSTRAINT `УН\АУД` UNIQUE (`ИД_КОР\АУД^СПР`, `Номер`)
, CONSTRAINT `ВК1\АУД^СПР` FOREIGN KEY (`ИД_КОР\АУД^СПР`) REFERENCES `Справка+` (`ИД`)
);
INSERT INTO `Аудитория\КОР` VALUES
(DEFAULT, (SELECT `ИД` FROM `Справка+` WHERE `Слк` = "КОР" AND `Код` = 1), 1, 50),
(DEFAULT, (SELECT `ИД` FROM `Справка+` WHERE `Слк` = "КОР" AND `Код` = 2), 2, 50)
;
SELECT "`Аудитория\КОР` Table Content:" FROM `Аудитория\КОР` WHERE 1=0;
SELECT * FROM `Аудитория\КОР`;
DROP TABLE IF EXISTS `Сдача группы`;
CREATE TABLE `Сдача группы`
( `ИД` INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, `Регномер ведомости` INT NOT NULL UNIQUE
, `Дата` DATE NOT NULL
, `ИД\СДА^ПРД` INT NOT NULL
, `ИД_ВСД\СДА^СПР` INT NOT NULL
, `ИД\СДА^ГРП` INT NOT NULL
, `ИД\СДА^ПРЕ` INT NOT NULL
, `ИД\СДА^АУД` INT NOT NULL
, FOREIGN KEY (`ИД\СДА^ПРД`) REFERENCES `Преподаватель:СОТ` (`ИД\ПРД^СОТ`)
, FOREIGN KEY (`ИД_ВСД\СДА^СПР`) REFERENCES `Справка+` (`ИД`)
, FOREIGN KEY (`ИД\СДА^ГРП`) REFERENCES `Группа\СПЦ` (`ИД`)
, FOREIGN KEY (`ИД\СДА^ПРЕ`) REFERENCES `Предмет\СПЦ` (`ИД`)
, FOREIGN KEY (`ИД\СДА^АУД`) REFERENCES `Аудитория\КОР` (`ИД`)
);
INSERT INTO `Сдача группы` VALUES
(DEFAULT, 1, "2025-03-10", (SELECT `ИД\ПРД^СОТ` FROM `Преподаватель:СОТ` WHERE `ИД\ПРД^СОТ` = 1), (SELECT `ИД` FROM `Справка+` WHERE `Слк` = "ВСД" AND `Код` = 1), (SELECT `ИД` FROM `Группа\СПЦ` WHERE `ИД_СПЦ\ГРП^СПР` = 1 AND `Номер` = 1), (SELECT `ИД` FROM `Предмет\СПЦ` WHERE `ИД_СПЦ\ПРЕ^СПР` = 1 AND `Код` = 1), (SELECT `ИД` FROM `Аудитория\КОР` WHERE `ИД_КОР\АУД^СПР` = 6 AND `Номер` = 1)),
(DEFAULT, 2, "2025-03-10", (SELECT `ИД\ПРД^СОТ` FROM `Преподаватель:СОТ` WHERE `ИД\ПРД^СОТ` = 2), (SELECT `ИД` FROM `Справка+` WHERE `Слк` = "ВСД" AND `Код` = 2), (SELECT `ИД` FROM `Группа\СПЦ` WHERE `ИД_СПЦ\ГРП^СПР` = 2 AND `Номер` = 2), (SELECT `ИД` FROM `Предмет\СПЦ` WHERE `ИД_СПЦ\ПРЕ^СПР` = 2 AND `Код` = 2), (SELECT `ИД` FROM `Аудитория\КОР` WHERE `ИД_КОР\АУД^СПР` = 7 AND `Номер` = 2))
;
SELECT "`Сдача группы` Table Content:" FROM `Сдача группы` WHERE 1=0;
SELECT * FROM `Сдача группы`;
DROP TABLE IF EXISTS `Сдача студента с группой:СДА*СТД`;
CREATE TABLE `Сдача студента с группой:СДА*СТД`
( `ИД\ССГ^СТД` INT NOT NULL
, `ИД\ССГ^СДА` INT NOT NULL
, `Оценка` INT NOT NULL
, CONSTRAINT `ПК\СГГ` PRIMARY KEY (`ИД\ССГ^СТД`, `ИД\ССГ^СДА`)
, FOREIGN KEY (`ИД\ССГ^СТД`) REFERENCES `Студент%ПЕРС` (`Код`)
, FOREIGN KEY (`ИД\ССГ^СДА`) REFERENCES `Сдача группы` (`Регномер ведомости`)
);
INSERT INTO `Сдача студента с группой:СДА*СТД` VALUES
((SELECT `ИД` FROM `Студент%ПЕРС` WHERE `Код` = 1), (SELECT `ИД` FROM `Сдача группы` WHERE `Регномер ведомости` = 1), 5),
((SELECT `ИД` FROM `Студент%ПЕРС` WHERE `Код` = 2), (SELECT `ИД` FROM `Сдача группы` WHERE `Регномер ведомости` = 2), 5)
;
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 (`ИД\СНД^СТД`, `ИД\СНД^ДОС`)
, FOREIGN KEY (`ИД\СНД^СТД`) REFERENCES `Студент%ПЕРС` (`ИД`)
, FOREIGN KEY (`ИД\СНД^ДОС`) REFERENCES `Досдача` (`ИД`)
, FOREIGN KEY (`ИД\СНД^ГРП`) REFERENCES `Группа\СПЦ` (`ИД`)
);
INSERT INTO `Студент на досдаче:ДОС*СТД` VALUES
((SELECT `ИД` FROM `Студент%ПЕРС` WHERE `Код` = 1), (SELECT `ИД` FROM `Досдача` WHERE `Регномер` = 1), 5, (SELECT `ИД` FROM `Группа\СПЦ` WHERE `ИД_СПЦ\ГРП^СПР` = 1 AND `Номер` = 1)),
((SELECT `ИД` FROM `Студент%ПЕРС` WHERE `Код` = 2), (SELECT `ИД` FROM `Досдача` WHERE `Регномер` = 2), 5, (SELECT `ИД` FROM `Группа\СПЦ` WHERE `ИД_СПЦ\ГРП^СПР` = 2 AND `Номер` = 2))
;
SELECT "`Студент на досдаче:ДОС*СТД` Table Content:" FROM `Студент на досдаче:ДОС*СТД` WHERE 1=0;
SELECT * FROM `Студент на досдаче:ДОС*СТД`;
DROP VIEW IF EXISTS `вирт_Сдача группы`;
CREATE VIEW `вирт_Сдача группы` AS
SELECT
`СДА`.`Регномер ведомости` AS `Регномер ведомости группы`,
`СПР1`.`Код` AS `Код вида сдачи`,
`СПР1`.`Название` AS `Название вида сдачи`,
`СПР2`.`Код` AS `Код специальности`,
`СПР2`.`Название` AS `Название специальности`,
`ПРЕ`.`Код` AS `Код предмета`,
`ПРЕ`.`Название` AS `Название предмета`,
`ГРП`.`Номер` AS `Номер группы`,
`СОТ`.`Код` AS `Код преподавателя`,
`СОТ`.`ФИО` AS `ФИО преподавателя`,
`СПР3`.`Код` AS `Код кафедры преподавателя`,
`СПР3`.`Название` AS `Название кафедры преподавателя`,
`СПР4`.`Код` AS `Код должности преподавателя`,
`СПР4`.`Название` AS `Название должности преподавателя`,
`СДА`.`Дата` AS `Дата сдачи`,
`АУД`.`Номер` AS `Номер аудитории`,
`АУД`.`Вместимость` AS `Вместимость аудитории`,
`СПР5`.`Код` AS `Номер корпуса`,
`СПР5`.`Название` AS `Адрес корпуса`,
`СДА`.`ИД` AS `ИД\Сдача группы`
FROM `Сдача группы` AS `СДА`
LEFT JOIN `Справка+` AS `СПР1` ON `СПР1`.`ИД` = `СДА`.`ИД_ВСД\СДА^СПР`
LEFT JOIN `Предмет\СПЦ` AS `ПРЕ` ON `ПРЕ`.`ИД` = `СДА`.`ИД\СДА^ПРЕ`
LEFT JOIN `Справка+` AS `СПР2` ON `СПР2`.`ИД` = `ПРЕ`.`ИД_СПЦ\ПРЕ^СПР`
LEFT JOIN `Группа\СПЦ` AS `ГРП` ON `ГРП`.`ИД` = `СДА`.`ИД\СДА^ГРП`
LEFT JOIN `Преподаватель:СОТ` AS `ПРД` ON `ПРД`.`ИД\ПРД^СОТ` = `СДА`.`ИД\СДА^ПРД`
LEFT JOIN `Сотрудник%ПЕРС` AS `СОТ` ON `СОТ`.`ИД` = `ПРД`.`ИД\ПРД^СОТ`
LEFT JOIN `Справка+` AS `СПР3` ON `СПР3`.`ИД` = `ПРД`.`ИД_КАФ\ПРД^СПР`
LEFT JOIN `Справка+` AS `СПР4` ON `СПР4`.`ИД` = `СОТ`.`ИД_ДОЛ\ГРП^СПР`
LEFT JOIN `Аудитория\КОР` AS `АУД` ON `АУД`.`ИД` = `СДА`.`ИД\СДА^АУД`
LEFT JOIN `Справка+` AS `СПР5` ON `СПР5`.`ИД` = `АУД`.`ИД_КОР\АУД^СПР`
;
SELECT * FROM `вирт_Сдача группы`;
DROP PROCEDURE IF EXISTS `проц_Студент в группе`;
CREATE PROCEDURE `проц_Студент в группе`
(IN `@ИД\Сдача группы` INT)
SELECT
`СТД`.`Код` AS `Код студента`,
`СТД`.`ФИО` AS `ФИО студента`,
`ССГ`.`Оценка` AS `Оценка`
FROM `Студент%ПЕРС` AS `СТД`
LEFT JOIN `Сдача студента с группой:СДА*СТД` AS `ССГ` ON `ССГ`.`ИД\ССГ^СТД` = `СТД`.`ИД`
WHERE `ССГ`.`ИД\ССГ^СДА` = `@ИД\Сдача группы`
;
CALL `проц_Студент в группе` (1);
CALL `проц_Студент в группе` (2);
DROP VIEW IF EXISTS `вирт_Приказ о продлении сессии%Студент в приказе`;
CREATE VIEW `вирт_Приказ о продлении сессии%Студент в приказе` AS
SELECT
`ПРИ`.`Регномер` AS `Регномер приказа`,
`ПРИ`.`Дата` AS `Дата приказа`,
`СОТ1`.`Код` AS `Код руководителя`,
`СОТ1`.`ФИО` AS `ФИО руководителя`,
`СПР1`.`Код` AS `Код должности руководителя`,
`СПР1`.`Название` AS `Название должности руководителя`,
`СТД`.`Код` AS `Код студента`,
`СТД`.`ФИО` AS `ФИО студента`,
`ГРП`.`Номер` AS `Номер группы студента`,
`СПР2`.`Код` AS `Код специальности`,
`СПР3`.`Код` AS `Код вида основания`,
`СПР3`.`Название` AS `Название вида основания`,
`СВП`.`Содержание основания` AS `Содержание основания`,
`СВП`.`Сроки продления` AS `Сроки продления`,
`СОТ2`.`Код` AS `Код сотрудника деканата`,
`СОТ2`.`ФИО` AS `ФИО сотрудника деканата`,
`СПР4`.`Код` AS `Код должности сотрудника`,
`СПР4`.`Название` AS `Название должности сотрудника`
FROM `Приказ о продлении сессии` AS `ПРИ`
LEFT JOIN `Руководитель:СОТ` AS `РУК` ON `РУК`.`ИД\РУК^СОТ` = `ПРИ`.`ИД\ПРИ^РУК`
LEFT JOIN `Сотрудник%ПЕРС` AS `СОТ1` ON `СОТ1`.`ИД` = `РУК`.`ИД\РУК^СОТ`
LEFT JOIN `Справка+` AS `СПР1` ON `СПР1`.`ИД` = `СОТ1`.`ИД_ДОЛ\ГРП^СПР`
LEFT JOIN `Студент в приказе:ПРИ*СТД` AS `СВП` ON `СВП`.`ИД\СВП^ПРИ` = `ПРИ`.`ИД`
LEFT JOIN `Студент%ПЕРС` AS `СТД` ON `СТД`.`ИД` = `СВП`.`ИД\СВП^СТД`
LEFT JOIN `Группа\СПЦ` AS `ГРП` ON `ГРП`.`ИД` = `СТД`.`ИД\СТД^ГРП`
LEFT JOIN `Справка+` AS `СПР2` ON `СПР2`.`ИД` = `ГРП`.`ИД_СПЦ\ГРП^СПР`
LEFT JOIN `Справка+` AS `СПР3` ON `СПР3`.`ИД` = `СВП`.`ИД_ВОС\СВП^СПР`
LEFT JOIN `Сотрудник деканата:СОТ` AS `ДЕК` ON `ДЕК`.`ИД\ДЕК^СОТ` = `СВП`.`ИД\СВП^ДЕК`
LEFT JOIN `Сотрудник%ПЕРС` AS `СОТ2` ON `СОТ2`.`ИД` = `ДЕК`.`ИД\ДЕК^СОТ`
LEFT JOIN `Справка+` AS `СПР4` ON `СПР4`.`ИД` = `СОТ2`.`ИД_ДОЛ\ГРП^СПР`
;
SELECT * FROM `вирт_Приказ о продлении сессии%Студент в приказе`;
DROP VIEW IF EXISTS `вирт_Досдача_студенты`;
CREATE VIEW `вирт_Досдача_студенты` AS
SELECT
`ДОС`.`Регномер` AS `Регномер досдачи`,
`ДОС`.`Дата` AS `Дата досдачи`,
`ПРЕ`.`Код` AS `Код предмета`,
`ПРЕ`.`Название` AS `Название предмета`,
`СПР1`.`Код` AS `Код специальности`,
`СПР1`.`Название` AS `Название специальности`,
`СОТ`.`Код` AS `Код сотрудника деканата`,
`СОТ`.`ФИО` AS `ФИО сотрудника деканата`,
`СПР2`.`Код` AS `Код должности сотрудника`,
`СПР2`.`Название` AS `Название должности сотрудника`,
COUNT(*) AS `Число студентов на досдаче`
FROM `Студент на досдаче:ДОС*СТД` AS `СНД`
LEFT JOIN `Досдача` AS `ДОС` ON `ДОС`.`ИД` = `СНД`.`ИД\СНД^ДОС`
LEFT JOIN `Предмет\СПЦ` AS `ПРЕ` ON `ПРЕ`.`ИД` = `ДОС`.`ИД\ДОС^ПРЕ`
LEFT JOIN `Справка+` AS `СПР1` ON `СПР1`.`ИД` = `ПРЕ`.`ИД_СПЦ\ПРЕ^СПР`
LEFT JOIN `Сотрудник деканата:СОТ` AS `ДЕК` ON `ДЕК`.`ИД\ДЕК^СОТ` = `ДОС`.`ИД\ДОС^ДЕК`
LEFT JOIN `Сотрудник%ПЕРС` AS `СОТ` ON `СОТ`.`ИД` = `ДЕК`.`ИД\ДЕК^СОТ`
LEFT JOIN `Справка+` AS `СПР2` ON `СПР2`.`ИД` = `СОТ`.`ИД_ДОЛ\ГРП^СПР`
GROUP BY `СНД`.`ИД\СНД^ДОС`, `СНД`.`ИД\СНД^СТД`
;
SELECT * FROM `вирт_Досдача_студенты`;