DROP TABLE IF EXISTS `Справка+`;
CREATE TABLE `Справка+`
(`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY
, `Слк` CHAR (3) NOT NULL
, `Код` CHAR (3) NOT NULL
, `Название` VARCHAR (50) NOT NULL
, `Содержание` VARCHAR (100) NULL
, `Ид_родитель\СПР^СПР` INT (3) NULL REFERENCES `Справка+` (`Ид`)
, CONSTRAINT `Ун1\СПР` UNIQUE (`Слк`, `Код`)
);
INSERT INTO `Справка+` VALUES
(DEFAULT, "ДОЛ", "про", "профессор", "профессср кафедры", NULL),
(DEFAULT, "ДОЛ", "доц", "доцент ", "доцент кафедры", NULL),
(NULL, "ДОЛ", "лаб", "лаборант", NULL, NULL),
(NULL, "КАФ", "ИРТ", "ФИРТ", "ф-т информатикики и робототехники", NULL),
(NULL, "ВИД", "вид", "вид деят-сти", NULL, NULL),
(NULL, "ППО", "ппо", "тип поддержки", NULL, NULL),
(NULL, "СТА", "ст1", "статья расхода 1", "закупка ПО", NULL);
INSERT INTO `Справка+` SELECT
NULL, "КАФ", "АСУ", "каф. АСУ", "каф. автоматизир. систем упр-я",
`Ид` FROM `Справка+` WHERE `Слк` = "КАФ" AND `Код` = "ИРТ";
INSERT INTO `Справка+` SELECT
NULL, "ПРА", "пра", "проектная работа", "проекты и этапы",
`Ид` FROM `Справка+` WHERE `Слк` = "ВИД" AND `Код` = "вид";
INSERT INTO `Справка+` SELECT
NULL, "ПРК", "прк", "проект", NULL,
`Ид` FROM `Справка+` WHERE `Слк` = "ПРА" AND `Код` = "пра";
INSERT INTO `Справка+` SELECT
NULL, "ЭПР", "эпр", "этап проекта", NULL,
`Ид` FROM `Справка+` WHERE `Слк` = "ПРК" AND `Код` = "прк";
SELECT "Table `Справка+`" 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 (150) NOT NULL
, `Ид_ДОЛ\СОТ^СПР` INT NOT NULL REFERENCES `Справка+` (`Ид`)
, `Ид_КАФ\СОТ^СПР` INT NOT NULL REFERENCES `Справка+` (`Ид`)
);
INSERT INTO `Сотрудник%ПЕРС` SET `Ид` = NULL, `Код` = "001-п", `Паспорт` = "345678", `ФИО` = "Петров А. А.", `Сведения` = "чл. КПСС",
`Ид_ДОЛ\СОТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДОЛ" AND `Код` = "про"),
`Ид_КАФ\СОТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "КАФ" AND `Код` = "ИРТ");
INSERT INTO `Сотрудник%ПЕРС` SET `Ид` = NULL, `Код` = "002-п", `Паспорт` = "456789", `ФИО` = "Боширов Р. Р.", `Сведения` = "канд. КПСС",
`Ид_ДОЛ\СОТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДОЛ" AND `Код` = "доц"),
`Ид_КАФ\СОТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "КАФ" AND `Код` = "АСУ");
INSERT INTO `Сотрудник%ПЕРС` SET `Ид` = NULL, `Код` = "099-л", `Паспорт` = "567890", `ФИО` = "Исаев М. М.", `Сведения` = "чл. ВЛКСМ",
`Ид_ДОЛ\СОТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДОЛ" AND `Код` = "лаб"),
`Ид_КАФ\СОТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "КАФ" AND `Код` = "ИРТ");
SELECT "Table `Сотрудник%ПЕРС`" FROM `Сотрудник%ПЕРС` WHERE 1 = 0;
SELECT * FROM `Сотрудник%ПЕРС`;
DROP TABLE IF EXISTS `Руководитель:СОТ`;
CREATE TABLE `Руководитель:СОТ`
(`Ид\РУК^СОТ` INT NOT NULL PRIMARY KEY REFERENCES `Сотрудник%ПЕРС` (`Ид`)
, `Сведения` VARCHAR (150) NULL
);
INSERT INTO `Руководитель:СОТ` SET
`Ид\РУК^СОТ` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "099-л"), `Сведения` = "диспл. класс 6-417";
SELECT "Table `Руководитель:СОТ`" FROM `Руководитель:СОТ` WHERE 1 = 0;
SELECT * FROM `Руководитель:СОТ`;
DROP TABLE IF EXISTS `Ответственный:СОТ`;
CREATE TABLE `Ответственный:СОТ`
(`Ид\ОТВ^СОТ` INT NOT NULL PRIMARY KEY REFERENCES `Сотрудник%ПЕРС` (`Ид`)
, `Сведения` VARCHAR (150) NULL
);
INSERT INTO `Ответственный:СОТ` SET
`Ид\ОТВ^СОТ` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "001-п"), `Сведения` = "диспл. класс 6-313";
INSERT INTO `Ответственный:СОТ` SET
`Ид\ОТВ^СОТ` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "002-п"), `Сведения` = "диспл. класс 6-101";
SELECT "Table `Ответственный:СОТ`" FROM `Ответственный:СОТ` WHERE 1 = 0;
SELECT * FROM `Ответственный:СОТ`;
DROP TABLE IF EXISTS `ПРабота+`;
CREATE TABLE `ПРабота+`
(`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY
, `Регномер` CHAR (10) NOT NULL UNIQUE
, `Название` VARCHAR (50) NULL
, `Начало` VARCHAR (50) NULL
, `Окончание` VARCHAR (50) NULL
, `Ид_родитель\ПРА^ПРА` INT NULL REFERENCES `ПРабота+` (`Ид`)
, `Ид_ВИД\ПРА^СПР` INT NULL REFERENCES `Справка+` (`Ид`)
, `Ид_РУК\ПРА^РУК` INT NULL REFERENCES `Руководитель:СОТ` (`Ид\РУК^СОТ`)
, `Ид_ОТВ\ПРА^ОТВ` INT NULL REFERENCES `Ответственный:СОТ` (`Ид\ОТВ^СОТ`)
);
INSERT INTO `ПРабота+` SET
`Ид` = NULL, `Регномер` = "101", `Название` = "калькулятор", `Начало` = "12 апр.", `Окончание` = NULL,
`Ид_родитель\ПРА^ПРА` = NULL,
`Ид_ВИД\ПРА^СПР` = NULL,
`Ид_РУК\ПРА^РУК` = (SELECT `Ид\РУК^СОТ` FROM `Руководитель:СОТ` WHERE `Сведения` = "диспл. класс 6-417"),
`Ид_ОТВ\ПРА^ОТВ` = (SELECT `Ид\ОТВ^СОТ` FROM `Ответственный:СОТ` WHERE `Сведения` = "диспл. класс 6-313");
INSERT INTO `ПРабота+` SET
`Ид` = NULL, `Регномер` = "102", `Название` = "текст. редактор", `Начало` = "15 июн.", `Окончание` = "22 сент",
`Ид_родитель\ПРА^ПРА` = NULL,
`Ид_ВИД\ПРА^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ПРК" AND `Код` = "прк"),
`Ид_РУК\ПРА^РУК` = (SELECT `Ид\РУК^СОТ` FROM `Руководитель:СОТ` WHERE `Сведения` = "диспл. класс 6-417"),
`Ид_ОТВ\ПРА^ОТВ` = (SELECT `Ид\ОТВ^СОТ` FROM `Ответственный:СОТ` WHERE `Сведения` = "диспл. класс 6-101");
INSERT INTO `ПРабота+` SET
`Ид` = NULL, `Регномер` = "102.2", `Название` = "жирный шрифт", `Начало` = "22 июн.", `Окончание` = "25 июн",
`Ид_родитель\ПРА^ПРА` = NULL,
`Ид_ВИД\ПРА^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ЭПР" AND `Код` = "эпр"),
`Ид_РУК\ПРА^РУК` = (SELECT `Ид\РУК^СОТ` FROM `Руководитель:СОТ` WHERE `Сведения` = "диспл. класс 6-417"),
`Ид_ОТВ\ПРА^ОТВ` = (SELECT `Ид\ОТВ^СОТ` FROM `Ответственный:СОТ` WHERE `Сведения` = "диспл. класс 6-101");
UPDATE `ПРабота+` SET `Ид_Родитель\ПРА^ПРА` = (SELECT `Ид` FROM `ПРабота+` WHERE `Регномер` = "102") WHERE `Регномер` = "102.2";
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
, `Нач. финансирования` VARCHAR (50) NOT NULL
, `Кон. финансирования` VARCHAR (50) NOT NULL
, `Название` VARCHAR (50) NULL
, `Ид_ВИД\ППО^СПР` INT NULL REFERENCES `Справка+` (`Ид`)
, `Ид_ПРА\ППО^ПРА` INT NULL REFERENCES `Справка+` (`Ид`)
);
INSERT INTO `ППоддержка` SET
`Ид` = NULL, `Регномер` = "пп101", `Объём` = "32000", `Нач. финансирования` = "10 апр.", `Кон. финансирования` = "5 сент.", `Название` = "поддержка ПРО калькулятор",
`Ид_ВИД\ППО^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ППО" AND `Код` = "ппо"),
`Ид_ПРА\ППО^ПРА` = (SELECT `Ид` FROM `ПРабота+` WHERE `Регномер` = "101");
INSERT INTO `ППоддержка` SET
`Ид` = NULL, `Регномер` = "пп102", `Объём` = "84000", `Нач. финансирования` = "10 июн.", `Кон. финансирования` = "22 сент.", `Название` = "поддержка ПРО текст. документ",
`Ид_ВИД\ППО^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ППО" AND `Код` = "ппо"),
`Ид_ПРА\ППО^ПРА` = (SELECT `Ид` FROM `ПРабота+` WHERE `Регномер` = "102");;
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 (150) NULL
);
INSERT INTO `Заказчик%ПЕРС` VALUES
(NULL, "501-З", "234567", "Бондаренко Г. И.", "ОАО Экспресс"),
(NULL, "502-З", "894716", "Крапивцева Е. Е.", "ЗАО Печатный завод");
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 (150) NULL
);
INSERT INTO `Грантодатель%ПЕРС` VALUES
(NULL, "601-Г", "479123", "Богачев И. С.", "Банк Зелёный"),
(NULL, "602-Г", "281238", "Бумажников Е. О.", "ОАО Печатный домик");
SELECT "`Грантодатель%ПЕРС` Table Content:" FROM `Грантодатель%ПЕРС` WHERE 1 = 0;
SELECT * FROM `Грантодатель%ПЕРС`;
DROP TABLE IF EXISTS `Хоздоговор:ППО`;
CREATE TABLE `Хоздоговор:ППО`
(`Ид\ХОЗ^ППО` INT NOT NULL PRIMARY KEY REFERENCES `ППоддержка` (`Ид`)
, `Название` VARCHAR (50) NULL
, `Объем_ППО` CHAR (50) NOT NULL
, `Нач. финансирования` CHAR (50) NOT NULL
, `Кон. финансирования` CHAR (50) NOT NULL
, `Ид_ОРЗ\ХОЗ^ОРЗ` INT NULL REFERENCES `Заказчик%ПЕРС` (`Ид`)
);
INSERT INTO `Хоздоговор:ППО` SET
`Ид\ХОЗ^ППО` = (SELECT `Ид` FROM `ППоддержка` WHERE `Регномер` = "пп101"),
`Название` = "х/д по ПРО калькулятор", `Объем_ППО` = "12000", `Нач. финансирования` = "13 апр.", `Кон. финансирования` = "5 сент.",
`Ид_ОРЗ\ХОЗ^ОРЗ` = (SELECT `Ид` FROM `Заказчик%ПЕРС` WHERE `Код` = "501-З");
INSERT INTO `Хоздоговор:ППО` SET
`Ид\ХОЗ^ППО` = (SELECT `Ид` FROM `ППоддержка` WHERE `Регномер` = "пп102"),
`Название` = "х/д по ПРО текст. редактор", `Объем_ППО` = "34000", `Нач. финансирования` = "13 июн.", `Кон. финансирования` = "22 сент.",
`Ид_ОРЗ\ХОЗ^ОРЗ` = (SELECT `Ид` FROM `Заказчик%ПЕРС` WHERE `Код` = "502-З");
SELECT "`Хоздоговор:ППО` Table Content:" FROM `Хоздоговор:ППО` WHERE 1 = 0;
SELECT * FROM `Хоздоговор:ППО`;
DROP TABLE IF EXISTS `Грант:ППО`;
CREATE TABLE `Грант:ППО`
(`Ид\ГРА^ППО` INT NOT NULL PRIMARY KEY REFERENCES `ППоддержка` (`Ид`)
, `Название` VARCHAR (50) NULL
, `Объем_ППО` CHAR (50) NOT NULL
, `Нач. финансирования` CHAR (50) NOT NULL
, `Кон. финансирования` CHAR (50) NOT NULL
, `Ид_ГДЛ\ГРА^ГДЛ` INT NULL REFERENCES `Грантодатель%ПЕРС` (`Ид`)
);
INSERT INTO `Грант:ППО` SET
`Ид\ГРА^ППО` = (SELECT `Ид` FROM `ППоддержка` WHERE `Регномер` = "пп101"),
`Название` = "грант для ПРО калькулятор", `Объем_ППО` = "20000", `Нач. финансирования` = "12 апр.", `Кон. финансирования` = "5 сент.",
`Ид_ГДЛ\ГРА^ГДЛ` = (SELECT `Ид` FROM `Грантодатель%ПЕРС` WHERE `Код` = "601-Г");
INSERT INTO `Грант:ППО` SET
`Ид\ГРА^ППО` = (SELECT `Ид` FROM `ППоддержка` WHERE `Регномер` = "пп102"),
`Название` = "грант для ПРО текст. редактор", `Объем_ППО` = "50000", `Нач. финансирования` = "12 июн.", `Кон. финансирования` = "22 сент.",
`Ид_ГДЛ\ГРА^ГДЛ` = (SELECT `Ид` FROM `Грантодатель%ПЕРС` WHERE `Код` = "602-Г");
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 (150) NULL
);
INSERT INTO `Бухгалтер%ПЕРС` VALUES
(NULL, "901-Б", "578192", "Счетов С. Д.", NULL),
(NULL, "902-Б", "590128", "Пищева А. Н.", 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
, `Дата` VARCHAR (50) NOT NULL
, `Объем` CHAR (50) NOT NULL
, `Оплата` CHAR (50) NULL
, `Ид_ХОЗ\ВРА^ХОЗ` INT NULL REFERENCES `Хоздоговор:ППО` (`Ид\ХОЗ^ППО`)
, `Ид_БУХ\ВРА^БУХ` INT NULL REFERENCES `Бухгалтер%ПЕРС` (`Ид`)
);
INSERT INTO `Работа` SET
`Ид` = NULL, `Регномер` = "р101.1", `Дата` = "13 апр.", `Объем` = "10%", Оплата = "10%",
`Ид_ХОЗ\ВРА^ХОЗ` = (SELECT `Ид\ХОЗ^ППО` FROM `Хоздоговор:ППО` WHERE `Название` = "х/д по ПРО калькулятор"),
`Ид_БУХ\ВРА^БУХ` = (SELECT `Ид` FROM `Бухгалтер%ПЕРС` WHERE `Код` = "901-Б");
INSERT INTO `Работа` SET
`Ид` = NULL, `Регномер` = "р102.1", `Дата` = "13 июн.", `Объем` = "10%", Оплата = "10%",
`Ид_ХОЗ\ВРА^ХОЗ` = (SELECT `Ид\ХОЗ^ППО` FROM `Хоздоговор:ППО` WHERE `Название` = "х/д по ПРО текст. редактор"),
`Ид_БУХ\ВРА^БУХ` = (SELECT `Ид` FROM `Бухгалтер%ПЕРС` WHERE `Код` = "902-Б");
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
, `Дата` VARCHAR (50) NOT NULL
, `Объем` CHAR (50) NOT NULL
, `Ид_ГРА\ТРФ^ГРА` INT NULL REFERENCES `Грант:ППО` (`Ид\ГРА^ППО`)
, `Ид_БУХ\ТРФ^БУХ` INT NULL REFERENCES `Бухгалтер%ПЕРС` (`Ид`)
);
INSERT INTO `Транш` SET
`Ид` = NULL, `Регномер` = "т101.1", `Дата` = "13 апр.", `Объем` = "1000",
`Ид_ГРА\ТРФ^ГРА` = (SELECT `Ид\ГРА^ППО` FROM `Грант:ППО` WHERE `Название` = "грант для ПРО ПРО калькулятор"),
`Ид_БУХ\ТРФ^БУХ` = (SELECT `Ид` FROM `Бухгалтер%ПЕРС` WHERE `Код` = "901-Б");
INSERT INTO `Транш` SET
`Ид` = NULL, `Регномер` = "т102.1", `Дата` = "13 июн.", `Объем` = "20000",
`Ид_ГРА\ТРФ^ГРА` = (SELECT `Ид\ГРА^ППО` FROM `Грант:ППО` WHERE `Название` = "грант для ПРО текст. редактор"),
`Ид_БУХ\ТРФ^БУХ` = (SELECT `Ид` FROM `Бухгалтер%ПЕРС` WHERE `Код` = "902-Б");
SELECT "`Транш` Table Content:" FROM `Транш` WHERE 1 = 0;
SELECT * FROM `Транш`;
DROP TABLE IF EXISTS `Затраты\ВРА^ТРФ`;
CREATE TABLE `Затраты\ВРА^ТРФ`
(`Нпп` CHAR (10) NOT NULL
, `Ид_ВРА\ЗАТ^ВРА` INT NOT NULL REFERENCES `Работа` (`Ид`)
, `Ид_ТРФ\ЗАТ^ТРФ` INT NOT NULL REFERENCES `Транш` (`Ид`)
, `Объем` CHAR (10) NOT NULL
, `Обоснование` VARCHAR (50) NOT NULL
, `Ид_СТА\ЗАТ^СПР` INT NULL REFERENCES `Справка+` (`Ид`)
, CONSTRAINT `Ид\ЗАТ^ВРА^ТРФ` PRIMARY KEY (`Нпп`,`Ид_ВРА\ЗАТ^ВРА`,`Ид_ТРФ\ЗАТ^ТРФ`)
);
INSERT INTO `Затраты\ВРА^ТРФ` SET
`Нпп` = "101-Т",
`Ид_ВРА\ЗАТ^ВРА` = (SELECT `Ид` FROM `Работа` WHERE `Регномер` = "р101.1"),
`Ид_ТРФ\ЗАТ^ТРФ` = (SELECT `Ид` FROM `Транш` WHERE `Регномер` = "т101.1"),
`Объем` = "1500", `Обоснование` = "Закупка ПО",
`Ид_СТА\ЗАТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "СТА" AND `Код` = "ст1");
INSERT INTO `Затраты\ВРА^ТРФ` SET
`Нпп` = "102-Т",
`Ид_ВРА\ЗАТ^ВРА` = (SELECT `Ид` FROM `Работа` WHERE `Регномер` = "р102.1"),
`Ид_ТРФ\ЗАТ^ТРФ` = (SELECT `Ид` FROM `Транш` WHERE `Регномер` = "т102.1"),
`Объем` = "2000", `Обоснование` = "Покупка лицензии ПО",
`Ид_СТА\ЗАТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "СТА" AND `Код` = "ст1");
SELECT "`Затраты\ВРА^ТРФ` Table Content:" FROM `Затраты\ВРА^ТРФ` WHERE 1 = 0;
SELECT * FROM `Затраты\ВРА^ТРФ`;
DROP TABLE IF EXISTS `Компонент:ЗАТ*ВРА`;
CREATE TABLE `Компонент:ЗАТ*ВРА`
(`Ид_ЗАТ\КЦР^ЗАТ` CHAR (10) NOT NULL REFERENCES `Затраты\ВРА^ТРФ` (`Нпп`)
, `Ид_ВРА\КЦР^ВРА` INT NOT NULL REFERENCES `Работа` (`Ид`)
, `Объем` CHAR (50) NOT NULL
, `Обоснование` CHAR(50) NULL
, CONSTRAINT `Ид\КЦР^ЗАТ^ОРЗ` PRIMARY KEY (`Ид_ЗАТ\КЦР^ЗАТ`, `Ид_ВРА\КЦР^ВРА`)
);
INSERT INTO `Компонент:ЗАТ*ВРА` SET
`Ид_ЗАТ\КЦР^ЗАТ` = (SELECT `Нпп` FROM `Затраты\ВРА^ТРФ` WHERE `Объем` = "1500"),
`Ид_ВРА\КЦР^ВРА` = (SELECT `Ид` FROM `Работа` WHERE `Регномер` = "р101.1"),
`Объем` = "1500", `Обоснование` = "затраты за работу р101.1";
INSERT INTO `Компонент:ЗАТ*ВРА` SET
`Ид_ЗАТ\КЦР^ЗАТ` = (SELECT `Нпп` FROM `Затраты\ВРА^ТРФ` WHERE `Объем` = "2000"),
`Ид_ВРА\КЦР^ВРА` = (SELECT `Ид` FROM `Работа` WHERE `Регномер` = "р102.1"),
`Объем` = "2000", `Обоснование` = "затраты за работу р102.1";
SELECT "`Компонент:ЗАТ*ВРА` Table Content:" FROM `Компонент:ЗАТ*ВРА` WHERE 1 = 0;
SELECT * FROM `Компонент:ЗАТ*ВРА`;
DROP TABLE IF EXISTS `Расходы:ЗАТ*ТРФ`;
CREATE TABLE `Расходы:ЗАТ*ТРФ`
(`Ид_ЗАТ\РАС^ЗАТ` CHAR (10) NOT NULL REFERENCES `Затраты\ВРА^ТРФ` (`Нпп`)
, `Ид_ТРФ\РАС^ТРФ` INT NOT NULL REFERENCES `Транш` (`Ид`)
, `Объем` CHAR (50) NOT NULL
, `Обоснование` CHAR(50) NULL
, CONSTRAINT `Ид\РАС^ЗАТ^ТРФ` PRIMARY KEY (`Ид_ЗАТ\РАС^ЗАТ`, `Ид_ТРФ\РАС^ТРФ`)
);
INSERT INTO `Расходы:ЗАТ*ТРФ` SET
`Ид_ЗАТ\РАС^ЗАТ` = (SELECT `Нпп` FROM `Затраты\ВРА^ТРФ` WHERE `Объем` = "1500"),
`Ид_ТРФ\РАС^ТРФ` = (SELECT `Ид` FROM `Транш` WHERE `Регномер` = "т101.1"),
`Объем` = "10000", `Обоснование` = "как потратили транш т101.1";
INSERT INTO `Расходы:ЗАТ*ТРФ` SET
`Ид_ЗАТ\РАС^ЗАТ` = (SELECT `Нпп` FROM `Затраты\ВРА^ТРФ` WHERE `Объем` = "2000"),
`Ид_ТРФ\РАС^ТРФ` = (SELECT `Ид` FROM `Транш` WHERE `Регномер` = "т102.1"),
`Объем` = "20000", `Обоснование` = "как потратили транш т102.1";
SELECT "`Расходы:ЗАТ*ТРФ` Table Content:" FROM `Расходы:ЗАТ*ТРФ` WHERE 1 = 0;
SELECT * FROM `Расходы:ЗАТ*ТРФ`;
DROP VIEW IF EXISTS `вирт_Проект`;
CREATE VIEW `вирт_Проект` AS
SELECT
`ПРА`.`Регномер` AS `Регномер проекта`,
`ПРА`.`Название` AS `Название проекта`,
`ПРА`.`Начало` AS `Дата начала проекта`,
`ПРА`.`Окончание` AS `Дата окончания проекта`,
`СПР1`.`Код` AS `Код вида проекта`,
`СПР1`.`Название` AS `Название вида проекта`,
`СОТ`.`Код` AS `Код руководителя проекта`,
`СОТ`.`ФИО` AS `ФИО руководителя проекта`,
`СПР2`.`Код` AS `Код должности руководителя`,
`СПР2`.`Название` AS `Название должности`,
`СПР3`.`Код` AS `Код кафедры руководителя`,
`СПР3`.`Название` AS `Название кафедры`,
`СПР4`.`Код` AS `Код факультета кафедры`,
`СПР4`.`Название` AS `Название факультета`,
`ПРА`.`Ид` AS `Ид\Проект`
FROM `ПРабота+` AS `ПРА`
LEFT JOIN `Справка+` AS `СПР1`
ON `ПРА`.`Ид_ВИД\ПРА^СПР` = `СПР1`.`Ид`
LEFT JOIN `Руководитель:СОТ` AS `РУК`
ON `ПРА`.`Ид_РУК\ПРА^РУК` = `РУК`.`Ид\РУК^СОТ`
INNER JOIN `Сотрудник%ПЕРС` AS `СОТ`
ON `РУК`.`Ид\РУК^СОТ` = `СОТ`.`Ид`
LEFT JOIN `Справка+` AS `СПР2`
ON `СОТ`.`Ид_ДОЛ\СОТ^СПР` = `СПР2`.`Ид`
LEFT JOIN `Справка+` AS `СПР3`
ON `СОТ`.`Ид_КАФ\СОТ^СПР` = `СПР3`.`Ид`
LEFT JOIN `Справка+` AS `СПР4`
ON `СПР3`.`Ид_родитель\СПР^СПР` = `СПР4`.`Ид`
WHERE LENGTH(`ПРА`.`Регномер`) = 3
;
SELECT * FROM `вирт_Проект`;
DROP PROCEDURE IF EXISTS `проц_Этап`;
CREATE PROCEDURE `проц_Этап`
(IN `Вх:Ид\Проект` INT)
SELECT
`ПРА1`.`Регномер` AS `Нпп этапа`,
`ПРА1`.`Название` AS `Название этапа`,
`ПРА1`.`Начало` AS `Дата начала этапа`,
`ПРА1`.`Окончание` AS `Дата окончания этапа`,
`СПР1`.`Код` AS `Код вида этапа`,
`СПР1`.`Название` AS `Название вида этапа`,
`СОТ`.`Код` AS `Код ответственного`,
`СОТ`.`ФИО` AS `ФИО ответственного`,
`СПР2`.`Код` AS `Код должности ответственного`,
`СПР2`.`Название` AS `Название должности`,
`СПР3`.`Код` AS `Код кафедры ответственного`,
`СПР3`.`Название` AS `Название кафедры`,
`СПР4`.`Код` AS `Код факультета кафедры`,
`СПР4`.`Название` AS `Название факультета`
FROM `ПРабота+` AS `ПРА1`
LEFT JOIN `Справка+` AS `СПР1`
ON `ПРА1`.`Ид_ВИД\ПРА^СПР` = `СПР1`.`Ид`
LEFT JOIN `Ответственный:СОТ` AS `ОТВ`
ON `ПРА1`.`Ид_ОТВ\ПРА^ОТВ` = `ОТВ`.`Ид\ОТВ^СОТ`
INNER JOIN `Сотрудник%ПЕРС` AS `СОТ`
ON `ОТВ`.`Ид\ОТВ^СОТ` = `СОТ`.`Ид`
LEFT JOIN `Справка+` AS `СПР2`
ON `СОТ`.`Ид_ДОЛ\СОТ^СПР` = `СПР2`.`Ид`
LEFT JOIN `Справка+` AS `СПР3`
ON `СОТ`.`Ид_КАФ\СОТ^СПР` = `СПР3`.`Ид`
LEFT JOIN `Справка+` AS `СПР4`
ON `СПР3`.`Ид_родитель\СПР^СПР` = `СПР4`.`Ид`
INNER JOIN `ПРабота+` AS `ПРА2`
ON `ПРА1`.`Ид_родитель\ПРА^ПРА` = `ПРА2`.`Ид`
WHERE `ПРА2`.`Ид` = `Вх:Ид\Проект`
;
CALL `проц_Этап` (1);
DROP VIEW IF EXISTS `вирт_Расходы%Транш`;
CREATE VIEW `вирт_Расходы%Транш` AS
SELECT
`ЗАТ`.`Нпп` AS `Нпп расхода`,
`СПР`.`Код` AS `Код статьи`,
`СПР`.`Название` AS `Название статьи`,
`РАС`.`Объем` AS `Объем расхода по статье`,
`РАС`.`Обоснование` AS `Обоснование расхода`,
`ТРФ`.`Регномер` AS `Регномер транша`,
`ТРФ`.`Дата` AS `Дата транша`,
`ТРФ`.`Объем` AS `Объем транша`,
`БУХ`.`Код` AS `Код бухгалтера`,
`БУХ`.`ФИО` AS `ФИО бухгалтера`
FROM `Расходы:ЗАТ*ТРФ` AS `РАС`
INNER JOIN `Затраты\ВРА^ТРФ` AS `ЗАТ`
ON `РАС`.`Ид_ЗАТ\РАС^ЗАТ` = `ЗАТ`.`Нпп`
LEFT JOIN `Справка+` AS `СПР`
ON `ЗАТ`.`Ид_СТА\ЗАТ^СПР` = `СПР`.`Ид`
INNER JOIN `Транш` AS `ТРФ`
ON `ЗАТ`.`Ид_ТРФ\ЗАТ^ТРФ` = `ТРФ`.`Ид`
LEFT JOIN `Бухгалтер%ПЕРС` AS `БУХ`
ON `ТРФ`.`Ид_БУХ\ТРФ^БУХ` = `БУХ`.`Ид`
;
SELECT * FROM `вирт_Расходы%Транш`;
DROP VIEW IF EXISTS `вирт_Работа_Компонент цены`;
CREATE VIEW `вирт_Работа_Компонент цены` AS
WITH
`ЧКЦР` AS(
SELECT
`КЦР`.`Ид_ВРА\КЦР^ВРА` AS `Ид\ВРА`,
COUNT(*) AS `Чис_КЦР`
FROM `Компонент:ЗАТ*ВРА` AS `КЦР`
INNER JOIN `Работа` AS `ВРА`
ON `КЦР`.`Ид_ВРА\КЦР^ВРА` = `ВРА`.`Ид`
GROUP BY `Ид\ВРА`)
SELECT
`ВРА`.`Регномер` AS `Регномер работы`,
`ВРА`.`Дата` AS `Дата сдачи работы`,
`ВРА`.`Оплата` AS `Дата оплаты`,
`ВРА`.`Объем` AS `Объем работы`,
`БУХ`.`Код` AS `Код бухгалтера`,
`БУХ`.`ФИО` AS `ФИО бухгалтера`,
`ЧКЦР`.`Чис_КЦР` AS `Число компонентов цены`
FROM `Работа` AS `ВРА`
INNER JOIN `Бухгалтер%ПЕРС` AS `БУХ`
ON `ВРА`.`Ид_БУХ\ВРА^БУХ` = `БУХ`.`Ид`
INNER JOIN `ЧКЦР`
ON `ВРА`.`Ид` = `ЧКЦР`.`Ид\ВРА`
;
SELECT * FROM `вирт_Работа_Компонент цены`;
DROP VIEW IF EXISTS `вирт_Хоздоговор_Работа`;
CREATE VIEW `вирт_Хоздоговор_Работа` AS
SELECT
`ППО`.`Регномер` AS `Регномер хоздоговора`,
`ПРА`.`Регномер` AS `Регномер проекта`,
`ХОЗ`.`Объем_ППО` AS `Объем хоздоговора`,
`ХОЗ`.`Нач. финансирования` AS `Дата начала финансирования`,
`ХОЗ`.`Кон. финансирования` AS `Дата окончания финансирования`,
`СПР`.`Код` AS `Код вида хоздоговора`,
`СПР`.`Название` AS `Название вида хоздоговора`,
`ОРЗ`.`Код` AS `Код организации заказчика`,
`ОРЗ`.`Сведения` AS `Название организации заказчика`,
COUNT (*) AS `Кол_ВРА` FROM `ВРА`
FROM `ППоддержка` AS `ППО`
INNER JOIN `ПРабота+` AS `ПРА`
ON `ППО`.`Ид_ПРА\ППО^ПРА` = `ПРА`.`Ид`
INNER JOIN `Хоздоговор:ППО` AS `ХОЗ`
ON `ППО`.`Ид` = `ХОЗ`.`Ид\ХОЗ^ППО`
INNER JOIN `Справка+` AS `СПР`
ON `ППО`.`Ид_ВИД\ППО^СПР` = `СПР`.`Ид`
INNER JOIN `Заказчик%ПЕРС` AS `ОРЗ`
ON `ХОЗ`.`Ид_ОРЗ\ХОЗ^ОРЗ` = `ОРЗ`.`Ид`
INNER JOIN `Работа` AS `ВРА`
ON `ХОЗ`.`Ид\ХОЗ^ППО` = `ВРА`.`Ид_ХОЗ\ВРА^ХОЗ`
GROUP BY `ХОЗ`.`Ид\ХОЗ^ППО`
;
SELECT * FROM `вирт_Хоздоговор_Работа`;