DROP TABLE IF EXISTS `Справка+`;
CREATE TABLE `Справка+`
( `Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY
, `Слк` CHAR (4) NOT NULL
, `Код` CHAR (3) NOT NULL
, `Название` VARCHAR (50) NOT NULL
, `Содержание` VARCHAR (100) NULL
, `Ид_родитель\СПР^СПР` INT NULL REFERENCES `Справка+` (`Ид`)
, CONSTRAINT `Ун1\СПР` UNIQUE (`Слк`, `Код`)
);
INSERT INTO `Справка+` VALUES
(NULL, "УЗВ", "доц", "доцент", "доцент кафедры", NULL),
(NULL, "УЗВ", "про", "профессор", "профессор кафедры", NULL),
(NULL, "УСТ", "кнн", "кандидат наук", "ученая степень кандидата наук", NULL),
(NULL, "УСТ", "док", "доктор наук", "ученая степень доктора наук", NULL),
(NULL, "ДОЛ", "пдс", "председатель диссертационного совета", "руководитель заседания диссертационного совета", NULL),
(NULL, "ДОЛ", "усд", "ученый секретарь", "секретарь диссертационного совета", NULL),
(NULL, "СПЕЦ", "упр", "управление в социальных и экономических системах", "специальность 01.02.03", NULL),
(NULL, "СПЕЦ", "эко", "экология", "специальность 03.02.01", NULL),
(NULL, "ОРГ", "мгу", "МГУ", "Московский государственный университет имени М.В. Ломоносова", NULL),
(NULL, "ОРГ", "спб", "СПбГУ", "Санкт-Петербургский государственный университет", NULL)
;
SELECT "`Справка+` Table Content:" FROM `Справка+` WHERE 1=0;
SELECT * FROM `Справка+`;
DROP TABLE IF EXISTS `Эксперт%ПЕРС`;
CREATE TABLE `Эксперт%ПЕРС`
( `Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY
, `Код` CHAR (10) NOT NULL UNIQUE
, `Паспорт` CHAR (10) NOT NULL UNIQUE
, `ФИО` VARCHAR (50) NOT NULL
, `Ид_УЗВ\ЭКС^СПР` INT NOT NULL REFERENCES `Справка+` (`Ид`)
, `Ид_УСТ\ЭКС^СПР` INT NOT NULL REFERENCES `Справка+` (`Ид`)
, `Ид_ДОЛ\ЭКС^СПР` INT NOT NULL REFERENCES `Справка+` (`Ид`)
);
INSERT INTO `Эксперт%ПЕРС` SET `Ид` = NULL, `Код` = "001", `Паспорт` = "123456", `ФИО` = "Иванов И. И.",
`Ид_УЗВ\ЭКС^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "УЗВ" AND `Код` = "доц"),
`Ид_УСТ\ЭКС^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "УСТ" AND `Код` = "док"),
`Ид_ДОЛ\ЭКС^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДОЛ" AND `Код` = "пдс");
INSERT INTO `Эксперт%ПЕРС` SET `Ид` = NULL, `Код` = "002", `Паспорт` = "234567", `ФИО` = "Сидоров С. С.",
`Ид_УЗВ\ЭКС^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "УЗВ" AND `Код` = "про"),
`Ид_УСТ\ЭКС^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "УСТ" AND `Код` = "кнн"),
`Ид_ДОЛ\ЭКС^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДОЛ" AND `Код` = "усд");
INSERT INTO `Эксперт%ПЕРС` SET `Ид` = NULL, `Код` = "003", `Паспорт` = "345678", `ФИО` = "Смирнов С. С.",
`Ид_УЗВ\ЭКС^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "УЗВ" AND `Код` = "доц"),
`Ид_УСТ\ЭКС^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "УСТ" AND `Код` = "кнн"),
`Ид_ДОЛ\ЭКС^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДОЛ" AND `Код` = "пдс");
INSERT INTO `Эксперт%ПЕРС` SET `Ид` = NULL, `Код` = "004", `Паспорт` = "456789", `ФИО` = "Козлов К. К.",
`Ид_УЗВ\ЭКС^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "УЗВ" AND `Код` = "про"),
`Ид_УСТ\ЭКС^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "УСТ" AND `Код` = "док"),
`Ид_ДОЛ\ЭКС^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДОЛ" AND `Код` = "усд");
SELECT "`Эксперт%ПЕРС` Table Content:" FROM `Эксперт%ПЕРС` WHERE 1=0;
SELECT * FROM `Эксперт%ПЕРС`;
DROP TABLE IF EXISTS `Диссертант%ПЕРС`;
CREATE TABLE `Диссертант%ПЕРС`
(
`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Код диссертанта` CHAR (10) NOT NULL UNIQUE,
`Паспорт` CHAR (10) NOT NULL UNIQUE,
`ФИО` VARCHAR (50) NOT NULL,
`Тема диссертации` VARCHAR (50) NOT NULL,
`Ид_СПЕЦ_ОСН\ДСР^СПР` INT NOT NULL REFERENCES `Справка+` (`Ид`), -- Основная специальность
`Ид_СПЕЦ_ДОП\ДСР^СПР` INT NULL REFERENCES `Справка+` (`Ид`), -- Дополнительная специальность (может быть NULL)
`Ид_ОРГ\ДСР^СПР` INT NOT NULL REFERENCES `Справка+` (`Ид`)
);
INSERT INTO `Диссертант%ПЕРС` SET `Ид` = NULL, `Код диссертанта` = "001", `Паспорт` = "567890", `ФИО` = "Кузнецов К. К.", `Тема диссертации` = "Исследование методов управления",
`Ид_СПЕЦ_ОСН\ДСР^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "СПЕЦ" AND `Код` = "упр"),
`Ид_СПЕЦ_ДОП\ДСР^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = NULL AND `Код` = NULL),
`Ид_ОРГ\ДСР^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ОРГ" AND `Код` = "мгу");
INSERT INTO `Диссертант%ПЕРС` SET `Ид` = NULL, `Код диссертанта` = "002", `Паспорт` = "678901", `ФИО` = "Петров П. П.", `Тема диссертации` = "Экологические проблемы",
`Ид_СПЕЦ_ОСН\ДСР^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "СПЕЦ" AND `Код` = "эко"),
`Ид_СПЕЦ_ДОП\ДСР^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "СПЕЦ" AND `Код` = "упр"),
`Ид_ОРГ\ДСР^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ОРГ" AND `Код` = "спб");
SELECT "`Диссертант%ПЕРС` Table Content:" FROM `Диссертант%ПЕРС` WHERE 1=0;
SELECT * FROM `Диссертант%ПЕРС`;
DROP TABLE IF EXISTS `Эксперт внутренний:ЭКС`;
CREATE TABLE `Эксперт внутренний:ЭКС`(
`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Код члена совета` INT NOT NULL,
`Ид\ЭВНТ^ЭКС` INT NOT NULL REFERENCES `Эксперт%ПЕРС` (`Ид`),
CONSTRAINT `Ун1\ЭВНТ` UNIQUE (`Код члена совета`, `Ид\ЭВНТ^ЭКС`)
);
INSERT INTO `Эксперт внутренний:ЭКС` SET `Ид` = NULL, `Код члена совета` = 1,
`Ид\ЭВНТ^ЭКС` = (SELECT `Ид` FROM `Эксперт%ПЕРС` WHERE `Код` = "001"); -- 1, Код\ЭВНТ^ЭКС: 001 (Иванов И. И.)
INSERT INTO `Эксперт внутренний:ЭКС` SET `Ид` = NULL, `Код члена совета` = 2,
`Ид\ЭВНТ^ЭКС` = (SELECT `Ид` FROM `Эксперт%ПЕРС` WHERE `Код` = "002"); -- 2, Код\ЭВНТ^ЭКС: 002 (Сидоров С. С.)
SELECT "`Эксперт внутренний:ЭКС` Table Content:" FROM `Эксперт внутренний:ЭКС` WHERE 1=0;
SELECT * FROM `Эксперт внутренний:ЭКС`;
DROP TABLE IF EXISTS `Эксперт внешний:ЭКС`;
CREATE TABLE `Эксперт внешний:ЭКС`(
`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Код персоны` INT NOT NULL,
`Ид\ЭВНШ^ЭКС` INT NOT NULL REFERENCES `Эксперт%ПЕРС` (`Ид`),
`Ид_ОРГ\ЭВНШ^СПР` INT NOT NULL REFERENCES `Справка+` (`Ид`),
CONSTRAINT `Ун1\ЭВНШ` UNIQUE (`Код персоны`, `Ид\ЭВНШ^ЭКС`)
);
INSERT INTO `Эксперт внешний:ЭКС` SET `Ид` = NULL, `Код персоны` = 1,
`Ид\ЭВНШ^ЭКС` = (SELECT `Ид` FROM `Эксперт%ПЕРС` WHERE `Код` = "003"),
`Ид_ОРГ\ЭВНШ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ОРГ" AND `Код` = "мгу");
INSERT INTO `Эксперт внешний:ЭКС` SET `Ид` = NULL, `Код персоны` = 2,
`Ид\ЭВНШ^ЭКС` = (SELECT `Ид` FROM `Эксперт%ПЕРС` WHERE `Код` = "004"),
`Ид_ОРГ\ЭВНШ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ОРГ" AND `Код` = "спб");
SELECT "`Эксперт внешний:ЭКС` Table Content:" FROM `Эксперт внешний:ЭКС` WHERE 1=0;
SELECT * FROM `Эксперт внешний:ЭКС`;
DROP TABLE IF EXISTS `Диссовет`;
CREATE TABLE `Диссовет`
( `Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Код диссовета` CHAR (10) NOT NULL UNIQUE,
`Дата открытия диссовета` DATE NOT NULL
);
INSERT INTO `Диссовет` SET `Ид` = NULL, `Код диссовета` = "001", `Дата открытия диссовета` = "2024-01-15";
INSERT INTO `Диссовет` SET `Ид` = NULL, `Код диссовета` = "002", `Дата открытия диссовета` = "2024-03-20";
SELECT "`Диссовет` Table Content:" FROM `Диссовет` WHERE 1=0;
SELECT * FROM `Диссовет`;
DROP TABLE IF EXISTS `Заседание по защите диссертации:ДСВ`;
CREATE TABLE `Заседание по защите диссертации:ДСВ`(
`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Ид\ЗАС^ДСВ` INT NOT NULL REFERENCES `Диссовет` (`Ид`),
`Регномер протокола` CHAR (10) NOT NULL,
`Дата заседания` DATE NOT NULL,
`За` INT NULL DEFAULT NULL,
`Против` INT NULL DEFAULT NULL,
`Недействительных` INT NULL DEFAULT NULL,
`Ид\ЗАС^ДСР` INT NOT NULL REFERENCES `Диссертант%ПЕРС` (`Ид`),
CONSTRAINT `Ун1\ЗАС` UNIQUE (`Ид\ЗАС^ДСВ`, `Регномер протокола`)
);
INSERT INTO `Заседание по защите диссертации:ДСВ` SET `Ид` = NULL,
`Ид\ЗАС^ДСВ` = (SELECT `Ид` FROM `Диссовет` WHERE `Код диссовета` = "001"),
`Регномер протокола` = "001", `Дата заседания` = "2025-02-10", `За` = 10, `Против` = 2, `Недействительных` = 1,
`Ид\ЗАС^ДСР` = (SELECT `Ид` FROM `Диссертант%ПЕРС` WHERE `Код диссертанта` = "001");
INSERT INTO `Заседание по защите диссертации:ДСВ` SET `Ид` = NULL,
`Ид\ЗАС^ДСВ` = (SELECT `Ид` FROM `Диссовет` WHERE `Код диссовета` = "002"),
`Регномер протокола` = "002", `Дата заседания` = "2025-04-15", `За` = 8, `Против` = 1, `Недействительных` = 0,
`Ид\ЗАС^ДСР` = (SELECT `Ид` FROM `Диссертант%ПЕРС` WHERE `Код диссертанта` = "002");
SELECT "`Заседание по защите диссертации:ДСВ` Table Content:" FROM `Заседание по защите диссертации:ДСВ` WHERE 1=0;
SELECT * FROM `Заседание по защите диссертации:ДСВ`;
DROP TABLE IF EXISTS `Оппонент: ЗАС*ЭВНШ`;
CREATE TABLE `Оппонент: ЗАС*ЭВНШ`(
`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Ид\ОПП^ЗАС` INT NOT NULL REFERENCES `Заседание по защите диссертации:ДСВ` (`Ид`),
`Ид\ОПП^ЭВНШ` INT NOT NULL REFERENCES `Эксперт внешний:ЭКС` (`Ид`),
`Присутствовал / отсутствовал` BOOL NULL DEFAULT NULL,
CONSTRAINT `Ун1\ОПП` UNIQUE (`Ид\ОПП^ЗАС`, `Ид\ОПП^ЭВНШ`)
);
INSERT INTO `Оппонент: ЗАС*ЭВНШ` SET `Ид` = NULL,
`Ид\ОПП^ЗАС` = (SELECT `Ид` FROM `Заседание по защите диссертации:ДСВ` WHERE `Ид\ЗАС^ДСВ` = 1 AND `Регномер протокола` = "001"),
`Ид\ОПП^ЭВНШ` = (SELECT `Ид` FROM `Эксперт внешний:ЭКС` WHERE `Код персоны` = 1 AND `Ид\ЭВНШ^ЭКС` = 3),
`Присутствовал / отсутствовал` = TRUE;
INSERT INTO `Оппонент: ЗАС*ЭВНШ` SET `Ид` = NULL,
`Ид\ОПП^ЗАС` = (SELECT `Ид` FROM `Заседание по защите диссертации:ДСВ` WHERE `Ид\ЗАС^ДСВ` = 2 AND `Регномер протокола` = "002"),
`Ид\ОПП^ЭВНШ` = (SELECT `Ид` FROM `Эксперт внешний:ЭКС` WHERE `Код персоны` = 2 AND `Ид\ЭВНШ^ЭКС` = 4),
`Присутствовал / отсутствовал` = FALSE;
SELECT "`Оппонент: ЗАС*ЭВНШ` Table Content:" FROM `Оппонент: ЗАС*ЭВНШ` WHERE 1=0;
SELECT * FROM `Оппонент: ЗАС*ЭВНШ`;
DROP TABLE IF EXISTS `Член совета: ДСВ*ЭВНТ`;
CREATE TABLE `Член совета: ДСВ*ЭВНТ`(
`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Ид\ЧЛС^ДСВ` INT NOT NULL REFERENCES `Диссовет` (`Ид`),
`Ид\ЧЛС^ЭВНТ` INT NOT NULL REFERENCES `Эксперт внутренний:ЭКС` (`Ид`),
`Ид_СПЕЦ\ЧЛС^СПР` INT NOT NULL REFERENCES `Справка+` (`Ид`),
CONSTRAINT `Ун1\ЧЛС` UNIQUE (`Ид\ЧЛС^ДСВ`, `Ид\ЧЛС^ЭВНТ`)
);
INSERT INTO `Член совета: ДСВ*ЭВНТ` SET `Ид` = NULL,
`Ид\ЧЛС^ДСВ` = (SELECT `Ид` FROM `Диссовет` WHERE `Код диссовета` = "001"),
`Ид\ЧЛС^ЭВНТ` = (SELECT `Ид` FROM `Эксперт внутренний:ЭКС` WHERE `Код члена совета` = 1 AND `Ид\ЭВНТ^ЭКС` = 1),
`Ид_СПЕЦ\ЧЛС^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "СПЕЦ" AND `Код` = "упр");
INSERT INTO `Член совета: ДСВ*ЭВНТ` SET `Ид` = NULL,
`Ид\ЧЛС^ДСВ` = (SELECT `Ид` FROM `Диссовет` WHERE `Код диссовета` = "002"),
`Ид\ЧЛС^ЭВНТ` = (SELECT `Ид` FROM `Эксперт внутренний:ЭКС` WHERE `Код члена совета` = 2 AND `Ид\ЭВНТ^ЭКС` = 2),
`Ид_СПЕЦ\ЧЛС^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "СПЕЦ" AND `Код` = "эко");
SELECT "`Член совета: ДСВ*ЭВНТ` Table Content:" FROM `Член совета: ДСВ*ЭВНТ` WHERE 1=0;
SELECT * FROM `Член совета: ДСВ*ЭВНТ`;
DROP TABLE IF EXISTS `Член счетной комиссии: ЗАС*ЧЛС`;
CREATE TABLE `Член счетной комиссии: ЗАС*ЧЛС`(
`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Ид\ЧСК^ЗАС` INT NOT NULL REFERENCES `Заседание по защите диссертации:ДСВ` (`Ид`),
`Ид\ЧСК^ЧЛС` INT NOT NULL REFERENCES `Член совета: ДСВ*ЭВНТ` (`Ид`),
CONSTRAINT `Ун1\ЧЛС` UNIQUE (`Ид\ЧСК^ЗАС`, `Ид\ЧСК^ЧЛС`)
);
INSERT INTO `Член счетной комиссии: ЗАС*ЧЛС` SET `Ид` = NULL,
`Ид\ЧСК^ЗАС` = (SELECT `Ид` FROM `Заседание по защите диссертации:ДСВ` WHERE `Ид\ЗАС^ДСВ` = 1 AND `Регномер протокола` = "001"),
`Ид\ЧСК^ЧЛС` = (SELECT `Ид` FROM `Член совета: ДСВ*ЭВНТ` WHERE `Ид\ЧЛС^ДСВ` = 1 AND `Ид\ЧЛС^ЭВНТ` = 1);
SELECT "`Член счетной комиссии: ЗАС*ЧЛС` Table Content:" FROM `Член счетной комиссии: ЗАС*ЧЛС` WHERE 1=0;
SELECT * FROM `Член счетной комиссии: ЗАС*ЧЛС`;
DROP TABLE IF EXISTS `Получил бюллетень: ЗАС*ЧЛС`;
CREATE TABLE `Получил бюллетень: ЗАС*ЧЛС`(
`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Ид\ПЛБ^ЗАС` INT NOT NULL REFERENCES `Заседание по защите диссертации:ДСВ` (`Ид`),
`Ид\ПЛБ^ЧЛС` INT NOT NULL REFERENCES `Член совета: ДСВ*ЭВНТ` (`Ид`),
CONSTRAINT `Ун1\ПЛБ` UNIQUE (`Ид\ПЛБ^ЗАС`, `Ид\ПЛБ^ЧЛС`)
);
INSERT INTO `Получил бюллетень: ЗАС*ЧЛС` SET `Ид` = NULL,
`Ид\ПЛБ^ЗАС` = (SELECT `Ид` FROM `Заседание по защите диссертации:ДСВ` WHERE `Ид\ЗАС^ДСВ` = 1 AND `Регномер протокола` = "001"),
`Ид\ПЛБ^ЧЛС` = (SELECT `Ид` FROM `Член совета: ДСВ*ЭВНТ` WHERE `Ид\ЧЛС^ДСВ` = 1 AND `Ид\ЧЛС^ЭВНТ` = 1);
SELECT "`Получил бюллетень: ЗАС*ЧЛС` Table Content:" FROM `Получил бюллетень: ЗАС*ЧЛС` WHERE 1=0;
SELECT * FROM `Получил бюллетень: ЗАС*ЧЛС`;
DROP TABLE IF EXISTS `Присутствовал: ЗАС*ЧЛС`;
CREATE TABLE `Присутствовал: ЗАС*ЧЛС`(
`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Ид\ПРС^ЗАС` INT NOT NULL REFERENCES `Заседание по защите диссертации:ДСВ` (`Ид`),
`Ид\ПРС^ЧЛС` INT NOT NULL REFERENCES `Член совета: ДСВ*ЭВНТ` (`Ид`),
`Присутствовал / отсутствовал` BOOL NULL DEFAULT NULL,
CONSTRAINT `Ун1\ПРС` UNIQUE (`Ид\ПРС^ЗАС`, `Ид\ПРС^ЧЛС`)
);
INSERT INTO `Присутствовал: ЗАС*ЧЛС` SET `Ид` = NULL,
`Ид\ПРС^ЗАС` = (SELECT `Ид` FROM `Заседание по защите диссертации:ДСВ` WHERE `Ид\ЗАС^ДСВ` = 1 AND `Регномер протокола` = "001"),
`Ид\ПРС^ЧЛС` = (SELECT `Ид` FROM `Член совета: ДСВ*ЭВНТ` WHERE `Ид\ЧЛС^ДСВ` = 1 AND `Ид\ЧЛС^ЭВНТ` = 1),
`Присутствовал / отсутствовал` = TRUE;
INSERT INTO `Присутствовал: ЗАС*ЧЛС` SET `Ид` = NULL,
`Ид\ПРС^ЗАС` = (SELECT `Ид` FROM `Заседание по защите диссертации:ДСВ` WHERE `Ид\ЗАС^ДСВ` = 2 AND `Регномер протокола` = "002"),
`Ид\ПРС^ЧЛС` = (SELECT `Ид` FROM `Член совета: ДСВ*ЭВНТ` WHERE `Ид\ЧЛС^ДСВ` = 2 AND `Ид\ЧЛС^ЭВНТ` = 2),
`Присутствовал / отсутствовал` = TRUE;
SELECT "`Присутствовал: ЗАС*ЧЛС` Table Content:" FROM `Присутствовал: ЗАС*ЧЛС` WHERE 1=0;
SELECT * FROM `Присутствовал: ЗАС*ЧЛС`;
DROP TABLE IF EXISTS `Серия вопросов:ЗАС`;
CREATE TABLE `Серия вопросов:ЗАС`(
`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Ид\СРВ^ЗАС` INT NOT NULL REFERENCES `Заседание по защите диссертации:ДСВ` (`Ид`),
`Нпп серии` INT NOT NULL,
`Ид\СРВ^ЧЛС` INT NOT NULL REFERENCES `Член совета: ДСВ*ЭВНТ` (`Ид`),
CONSTRAINT `Ун1\ПРС` UNIQUE (`Ид\СРВ^ЗАС`, `Нпп серии`)
);
INSERT INTO `Серия вопросов:ЗАС` SET `Ид` = NULL,
`Ид\СРВ^ЗАС` = (SELECT `Ид` FROM `Заседание по защите диссертации:ДСВ` WHERE `Ид\ЗАС^ДСВ` = 1 AND `Регномер протокола` = "001"),
`Нпп серии` = 1,
`Ид\СРВ^ЧЛС` = (SELECT `Ид` FROM `Член совета: ДСВ*ЭВНТ` WHERE `Ид\ЧЛС^ДСВ` = 1 AND `Ид\ЧЛС^ЭВНТ` = 1);
INSERT INTO `Серия вопросов:ЗАС` SET `Ид` = NULL,
`Ид\СРВ^ЗАС` = (SELECT `Ид` FROM `Заседание по защите диссертации:ДСВ` WHERE `Ид\ЗАС^ДСВ` = 2 AND `Регномер протокола` = "002"),
`Нпп серии` = 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 AUTO_INCREMENT PRIMARY KEY,
`Ид\ВПОТ^СРВ` INT NOT NULL REFERENCES `Заседание по защите диссертации:ДСВ` (`Ид`),
`Нпп вопроса в серии` INT NOT NULL,
`Содержание вопроса` CHAR (100) NOT NULL,
`Содержание ответа` CHAR (100) NULL,
CONSTRAINT `Ун1\ПРС` UNIQUE (`Ид\ВПОТ^СРВ`, `Нпп вопроса в серии`)
);
INSERT INTO `Вопрос-ответ:СРВ` SET `Ид` = NULL,
`Ид\ВПОТ^СРВ` = (SELECT `Ид` FROM `Серия вопросов:ЗАС` WHERE `Ид\СРВ^ЗАС` = 1 AND `Нпп серии` = 1),
`Нпп вопроса в серии` = 1, `Содержание вопроса` = "Вопрос 1", `Содержание ответа` = "Ответил";
INSERT INTO `Вопрос-ответ:СРВ` SET `Ид` = NULL,
`Ид\ВПОТ^СРВ` = (SELECT `Ид` FROM `Серия вопросов:ЗАС` WHERE `Ид\СРВ^ЗАС` = 2 AND `Нпп серии` = 2),
`Нпп вопроса в серии` = 1, `Содержание вопроса` = "Вопрос 2", `Содержание ответа` = "Промолчал";
SELECT "`Вопрос-ответ:СРВ` Table Content:" FROM `Вопрос-ответ:СРВ` WHERE 1=0;
SELECT * FROM `Вопрос-ответ:СРВ`;
SELECT '-------------------------' AS text;
SELECT '-------------------------' AS text;
DROP VIEW IF EXISTS `вирт_Заседание по защите диссертации`;
CREATE VIEW `вирт_Заседание по защите диссертации` AS
SELECT
`ДСВ`.`Код диссовета` AS `Код диссовета`,
`ДСВ`.`Дата открытия диссовета` AS `Дата открытия диссовета`,
`ЗАС`.`Регномер протокола` AS `Регномер протокола`,
`ЗАС`.`Дата заседания` AS `Дата заседания`,
`ДСР`.`Код диссертанта` AS `Код диссертанта`,
`ДСР`.`ФИО` AS `ФИО диссертанта`,
`ДСР`.`Тема диссертации` AS `Тема диссертации`,
`СПР1`.`Код` AS `Код основной специальности`,
`СПР1`.`Название` AS `Название основной специальности`,
`СПР2`.`Код` AS `Код дополнительной специальности`,
`СПР2`.`Название` AS `Название дополнительной специальности`,
`СПР3`.`Код` AS `Код организации`,
`СПР3`.`Название` AS `Название организации`,
`ЗАС`.`Ид` AS `Ид\Заседание по защите диссертации`
FROM `Заседание по защите диссертации:ДСВ` AS `ЗАС`
INNER JOIN `Диссовет` AS `ДСВ` ON `ДСВ`.`Ид` = `ЗАС`.`Ид\ЗАС^ДСВ`
INNER JOIN `Диссертант%ПЕРС` AS `ДСР` ON `ДСР`.`Ид` = `ЗАС`.`Ид\ЗАС^ДСР`
INNER JOIN `Справка+` AS `СПР1` ON `СПР1`.`Ид` = `ДСР`.`Ид_СПЕЦ_ОСН\ДСР^СПР`
LEFT JOIN `Справка+` AS `СПР2` ON `СПР2`.`Ид` = `ДСР`.`Ид_СПЕЦ_ДОП\ДСР^СПР`
INNER JOIN `Справка+` AS `СПР3` ON `СПР3`.`Ид` = `ДСР`.`Ид_ОРГ\ДСР^СПР`
WHERE `СПР1`.`Слк` = "СПЕЦ"
AND (`СПР2`.`Слк` = "СПЕЦ" OR `СПР2`.`Слк` IS NULL)
AND `СПР3`.`Слк` = "ОРГ"
;
SELECT * FROM `вирт_Заседание по защите диссертации`;
DROP PROCEDURE IF EXISTS `проц_Присутствовал`;
CREATE PROCEDURE `проц_Присутствовал`
(IN `Вх:Ид\Заседание по защите диссертации` INT)
SELECT
`ЭВНТ`.`Код члена совета` AS `Код члена совета`,
`ЭКС`.`ФИО` AS `ФИО члена совета`,
`СПР2`.`Код` AS `Код ученой степени`,
`СПР2`.`Название` AS `Название ученой степени`,
`СПР3`.`Код` AS `Код ученого звания`,
`СПР3`.`Название` AS `Название ученого звания`,
`СПР1`.`Код` AS `Код специальности`,
`СПР1`.`Название` AS `Название специальности`,
`ПРС`.`Присутствовал / отсутствовал` AS `Присутствовал / отсутствовал`
FROM `Присутствовал: ЗАС*ЧЛС` AS `ПРС`
INNER JOIN `Член совета: ДСВ*ЭВНТ` AS `ЧЛС` ON `ЧЛС`.`Ид` = `ПРС`.`Ид\ПРС^ЧЛС`
INNER JOIN `Справка+` AS `СПР1` ON `СПР1`.`Ид` = `ЧЛС`.`Ид_СПЕЦ\ЧЛС^СПР`
INNER JOIN `Диссовет` AS `ДСВ` ON `ДСВ`.`Ид` = `ЧЛС`.`Ид\ЧЛС^ДСВ`
INNER JOIN `Эксперт внутренний:ЭКС` AS `ЭВНТ` ON `ЭВНТ`.`Ид` = `ЧЛС`.`Ид\ЧЛС^ЭВНТ`
INNER JOIN `Эксперт%ПЕРС` AS `ЭКС` ON `ЭКС`.`Ид` = `ЭВНТ`.`Ид\ЭВНТ^ЭКС`
INNER JOIN `Справка+` AS `СПР2` ON `СПР2`.`Ид` = `ЭКС`.`Ид_УСТ\ЭКС^СПР`
INNER JOIN `Справка+` AS `СПР3` ON `СПР3`.`Ид` = `ЭКС`.`Ид_УЗВ\ЭКС^СПР`
WHERE `ПРС`.`Ид\ПРС^ЗАС` = `Вх:Ид\Заседание по защите диссертации`
AND `СПР1`.`Слк` = "СПЕЦ"
AND `СПР2`.`Слк` = "УСТ"
AND `СПР3`.`Слк` = "УЗВ"
;
CALL `проц_Присутствовал` (1);
CALL `проц_Присутствовал` (2);
DROP VIEW IF EXISTS `вирт_Серия вопросов%Заседание по защите диссертации`;
CREATE VIEW `вирт_Серия вопросов%Заседание по защите диссертации` AS
SELECT
`СРВ`.`Нпп серии` AS `Нпп серии`,
`ЭВНТ`.`Код члена совета` AS `Код члена совета`,
`ЭКС`.`ФИО` AS `ФИО члена совета`,
`ДСВ`.`Код диссовета` AS `Код диссовета`,
`ЗАС`.`Регномер протокола` AS `Регномер протокола`,
`ЗАС`.`Дата заседания` AS `Дата заседания`,
`ДСР`.`Код диссертанта` AS `Код диссертанта`
FROM `Серия вопросов:ЗАС` AS `СРВ`
INNER JOIN `Член совета: ДСВ*ЭВНТ` AS `ЧЛС` ON `ЧЛС`.`Ид` = `СРВ`.`Ид\СРВ^ЧЛС`
INNER JOIN `Эксперт внутренний:ЭКС` AS `ЭВНТ` ON `ЭВНТ`.`Ид` = `ЧЛС`.`Ид\ЧЛС^ЭВНТ`
INNER JOIN `Эксперт%ПЕРС` AS `ЭКС` ON `ЭКС`.`Ид` = `ЭВНТ`.`Ид\ЭВНТ^ЭКС`
INNER JOIN `Заседание по защите диссертации:ДСВ` AS `ЗАС` ON `ЗАС`.`Ид` = `СРВ`.`Ид\СРВ^ЗАС`
INNER JOIN `Диссертант%ПЕРС` AS `ДСР` ON `ДСР`.`Ид` = `ЗАС`.`Ид\ЗАС^ДСР`
INNER JOIN `Диссовет` AS `ДСВ` ON `ДСВ`.`Ид` = `ЗАС`.`Ид\ЗАС^ДСВ`
;
SELECT * FROM `вирт_Серия вопросов%Заседание по защите диссертации`;
DROP VIEW IF EXISTS `вирт_Заседание по защите диссертации_члены совета`;
CREATE VIEW `вирт_Заседание по защите диссертации_члены совета` AS
SELECT
`ДСВ`.`Код диссовета` AS `Код диссовета`,
`ЗАС`.`Заседание по защите диссертации:ДСВ` AS `Регномер протокола`,
`ЗАС`.`Дата заседания` AS `Дата заседания`,
`ДСР`.`Код диссертанта` AS `Код диссертанта`,
`ЗАС`.`За` AS `За`,
`ЗАС`.`Против` AS `Против`,
`ЗАС`.`Недействительных` AS `Недействительных`,
COUNT (*) AS `Число членов совета`
FROM `Заседание по защите диссертации:ДСВ` AS `ЗАС`
INNER JOIN `Диссовет` AS `ДСВ` ON `ДСВ`.`Ид` = `ЗАС`.`Ид\ЗАС^ДСВ`
INNER JOIN `Диссертант%ПЕРС` AS `ДСР` ON `ДСР`.`Ид` = `ЗАС`.`Ид\ЗАС^ДСР`
LEFT JOIN `Член совета: ДСВ*ЭВНТ` AS `ЧЛС` ON `ЧЛС`.`Ид\ЧЛС^ДСВ` = `ДСВ`.`Ид`
GROUP BY `ДСВ`.`Ид`
;
SELECT * FROM `вирт_Заседание по защите диссертации_члены совета`;