DROP TABLE IF EXISTS `Справка+`;
CREATE TABLE `Справка+` (
`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Слк` CHAR(3) NOT NULL,
`Код` CHAR(3) NOT NULL,
`Название` CHAR(20) NOT NULL,
CONSTRAINT `Ун1\СПР` UNIQUE (`Слк`,`Код`)
);
INSERT INTO `Справка+` VALUES
(DEFAULT,"ДОЛ","РЕГ","Регистратор"),
(DEFAULT,"ДОЛ","КАЗ","Казначей"),
(DEFAULT,"ДОЛ","ПРЕ","Преподаватель"),
(DEFAULT,"ДОЛ","ОТС","Ответственный"),
(DEFAULT,"ВПД","ПРФ","Профильный"),
(DEFAULT,"ВПД","НПР","Непрофильный"),
(DEFAULT,"ВПЛ","ЧАС","Частичный"),
(DEFAULT,"ВПЛ","ПОЛ","Полный"),
(DEFAULT,"ВТС","ЭКЗ","Экзамен"),
(DEFAULT,"ВТС","ЗАЧ","Зачет");
SELECT "`Справка+` Table Content:" FROM `Справка+` WHERE 1 = 0;
SELECT * FROM `Справка+`;
DROP TABLE IF EXISTS `Слушатель%ПЕРС`;
CREATE TABLE `Слушатель%ПЕРС` (
`Ид` INT AUTO_INCREMENT PRIMARY KEY,
`Паспорт` CHAR(10) NOT NULL UNIQUE,
`Код слушателя` CHAR(10) NOT NULL UNIQUE,
`ФИО` CHAR(50) NOT NULL
);
INSERT INTO `Слушатель%ПЕРС` VALUES
(DEFAULT, "1234567890","001-А","Иванов Иван Иванович"),
(DEFAULT, "1111111111","002-Б","Семенов Семен Семонович"),
(DEFAULT, "2222222222","003-В","Петров Петр Петрович");
SELECT "`Студент%ПЕРС` Table contents:" 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,
`Ид\СТР^СПР` INT NOT NULL REFERENCES `Справка+`(`Ид`),
`ФИО` CHAR(50) NOT NULL
);
INSERT INTO `Сотрудник%ПЕРС` VALUES
(DEFAULT,"3333333333","004-Г",(SELECT `Ид` FROM `Справка+` WHERE `Слк`='ДОЛ' AND `Код`='ПРЕ'),"Романов Роман Романович"),
(DEFAULT,"4444444444","005-Д",(SELECT `Ид` FROM `Справка+` WHERE `Слк`='ДОЛ' AND `Код`='ПРЕ'),"Генадиев Генадий Генадиевич"),
(DEFAULT,"5555555555","006-Е",(SELECT `Ид` FROM `Справка+` WHERE `Слк`='ДОЛ' AND `Код`='КАЗ'),"Владимиров Владимир Владимирович"),
(DEFAULT,"6666666666","007-Ж",(SELECT `Ид` FROM `Справка+` WHERE `Слк`='ДОЛ' AND `Код`='КАЗ'),"Сергеев Сергей Сергеевич"),
(DEFAULT,"7777777777","008-З",(SELECT `Ид` FROM `Справка+` WHERE `Слк`='ДОЛ' AND `Код`='РЕГ'),"Зайцев Заяц Зайцевич"),
(DEFAULT,"8888888888","009-И",(SELECT `Ид` FROM `Справка+` WHERE `Слк`='ДОЛ' AND `Код`='РЕГ'),"Александров Александр Александрович"),
(DEFAULT,"9999999999","010-К",(SELECT `Ид` FROM `Справка+` WHERE `Слк`='ДОЛ' AND `Код`='ОТС'),"Анатолиев Анатолий Анатолиевич"),
(DEFAULT,"0000000000","011-Л",(SELECT `Ид` FROM `Справка+` WHERE `Слк`='ДОЛ' AND `Код`='ОТС'),"Павлов Павел Павлович");
SELECT "`Сотрудник%ПЕРС` Table contents:" FROM `Сотрудник%ПЕРС` WHERE 1=0;
SELECT * FROM `Сотрудник%ПЕРС`;
DROP TABLE IF EXISTS `Группа`;
CREATE TABLE `Группа` (
`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Номер группы` CHAR(3) NOT NULL UNIQUE,
`Название группы` CHAR(50) NOT NULL
);
INSERT INTO `Группа` VALUES
(DEFAULT,'000','Математическое обеспечение'),
(DEFAULT,'001','Программная инженерия'),
(DEFAULT,'002','Компьютерные игры');
SELECT "`Группа` Table contents:" FROM `Группа` WHERE 1=0;
SELECT * FROM `Группа`;
DROP TABLE IF EXISTS `Предмет`;
CREATE TABLE `Предмет` (
`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Код предмета` CHAR(5) NOT NULL UNIQUE,
`Название предмета` CHAR(50) NOT NULL,
`Ид\ПДМ^СПР` INT NOT NULL REFERENCES `Справка+`(`Ид`)
);
INSERT INTO `Предмет` VALUES
(DEFAULT,'МАТЕМ','Математика' ,(SELECT `Ид` FROM `Справка+` WHERE `Слк`='ВПД' AND `Код`='ПРФ')),
(DEFAULT,'ПРОГР','Программирование',(SELECT `Ид` FROM `Справка+` WHERE `Слк`='ВПД' AND `Код`='ПРФ')),
(DEFAULT,'ФИЛОС','Философия' ,(SELECT `Ид` FROM `Справка+` WHERE `Слк`='ВПД' AND `Код`='НПР'));
SELECT '`Предмет` Table contents:' FROM `Предмет` WHERE 1 = 0;
SELECT * FROM `Предмет`;
DROP TABLE IF EXISTS `Предмет группы: ГРП*ПДМ`;
CREATE TABLE `Предмет группы: ГРП*ПДМ` (
`Ид\ПДГП^ПДМ` INT NOT NULL REFERENCES `Предмет`(`Ид`),
`Ид\ПДГП^ГРП` INT NOT NULL REFERENCES `Группа` (`Ид`),
CONSTRAINT `ПК\ПДГП` PRIMARY KEY (`Ид\ПДГП^ПДМ`,`Ид\ПДГП^ГРП`)
);
INSERT INTO `Предмет группы: ГРП*ПДМ` VALUES
((SELECT `Ид` FROM `Предмет` WHERE `Код предмета` = 'МАТЕМ') , (SELECT `Ид` FROM `Группа` WHERE `Номер группы` = '000')),
((SELECT `Ид` FROM `Предмет` WHERE `Код предмета` = 'ПРОГР') , (SELECT `Ид` FROM `Группа` WHERE `Номер группы` = '000')),
((SELECT `Ид` FROM `Предмет` WHERE `Код предмета` = 'ПРОГР') , (SELECT `Ид` FROM `Группа` WHERE `Номер группы` = '001')),
((SELECT `Ид` FROM `Предмет` WHERE `Код предмета` = 'ФИЛОС') , (SELECT `Ид` FROM `Группа` WHERE `Номер группы` = '001'));
SELECT '`Предмет группы: ГРП*ПДМ` Table contents:' FROM `Предмет группы: ГРП*ПДМ` WHERE 1=0;
SELECT * FROM `Предмет группы: ГРП*ПДМ`;
DROP TABLE IF EXISTS `Пункт записи`;
CREATE TABLE `Пункт записи` (
`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Код пункта записи` CHAR(3) NOT NULL UNIQUE,
`Адрес пункта записи` TEXT NOT NULL
);
INSERT INTO `Пункт записи` VALUES
(DEFAULT,'000','ул. Lorem Ipsum д. 5'),
(DEFAULT,'001','ул. Dolor sit amet д. 6'),
(DEFAULT,'002','ул. Consectetur д. 7');
SELECT '`Пункт записи` Table contents:' FROM `Пункт записи` WHERE 1 = 0;
SELECT * FROM `Пункт записи`;
DROP TABLE IF EXISTS `Запись`;
CREATE TABLE `Запись` (
`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Регномер записи` CHAR(6) NOT NULL UNIQUE,
`Ид\ЗПС^ГРП` INT NOT NULL REFERENCES `Группа`(`Ид`),
`Ид\ЗПС^СЛШ` INT NOT NULL REFERENCES `Слушатель%ПЕРС`(`Ид`),
`Ид\ЗПС^СТР` INT NOT NULL REFERENCES `Сотрудник%ПЕРС`(`Ид`),
`Ид\ЗПС^ПУЗ` INT NOT NULL REFERENCES `Пункт записи`(`Ид`),
`Дата записи` DATETIME NOT NULL
);
INSERT INTO `Запись` VALUES
(DEFAULT,
'ААА000',
(SELECT `Ид` FROM `Группа` WHERE `Номер группы`='000'),
(SELECT `Ид` FROM `Слушатель%ПЕРС` WHERE `Код слушателя`='001-А'),
(SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код сотрудника`='008-З'),
(SELECT `Ид` FROM `Пункт записи` WHERE `Код пункта записи`='000'),
'2024.02.20'
),
(DEFAULT,
'БББ011',
(SELECT `Ид` FROM `Группа` WHERE `Номер группы`='000'),
(SELECT `Ид` FROM `Слушатель%ПЕРС` WHERE `Код слушателя`='002-Б'),
(SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код сотрудника`='009-И'),
(SELECT `Ид` FROM `Пункт записи` WHERE `Код пункта записи`='001'),
'2024.02.21'
),
(DEFAULT,
'ЖЖЖ200',
(SELECT `Ид` FROM `Группа` WHERE `Номер группы`='001'),
(SELECT `Ид` FROM `Слушатель%ПЕРС` WHERE `Код слушателя`='003-В'),
(SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код сотрудника`='009-И'),
(SELECT `Ид` FROM `Пункт записи` WHERE `Код пункта записи`='001'),
'2024.02.21'
);
SELECT '`Запись` Table contents:' 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 `Запись`(`Ид`),
`Дата платежа` DATETIME NOT NULL,
`Сумма платежа` INT NOT NULL,
`Назначение платежа` VARCHAR(100),
`Ид\ПЛАТ^СПР` INT NOT NULL REFERENCES `Справка+`(`Ид`),
`Ид\ПЛАТ^СТР` INT NOT NULL REFERENCES `Сотрудник%ПЕРС`(`Ид`),
CONSTRAINT `Ун1\ПЛАТ` UNIQUE (`Нпп платежа`,`Ид\ПЛАТ^ЗПС`)
);
INSERT INTO `Платеж\ЗПС` VALUES
(DEFAULT,
1,
(SELECT `Ид` FROM `Запись` WHERE `Регномер записи` = 'ААА000'),
'2024.02.20',
2000,
'Первый платеж',
(SELECT `Ид` FROM `Справка+` WHERE `Слк`='ВПЛ' AND `Код`='ЧАС'),
(SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код сотрудника`='006-Е')
),
(DEFAULT,
2,
(SELECT `Ид` FROM `Запись` WHERE `Регномер записи` = 'ААА000'),
'2024.03.15',
500 ,
'Второй платеж',
(SELECT `Ид` FROM `Справка+` WHERE `Слк`='ВПЛ' AND `Код`='ЧАС'),
(SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код сотрудника`='007-Ж')
),
(DEFAULT,
1,
(SELECT `Ид` FROM `Запись` WHERE `Регномер записи` = 'БББ011'),
'2024.02.21',
2500,
NULL,
(SELECT `Ид` FROM `Справка+` WHERE `Слк`='ВПЛ' AND `Код`='ПОЛ'),
(SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код сотрудника`='006-Е')
);
SELECT "`Платеж\ЗПС` Table contents:" FROM `Платеж\ЗПС` WHERE 1=0;
SELECT * FROM `Платеж\ЗПС`;
DROP TABLE IF EXISTS `Тема`;
CREATE TABLE `Тема` (
`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Код темы` CHAR(6) NOT NULL UNIQUE,
`Название темы` CHAR(50) NOT NULL
);
INSERT INTO `Тема` VALUES
(DEFAULT,'ИНТЕГР','Интегралы'),
(DEFAULT,'ДИФУРЫ','Дифференциальные уравнения'),
(DEFAULT,'ЯЗПРОГ','Языки программирования');
SELECT '`Тема` Table contents:' FROM `Тема` WHERE 1=0;
SELECT * FROM `Тема`;
DROP TABLE IF EXISTS `Занятие`;
CREATE TABLE `Занятие` (
`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Регномер занятия` CHAR(6) NOT NULL,
`Ид\ЗНТ^ПДМ` INT NOT NULL REFERENCES `Предмет`(`Ид`),
`Ид\ЗНТ^СТР` INT NOT NULL REFERENCES `Сотрудник%ПЕРС`(`Ид`),
`Ид\ЗНТ^ГРП` INT NOT NULL REFERENCES `Группа`(`Ид`)
);
INSERT INTO `Занятие` VALUES
(DEFAULT,
'000001',
(SELECT `Ид` FROM `Предмет` WHERE `Код предмета`='МАТЕМ'),
(SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код сотрудника`='004-Г'),
(SELECT `Ид` FROM `Группа` WHERE `Номер группы`='000')
),
(DEFAULT,
'000002',
(SELECT `Ид` FROM `Предмет` WHERE `Код предмета`='МАТЕМ'),
(SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код сотрудника`='004-Г'),
(SELECT `Ид` FROM `Группа` WHERE `Номер группы`='000')
),
(DEFAULT,
'000003',
(SELECT `Ид` FROM `Предмет` WHERE `Код предмета`='ПРОГР'),
(SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код сотрудника`='005-Д'),
(SELECT `Ид` FROM `Группа` WHERE `Номер группы`='001')
);
SELECT '`Занятие` Table contents:' FROM `Занятие` WHERE 1=0;
SELECT * FROM `Занятие`;
DROP TABLE IF EXISTS `Тема занятия:ТЕМ*ЗНТ`;
CREATE TABLE `Тема занятия:ТЕМ*ЗНТ` (
`Ид\ТЗН^ТЕМ` INT NOT NULL,
`Ид\ТЗН^ЗНТ` INT NOT NULL,
CONSTRAINT `ПК\ТЗН` PRIMARY KEY (`Ид\ТЗН^ТЕМ`,`Ид\ТЗН^ЗНТ`)
);
INSERT INTO `Тема занятия:ТЕМ*ЗНТ` VALUES
(
(SELECT `Ид` FROM `Тема` WHERE `Код темы`='ИНТЕГР'),
(SELECT `Ид` FROM `Занятие` WHERE `Регномер занятия`='000001')
),
(
(SELECT `Ид` FROM `Тема` WHERE `Код темы`='ДИФУРЫ'),
(SELECT `Ид` FROM `Занятие` WHERE `Регномер занятия`='000002')
),
(
(SELECT `Ид` FROM `Тема` WHERE `Код темы`='ЯЗПРОГ'),
(SELECT `Ид` FROM `Занятие` WHERE `Регномер занятия`='000003')
);
SELECT "`Тема занятия:ТЕМ*ЗНТ` Table contents:" FROM `Тема занятия:ТЕМ*ЗНТ` WHERE 1=0;
SELECT * FROM `Тема занятия:ТЕМ*ЗНТ`;
DROP TABLE IF EXISTS `Слушатель на занятии:СЛШ*ЗНТ`;
CREATE TABLE `Слушатель на занятии:СЛШ*ЗНТ` (
`Ид\СНЗ^ЗНТ` INT NOT NULL REFERENCES `Занятие`(`Ид`),
`Ид\СНЗ^СЛШ` INT NOT NULL REFERENCES `Слушатель%ПЕРС`(`Ид`),
`Оценка` CHAR(1) NOT NULL,
CONSTRAINT `ПК\СНЗ` PRIMARY KEY (`Ид\СНЗ^ЗНТ`,`Ид\СНЗ^СЛШ`)
);
INSERT INTO `Слушатель на занятии:СЛШ*ЗНТ` VALUES
(
(SELECT `Ид` FROM `Занятие` WHERE `Регномер занятия` = '000001'),
(SELECT `Ид` FROM `Слушатель%ПЕРС` WHERE `Код слушателя` = '001-А'),
'4'
),
(
(SELECT `Ид` FROM `Занятие` WHERE `Регномер занятия` = '000001'),
(SELECT `Ид` FROM `Слушатель%ПЕРС` WHERE `Код слушателя` = '002-Б'),
'5'
),
(
(SELECT `Ид` FROM `Занятие` WHERE `Регномер занятия` = '000002'),
(SELECT `Ид` FROM `Слушатель%ПЕРС` WHERE `Код слушателя` = '003-В'),
'3'
);
SELECT '`Слушатель на занятии:СЛШ*ЗНТ` Table contents:' FROM `Слушатель на занятии:СЛШ*ЗНТ` WHERE 1=0;
SELECT * FROM `Слушатель на занятии:СЛШ*ЗНТ`;
DROP TABLE IF EXISTS `Тестирование`;
CREATE TABLE `Тестирование` (
`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Регномер тестирования` CHAR(6) NOT NULL UNIQUE,
`Дата тестирования` DATETIME NOT NULL,
`Ид\ТЕСТ^СПР` INT NOT NULL REFERENCES `Справка+`(`Ид`),
`Ид\ТЕСТ^СТР` INT NOT NULL REFERENCES `Сотрудник%ПЕРС`(`Ид`)
);
INSERT INTO `Тестирование` VALUES
(DEFAULT,
'МАТЭКЗ',
'2024.06.21',
(SELECT `Ид` FROM `Справка+` WHERE `Слк`='ВТС' AND `Код`='ЭКЗ'),
(SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код сотрудника`='010-К')
),
(DEFAULT,
'ПРОЭКЗ',
'2024.06.22',
(SELECT `Ид` FROM `Справка+` WHERE `Слк`='ВТС' AND `Код`='ЭКЗ'),
(SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код сотрудника`='010-К')
),
(DEFAULT,
'ФИЛЗАЧ',
'2024.06.24',
(SELECT `Ид` FROM `Справка+` WHERE `Слк`='ВТС' AND `Код`='ЗАЧ'),
(SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код сотрудника`='011-Л')
);
SELECT '`Тестирование` Table contents:' FROM `Тестирование` WHERE 1=0;
SELECT * FROM `Тестирование`;
DROP TABLE IF EXISTS `Билет\ПДМ`;
CREATE TABLE `Билет\ПДМ` (
`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Номер билета` CHAR(3) NOT NULL,
`Ид\БЛТ^ПДМ` INT NOT NULL REFERENCES `Предмет`(`Ид`),
`Комментарий` TEXT,
CONSTRAINT `Ун1\БЛТ` UNIQUE (`Номер билета`,`Ид\БЛТ^ПДМ`)
);
INSERT INTO `Билет\ПДМ` VALUES
(DEFAULT,
'001',
(SELECT `Ид` FROM `Предмет` WHERE `Код предмета` = 'МАТЕМ'),
'Для выполнения первого задания необходим калькулятор'
),
(DEFAULT,
'002',
(SELECT `Ид` FROM `Предмет` WHERE `Код предмета` = 'МАТЕМ'),
NULL
),
(DEFAULT,
'001',
(SELECT `Ид` FROM `Предмет` WHERE `Код предмета` = 'ПРОГР'),
NULL
);
SELECT '`Билет\ПДМ` Table contents:' FROM `Билет\ПДМ` WHERE 1=0;
SELECT * FROM `Билет\ПДМ`;
DROP TABLE IF EXISTS `Слушатель на тестировании:СЛШ*ТЕСТ`;
CREATE TABLE `Слушатель на тестировании:СЛШ*ТЕСТ` (
`Ид\СНЗ^ТЕСТ` INT NOT NULL REFERENCES `Занятие`(`Ид`),
`Ид\СНЗ^СЛШ` INT NOT NULL REFERENCES `Слушатель%ПЕРС`(`Ид`),
CONSTRAINT `ПК\СНЗ` PRIMARY KEY (`Ид\СНЗ^ЗНТ`,`Ид\СНЗ^СЛШ`)
);
INSERT INTO `Слушатель на тестировании:СЛШ*ТЕСТ` VALUE
(
(SELECT `Ид` FROM `Тестирование` WHERE `Регномер тестирования`='МАТЭКЗ'),
(SELECT `Ид` FROM `Слушатель%ПЕРС` WHERE `Код слушателя`='001-А')
),
(
(SELECT `Ид` FROM `Тестирование` WHERE `Регномер тестирования`='МАТЭКЗ'),
(SELECT `Ид` FROM `Слушатель%ПЕРС` WHERE `Код слушателя`='002-Б')
),
(
(SELECT `Ид` FROM `Тестирование` WHERE `Регномер тестирования`='ПРОЭКЗ'),
(SELECT `Ид` FROM `Слушатель%ПЕРС` WHERE `Код слушателя`='003-В')
);
SELECT '`Слушатель на тестировании:СЛШ*ТЕСТ` Table contents:' FROM `Слушатель на тестировании:СЛШ*ТЕСТ` WHERE 1=0;
SELECT * FROM `Слушатель на тестировании:СЛШ*ТЕСТ`;
DROP TABLE IF EXISTS `Вопрос`;
CREATE TABLE `Вопрос` (
`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Код вопроса` CHAR(6) NOT NULL UNIQUE,
`Содержание вопроса` TEXT NOT NULL
);
INSERT INTO `Вопрос` VALUES
(DEFAULT,'МАТ001','Найти решения дифференциального уравнения 4*y\'\'+2*y\'+y=0'),
(DEFAULT,'МАТ002','Найти интеграл от 4 до 6 функции y=x^2-2*x'),
(DEFAULT,'ПРО001','Какая конструкция в C++ выполняет цикл с условием?');
SELECT '`Вопрос` Table contents:' FROM `Вопрос` WHERE 1=0;
SELECT * FROM `Вопрос`;
DROP TABLE IF EXISTS `Вопрос в билете:ВОПР*БЛТ`;
CREATE TABLE `Вопрос в билете:ВОПР*БЛТ` (
`Ид\ВБТ^БЛТ` INT NOT NULL REFERENCES `Билет\ПДМ`(`Ид`),
`Ид\ВБТ^ПДМ` INT NOT NULL REFERENCES `Предмет`(`Ид`),
`Ид\ВБТ^ВОПР` INT NOT NULL REFERENCES `Вопрос`(`Ид`),
`Нпп вопроса в билете` INT NOT NULL,
CONSTRAINT `ПК\ВБТ` PRIMARY KEY (`Ид\ВБТ^БЛТ`,`Ид\ВБТ^ПДМ`,`Ид\ВБТ^ВОПР`)
);
INSERT INTO `Вопрос в билете:ВОПР*БЛТ` VALUES
(
(SELECT `Билет\ПДМ`.`Ид` FROM `Билет\ПДМ`, `Предмет` WHERE `Билет\ПДМ`.`Номер билета` = '001' AND `Предмет`.`Код предмета` = 'МАТЕМ' AND `Билет\ПДМ`.`Ид\БЛТ^ПДМ` = `Предмет`.`Ид`),
(SELECT `Ид` FROM `Предмет` WHERE `Код предмета` = 'МАТЕМ'),
(SELECT `Ид` FROM `Вопрос` WHERE `Код вопроса` = 'МАТ001'),
1
),
(
(SELECT `Билет\ПДМ`.`Ид` FROM `Билет\ПДМ`, `Предмет` WHERE `Билет\ПДМ`.`Номер билета` = '001' AND `Предмет`.`Код предмета` = 'ПРОГР' AND `Билет\ПДМ`.`Ид\БЛТ^ПДМ` = `Предмет`.`Ид`),
(SELECT `Ид` FROM `Предмет` WHERE `Код предмета` = 'ПРОГР'),
(SELECT `Ид` FROM `Вопрос` WHERE `Код вопроса` = 'ПРО001'),
1
),
(
(SELECT `Билет\ПДМ`.`Ид` FROM `Билет\ПДМ`, `Предмет` WHERE `Билет\ПДМ`.`Номер билета` = '002' AND `Предмет`.`Код предмета` = 'МАТЕМ' AND `Билет\ПДМ`.`Ид\БЛТ^ПДМ` = `Предмет`.`Ид`),
(SELECT `Ид` FROM `Предмет` WHERE `Код предмета` = 'МАТЕМ'),
(SELECT `Ид` FROM `Вопрос` WHERE `Код вопроса` = 'МАТ002'),
1
);
SELECT '`Вопрос в билете:ВОПР*БЛТ` Table contents:' FROM `Вопрос в билете:ВОПР*БЛТ` WHERE 1=0;
SELECT * FROM `Вопрос в билете:ВОПР*БЛТ`;
DROP TABLE IF EXISTS `Ответ на вопрос:СНТ*ВБТ`;
CREATE TABLE `Ответ на вопрос:СНТ*ВБТ` (
`Ид\ОТВ^БЛТ` INT NOT NULL REFERENCES `Билет\ПДМ`(`Ид`),
`Ид\ОТВ^ПДМ` INT NOT NULL REFERENCES `Предмет`(`Ид`),
`Ид\ОТВ^ВОПР` INT NOT NULL REFERENCES `Вопрос`(`Ид`),
`Ид\ОТВ^ТЕСТ` INT NOT NULL REFERENCES `Тестирование`(`Ид`),
`Ид\ОТВ^СЛШ` INT NOT NULL REFERENCES `Слушатель%ПЕРС`(`Ид`),
`Ответ` TEXT NOT NULL,
`Оценка за ответ` CHAR(1) NOT NULL,
CONSTRAINT `ПК\ОТВ` PRIMARY KEY (`Ид\ОТВ^БЛТ`,`Ид\ОТВ^ПДМ`,`Ид\ОТВ^ВОПР`,`Ид\ОТВ^ТЕСТ`,`Ид\ОТВ^СЛШ`)
);
INSERT INTO `Ответ на вопрос:СНТ*ВБТ` VALUES
(
(SELECT `Билет\ПДМ`.`Ид` FROM `Билет\ПДМ`, `Предмет` WHERE `Билет\ПДМ`.`Номер билета` = '001' AND `Предмет`.`Код предмета`='МАТЕМ' AND `Билет\ПДМ`.`Ид\БЛТ^ПДМ`=`Предмет`.`Ид`),
(SELECT `Ид` FROM `Предмет` WHERE `Код предмета` = 'МАТЕМ'),
(SELECT `Ид` FROM `Вопрос` WHERE `Код вопроса`='МАТ001'),
(SELECT `Ид` FROM `Тестирование` WHERE `Регномер тестирования` = 'МАТЭКЗ'),
(SELECT `Ид` FROM `Слушатель%ПЕРС` WHERE `Код слушателя`='001-А'),
'',
'2'
),
(
(SELECT `Билет\ПДМ`.`Ид` FROM `Билет\ПДМ`, `Предмет` WHERE `Билет\ПДМ`.`Номер билета` = '001' AND `Предмет`.`Код предмета`='ПРОГР' AND `Билет\ПДМ`.`Ид\БЛТ^ПДМ`=`Предмет`.`Ид`),
(SELECT `Ид` FROM `Предмет` WHERE `Код предмета` = 'ПРОГР'),
(SELECT `Ид` FROM `Вопрос` WHERE `Код вопроса`='ПРО001'),
(SELECT `Ид` FROM `Тестирование` WHERE `Регномер тестирования` = 'ПРОЭКЗ'),
(SELECT `Ид` FROM `Слушатель%ПЕРС` WHERE `Код слушателя`='003-В'),
'Конструкция while(condition) {} и do {} while(condition)',
'5'
),
(
(SELECT `Билет\ПДМ`.`Ид` FROM `Билет\ПДМ`, `Предмет` WHERE `Билет\ПДМ`.`Номер билета` = '002' AND `Предмет`.`Код предмета`='МАТЕМ' AND `Билет\ПДМ`.`Ид\БЛТ^ПДМ`=`Предмет`.`Ид`),
(SELECT `Ид` FROM `Предмет` WHERE `Код предмета` = 'МАТЕМ'),
(SELECT `Ид` FROM `Вопрос` WHERE `Код вопроса`='МАТ002'),
(SELECT `Ид` FROM `Тестирование` WHERE `Регномер тестирования` = 'МАТЭКЗ'),
(SELECT `Ид` FROM `Слушатель%ПЕРС` WHERE `Код слушателя`='002-Б'),
'92/3',
'5'
);
SELECT '`Ответ на вопрос:СНТ*ВБТ` Table contents:' FROM `Ответ на вопрос:СНТ*ВБТ` WHERE 1=0;
SELECT * FROM `Ответ на вопрос:СНТ*ВБТ`;
DROP PROCEDURE IF EXISTS `проц_Платежа`;
CREATE PROCEDURE `проц_Платеж` (IN `@Ид\Запись` INT) SELECT
`Плата`.`Нпп платежа` AS `Нпп платежа`,
`Плата`.`Дата платежа` AS `Дата платежа`,
`Плата`.`Сумма платежа` AS `Сумма платежа`,
`Плата`.`Назначение платежа` AS `Назначение платежа`,
`Спр`.`Код` AS `Код вида платежа`,
`Спр`.`Название` AS `Название вида платежа`,
`Стр`.`Код сотрудника` AS `Код сотрудника`,
`Стр`.`ФИО` AS `ФИО`
FROM `Платеж\ЗПС` AS `Плата`
INNER JOIN `Справка+` AS `Спр`
ON `Плата`.`Ид\ПЛАТ^СПР` = `Спр`.`Ид`
INNER JOIN `Сотрудник%ПЕРС` AS `Стр`
ON `Плата`.`Ид\ПЛАТ^СТР` = `Стр`.`Ид`
WHERE `Плата`.`Ид\ПЛАТ^ЗПС` = `@Ид\Запись`
;
CALL `проц_Платеж`(1);
CALL `проц_Платеж`(2);
DROP PROCEDURE IF EXISTS `проц_Предмет_группы`;
CREATE PROCEDURE `проц_Предмет_группы` (IN `@Ид\Запись` INT) SELECT
`Пдм`.`Код предмета` AS `Код предмета`,
`Пдм`.`Название предмета` AS `Название предмета`
FROM `Запись` AS `Зпс`
INNER JOIN `Предмет группы: ГРП*ПДМ` AS `ПДГП`
ON `Зпс`.`Ид\ЗПС^ГРП` = `ПДГП`.`Ид\ПДГП^ГРП`
RIGHT OUTER JOIN `Предмет` AS `Пдм`
ON `ПДГП`.`Ид\ПДГП^ПДМ` = `Пдм`.`Ид`
WHERE `Зпс`.`Ид` = `@Ид\Запись`
;
CALL `проц_Предмет_группы`(1);
CALL `проц_Предмет_группы`(2);
DROP VIEW IF EXISTS `вирт_Занятие`;
CREATE VIEW `вирт_Занятие` AS SELECT
`ЗНТ`.`Регномер занятия` AS `Регномер занятия`,
`ГРП`.`Номер группы` AS `Код группы`,
`ПДМ`.`Код предмета` AS `Код предмета`,
`ПДМ`.`Название предмета` AS `Название предмета`,
`СПР`.`Код` AS `Код вида предмета`,
`СПР`.`Название` AS `Название вида предмета`,
`СТР`.`Код сотрудника` 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 `СЛШ`.`Ид` = `СНЗ`.`Ид\СНЗ^СЛШ`
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 `Код предмета`,
`ПДМ`.`Название предмета` AS `Название предмета`,
COUNT(*) AS `Число студентов на тестировании`
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 `вирт_Тестрование`;