diff --git a/db/Sample.sql b/db/Sample.sql deleted file mode 100644 index 3ac1fc2543edbc23215d993fa1cf4bbfda528694..0000000000000000000000000000000000000000 --- a/db/Sample.sql +++ /dev/null @@ -1,306 +0,0 @@ --- phpMyAdmin SQL Dump --- version 4.0.10 --- http://www.phpmyadmin.net --- --- РҐРѕСЃС‚: 127.0.0.1:3306 --- Время создания: РђРІРі 28 2014 Рі., 19:29 --- Версия сервера: 5.5.37-log --- Версия PHP: 5.3.28 - -SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; -SET time_zone = "+00:00"; - - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8 */; - --- --- База данных: `Sample2` --- - --- --- Дамп данных таблицы `grades` --- -INSERT INTO `grades` (`ID`, `Num`, `Degree`) VALUES -(1, 1, 'bachelor'), -(2, 2, 'bachelor'), -(3, 3, 'bachelor'), -(4, 4, 'bachelor'), -(5, 5, 'specialist'), -(6, 1, 'master'), -(7, 2, 'master'); - --- --- Дамп данных таблицы `job_positions` --- - -INSERT INTO `job_positions` (`ID`, `Name`) VALUES -(1, 'Аспирант'), -(2, 'Ассистент'), -(3, 'Ведущий научный сотрудник'), -(4, 'Главный научный сотрудник'), -(5, 'Докторант'), -(6, 'Доцент'), -(7, 'Младший научный сотрудник'), -(8, 'Научный сотрудник'), -(9, 'Преподаватель'), -(10, 'Профессор'), -(11, 'Старший преподаватель'), -(12, 'Стажер'), -(13, 'Старший научный сотрудник'); - --- --- Дамп данных таблицы `accounts` --- - -INSERT INTO `accounts` (`ID`, `Login`, `Password`, `EMail`, `UserRoleID`, `ActivationCode`, `IsEnabled`, `UserAgent`) VALUES -(1, 'student1', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student1@mail.ru', 1, NULL, 1, NULL), -(2, 'student2', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student2@mail.ru', 1, NULL, 1, NULL), -(3, 'student3', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student3@mail.ru', 1, NULL, 1, NULL), -(4, 'student4', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student4@mail.ru', 1, NULL, 1, NULL), -(5, 'student5', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student5@mail.ru', 1, NULL, 1, NULL), -(6, 'student6', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student6@mail.ru', 1, NULL, 1, NULL), -(7, 'student7', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student7@mail.ru', 1, NULL, 1, NULL), -(8, 'student8', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student8@mail.ru', 1, NULL, 1, NULL), -(9, NULL, NULL, NULL, 1, 'code2', 1, NULL), -(10, 'student10', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student10@mail.ru', 1, NULL, 1, NULL), -(11, 'student11', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student11@mail.ru', 1, NULL, 1, NULL), -(12, 'student12', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student12@mail.ru', 1, NULL, 1, NULL), -(13, 'student13', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student13@mail.ru', 1, NULL, 1, NULL), -(14, 'student14', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student14@mail.ru', 1, NULL, 1, NULL), -(15, 'student15', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student15@mail.ru', 1, NULL, 1, NULL), -(16, 'teacher1', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'teacher1@mail.ru', 2, NULL, 1, NULL), -(17, 'teacher2', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'teacher2@mail.ru', 2, NULL, 1, NULL), -(18, 'teacher3', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'teacher3@mail.ru', 3, NULL, 1, NULL), -(19, 'teacher4', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'teacher4@mail.ru', 2, NULL, 1, NULL), -(20, NULL, NULL, NULL, 2, 'code1', 1, NULL); - - --- --- Дамп данных таблицы `faculties` --- - -INSERT INTO `faculties` (`ID`, `Name`, `Abbr`) VALUES -(1, 'Рнститут математики, механики Рё компьютерных наук', 'Мехмат'), -(2, 'Юридический факультет', 'Юрфак'); - - --- --- Дамп данных таблицы `subjects` --- - -INSERT INTO `subjects` (`ID`, `Name`, `Abbr`) VALUES -(1, 'Математический анализ', 'Матан'), -(2, 'Дифференциальные уравнения', 'Диф. СѓСЂ-СЏ'), -(3, 'Рностранный язык', 'РРЅ.СЏР·.'), -(4, 'Операционные системы', 'РћРЎ'), -(5, 'Международное право', 'Меж. РїСЂ-РІРѕ'), -(6, 'Р РёРјСЃРєРѕРµ право', 'Р РёРј. РїСЂ-РІРѕ'); - - --- --- Дамп данных таблицы `subjects_faculties` --- - -INSERT INTO `subjects_faculties` (`ID`, `SubjectID`, `FacultyID`) VALUES -(1, 1, 1), -(2, 2, 1), -(3, 3, 1), -(4, 3, 2), -(5, 4, 1), -(6, 5, 2), -(7, 6, 2); - - - --- --- Дамп данных таблицы `departments` --- - -INSERT INTO `departments` (`ID`, `Name`, `FacultyID`) VALUES -(1, 'Кафедра алгебры Рё дискретной математики', 1), -(2, 'Кафедра высокопроизводительных вычислений Рё информационно-​коммуникационных технологий', 1), -(3, 'Кафедра вычислительной математики Рё математической физики', 1), -(4, 'Кафедра геометрии', 1), -(5, 'Кафедра дифференциальных Рё интегральных уравнений', 1), -(6, 'Кафедра информатики Рё вычислительного эксперимента', 1), -(7, 'Кафедра высшей математики Рё исследования операций ', 1), -(8, 'Кафедра математического анализа', 1), -(9, 'Кафедра математического моделирования', 1), -(10, 'Кафедра прикладной математики Рё программирования', 1), -(11, 'Кафедра теоретической Рё компьютерной гидроаэродинамики', 1), -(12, 'Кафедра теории упругости', 1), -(13, 'Кафедра технологий автоматизации РІ бизнесе', 1), -(14, NULL, 1), -(15, 'Кафедра международного права', 2), -(16, NULL, 2); - --- --- Дамп данных таблицы `semesters` --- - -INSERT INTO `semesters` (`ID`, `Year`, `Num`) VALUES -(1, 2014, 1); - --- --- Дамп данных таблицы `specializations` --- - -INSERT INTO `specializations` (`ID`, `Name`, `Abbr`, `FacultyID`) VALUES -(1, 'Прикладная математика Рё информатика', 'РџРњРёР', 1), -(2, 'Рнформационные технологии', 'РРў', 1), -(3, 'Математика', 'Матем', 1), -(4, 'Механика', 'Механика', 1), -(5, NULL, NULL, 1), -(6, NULL, NULL, 2); - --- --- Дамп данных таблицы `study_groups` --- - -INSERT INTO `study_groups` (`ID`, `GradeID`, `GroupNum`, `SpecializationID`, `Name`) VALUES -(1, 1, 1, 1, NULL), -(2, 1, 2, 5, NULL), -(3, 1, 3, 2, NULL), -(4, 2, 1, 1, NULL); - --- --- Дамп данных таблицы `students` --- - -INSERT INTO `students` (`ID`, `GroupID`, `AccountID`, `LastName`, `FirstName`, `SecondName`) VALUES -(1, 1, 1, 'Началов', 'Сергей', 'Петрович'), -(2, 1, 2, 'РњРёСЂРѕРЅРѕРІР°', 'Людмила', 'Ргоревна'), -(3, 1, 3, 'Гервич', 'Лев', 'Романович'), -(4, 1, 4, 'Кузнецов', 'Валентин', 'Сергеевич'), -(5, 1, 5, 'Трошкина', 'Екатерина', 'Сергеевна'), -(6, 2, 6, 'Пустовалова', 'Жанна', 'Михайловна'), -(7, 2, 7, 'Каменюкин', 'Роман', 'Васильевич'), -(8, 2, 8, 'Сапрыкин', 'Михаил', 'Рванович'), -(9, 2, 9, 'Брагин', 'Николай', 'Карпович'), -(10, 2, 10, 'Поркофьева', 'РСЂРёРЅР°', 'Витальевна'), -(11, 3, 11, 'Кошкина', 'Антонина', 'Михайловна'), -(12, 3, 12, 'РљСѓСЂРґСЋРјРѕРІ', 'Алексей', 'Николаевич'), -(13, 3, 13, 'Шульженко', 'Александр', 'Михайлович'), -(14, 3, 14, 'Мальцева', 'РђРЅРЅР°', 'Юрьевна'), -(15, 3, 15, 'Константинов', 'Антон', 'Витальевич'); - --- --- Дамп данных таблицы `teachers` --- - -INSERT INTO `teachers` (`ID`, `LastName`, `FirstName`, `SecondName`, `JobPositionID`, `DepartmentID`, `AccountID`) VALUES -(1, 'Лобачевский', 'Николай', 'Рванович', 1, 14, 16), -(2, 'Лафонтен', 'РђРЅСЂРё', NULL, 2, 14, 17), -(3, 'Карамзин', 'Николай', 'Михайлович', 3, 14, 18), -(4, 'Пачоли', 'Лука', NULL, 3, 1, 19), -(5, 'Менделеев', 'Дмитрий', 'Рванович', 3, 14, 20); - --- --- Дамп данных таблицы `disciplines` --- - -INSERT INTO `disciplines` (`ID`, `GradeID`, `SubjectID`, `AuthorID`, `ExamType`, `SemesterID`, `PracticeCount`, `LectureCount`, `FacultyID`) VALUES -(1, 1, 1, 1, 'exam', 1, 0, 36, 1), -(2, 1, 5, 2, 'exam', 1, 18, 36, 1), -(3, 1, 2, 1, 'credit', 1, 18, 0, 1), -(4, 1, 4, 1, 'credit', 1, 18, 0, 1); - --- --- Дамп данных таблицы `modules` --- - -INSERT INTO `modules` (`ID`, `Name`, `OrderNum`, `DisciplineID`, `Type`) VALUES -(1, 'Ркзамен', 100, 1, 2), -(2, 'Теория пределов', 2, 1, 1), -(3, 'Дифференцирование', 3, 1, 1), -(4, 'Рнтегрирование', 4, 1, 1), -(5, 'Ркзамен', 100, 2, 2), -(6, 'Модуль 1', 2, 2, 1), -(7, 'Модуль 2', 3, 2, 1), -(8, 'Линейные дифференциальные уравнения', 1, 3, 1), -(9, 'Дифференциальные уравнения второго РїРѕСЂСЏРґРєР°', 2, 3, 1), -(10, 'Устройство операцинных систем', 1, 4, 1), -(11, 'Многопоточность', 2, 4, 1), -(12, 'Добор баллов', 50, 1 , 4), -(13, 'Добор баллов', 50, 2 , 4); - --- --- Дамп данных таблицы `submodules` --- - -INSERT INTO `submodules` (`ID`, `ModuleID`, `Name`, `OrderNum`, `MaxRate`, `Description`, `Type`) VALUES -(1, 2, 'Ответы РЅР° занятиях', 1, 5, '', 'CurrentControl'), -(2, 2, 'Тест', 2, 5, '', 'CurrentControl'), -(3, 2, 'Контрольная работа', 3, 10, '', 'LandmarkControl'), -(4, 3, 'Ответы РЅР° занятиях', 1, 5, '', 'CurrentControl'), -(5, 3, 'Рндивидуальные задания', 2, 5, '', 'CurrentControl'), -(6, 3, 'Контрольная работа', 3, 10, '', 'LandmarkControl'), -(7, 4, 'Ответы РЅР° занятиях', 1, 5, '', 'CurrentControl'), -(8, 4, 'Самостоятельная работа', 2, 5, '', 'CurrentControl'), -(9, 4, 'Контрольная работа', 3, 10, '', 'LandmarkControl'), -(10, 6, 'Ответы РЅР° занятиях', 1, 10, '', 'CurrentControl'), -(11, 6, 'Реферат', 2, 10, '', 'CurrentControl'), -(12, 6, 'Контрольная работа', 3, 10, '', 'LandmarkControl'), -(13, 7, 'Ответы РЅР° занятиях', 1, 10, '', 'CurrentControl'), -(14, 7, 'Доклад', 2, 10, '', 'CurrentControl'), -(15, 7, 'Контрольная работа', 3, 10, '', 'LandmarkControl'), -(16, 8, 'Ответы РЅР° занятиях', 1, 10, '', 'CurrentControl'), -(17, 8, 'Домашние задания', 2, 10, '', 'CurrentControl'), -(18, 8, 'Самостоятельная работа', 3, 10, '', 'CurrentControl'), -(19, 8, 'Контрольный тест', 4, 20, '', 'LandmarkControl'), -(20, 9, 'Ответы РЅР° занятиях', 1, 10, '', 'CurrentControl'), -(21, 9, 'Домашние задания', 2, 10, '', 'CurrentControl'), -(22, 9, 'Рндивидуальное задание', 3, 10, '', 'CurrentControl'), -(23, 9, 'Контрольный тест', 4, 20, '', 'LandmarkControl'), -(24, 10, 'Домашние задания', 1, 10, '', 'CurrentControl'), -(25, 10, 'Рндивидуальное задание', 2, 10, '', 'CurrentControl'), -(26, 10, 'Самостоятельная работа', 3, 10, '', 'CurrentControl'), -(27, 10, 'Коллоквиум', 4, 20, '', 'LandmarkControl'), -(28, 11, 'Домашние задания', 1, 10, '', 'CurrentControl'), -(29, 11, 'Рндивидуальное задание', 2, 10, '', 'CurrentControl'), -(30, 11, 'Контрольный работа', 3, 20, '', 'LandmarkControl'), -(31, 1, '', 1, 40, '', 'LandmarkControl'), -(32, 1, '', 2, 40, '', 'LandmarkControl'), -(33, 1, '', 3, 40, '', 'LandmarkControl'), -(34, 5, '', 1, 40, '', 'LandmarkControl'), -(35, 5, '', 2, 40, '', 'LandmarkControl'), -(36, 5, '', 3, 40, '', 'LandmarkControl'), -(37, 12, '', 1, 38, NULL, 'LandmarkControl'), -(38, 13, '', 1, 38, NULL, 'LandmarkControl'); - --- --- Дамп данных таблицы `disciplines_teachers` --- - -INSERT INTO `disciplines_teachers` (`ID`, `DisciplineID`, `TeacherID`) VALUES -(1, 1, 1), -(2, 1, 3), -(3, 2, 2), -(4, 3, 1), -(5, 4, 1); - --- --- Дамп данных таблицы `disciplines_groups` --- - -INSERT INTO `disciplines_groups` (`ID`, `DisciplineID`, `GroupID`) VALUES -(1, 1, 3), -(2, 2, 1), -(3, 2, 2), -(4, 2, 3), -(5, 3, 1), -(6, 3, 2), -(7, 3, 3), -(8, 4, 1), -(9, 4, 2), -(10, 4, 3); - - - - -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/db/StoredFunctions.sql b/db/StoredFunctions.sql index 3ecdec2f74e27d65b688a914fad4a24adf42f5e6..9c2e4d3f8197b83726b45e449692001a55924a04 100644 --- a/db/StoredFunctions.sql +++ b/db/StoredFunctions.sql @@ -521,6 +521,39 @@ BEGIN END // +-- -1 - РЅРµ сотрудник деканата Рё РЅРµ преподаватель дисциплины +-- 0 - только чтение +-- 1 - редактирование +DROP FUNCTION IF EXISTS GetEditRightsForTeacher// +CREATE FUNCTION `GetEditRightsForTeacher` + ( `pTeacherID` INT, + `pDisciplineID` INT + ) RETURNS int(11) + NO SQL +BEGIN + DECLARE vUserRole, vDiscTeacherID INT DEFAULT -1; + + SELECT disciplines_teachers.ID INTO vDiscTeacherID + FROM `disciplines_teachers` + WHERE disciplines_teachers.DisciplineID = pDisciplineID AND + disciplines_teachers.TeacherID = pTeacherID; + + IF vDiscTeacherID > 0 THEN + RETURN 1; + END IF; + + SELECT accounts.UserRoleID INTO vUserRole + FROM `teachers` + INNER JOIN `accounts` ON teachers.AccountID=accounts.ID + WHERE teachers.ID = pTeacherID; + IF vUserRole = 4 THEN # 4 - сотрудник деканата + RETURN 0; + END IF; + + RETURN -1; +END // + + # ------------------------------------------------------------------------------------------- # Label: students diff --git a/db/Structure.sql b/db/Structure.sql index 18cd400ee24fd9d99156b09919cd042e3cc6b984..a62e171ae0bb4c98eafa4e51fc8300f60d3298c1 100644 --- a/db/Structure.sql +++ b/db/Structure.sql @@ -30,11 +30,11 @@ SET time_zone = "+00:00"; CREATE TABLE IF NOT EXISTS `accounts` ( `ID` int(11) NOT NULL AUTO_INCREMENT, - `Login` varchar(50) CHARACTER SET utf8_general_ci DEFAULT NULL, - `Password` varchar(64) CHARACTER SET utf8_general_ci DEFAULT NULL, - `EMail` varchar(255) CHARACTER SET utf8_general_ci DEFAULT NULL, + `Login` varchar(50) CHARACTER SET utf8 DEFAULT NULL, + `Password` varchar(64) CHARACTER SET utf8 DEFAULT NULL, + `EMail` varchar(255) CHARACTER SET utf8 DEFAULT NULL, `UserRoleID` int(11) NOT NULL, - `ActivationCode` varchar(40) CHARACTER SET utf8_general_ci DEFAULT NULL, + `ActivationCode` varchar(40) CHARACTER SET utf8 DEFAULT NULL, `IsEnabled` tinyint(1) NOT NULL DEFAULT '1', `UserAgent` text, `Notification` int(11) NOT NULL DEFAULT '0', @@ -53,7 +53,7 @@ CREATE TABLE IF NOT EXISTS `accounts` ( CREATE TABLE IF NOT EXISTS `job_positions` ( `ID` int(11) NOT NULL AUTO_INCREMENT, - `Name` varchar(200) CHARACTER SET utf8_general_ci NOT NULL, + `Name` varchar(200) CHARACTER SET utf8 NOT NULL, PRIMARY KEY (`ID`), UNIQUE KEY `Name` (`Name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -66,7 +66,7 @@ CREATE TABLE IF NOT EXISTS `job_positions` ( CREATE TABLE IF NOT EXISTS `departments` ( `ID` int(11) NOT NULL AUTO_INCREMENT, - `Name` varchar(200) CHARACTER SET utf8_general_ci NULL, + `Name` varchar(200) CHARACTER SET utf8 NULL, `FacultyID` int(11) NOT NULL, PRIMARY KEY (`ID`), UNIQUE KEY `Name` (`Name`,`FacultyID`), @@ -160,8 +160,8 @@ CREATE TABLE IF NOT EXISTS `disciplines_teachers` ( CREATE TABLE IF NOT EXISTS `faculties` ( `ID` int(11) NOT NULL AUTO_INCREMENT, - `Name` varchar(100) CHARACTER SET utf8_general_ci NOT NULL, - `Abbr` varchar(20) CHARACTER SET utf8_general_ci NOT NULL, + `Name` varchar(100) CHARACTER SET utf8 NOT NULL, + `Abbr` varchar(20) CHARACTER SET utf8 NOT NULL, PRIMARY KEY (`ID`), UNIQUE KEY `Name` (`Name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -175,8 +175,8 @@ CREATE TABLE IF NOT EXISTS `faculties` ( CREATE TABLE IF NOT EXISTS `general_settings` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `Val` int(11) DEFAULT NULL, - `ValS` varchar(300) CHARACTER SET utf8_general_ci DEFAULT NULL, - `Name` varchar(50) CHARACTER SET utf8_general_ci NOT NULL, + `ValS` varchar(300) CHARACTER SET utf8 DEFAULT NULL, + `Name` varchar(50) CHARACTER SET utf8 NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -228,7 +228,7 @@ CREATE TABLE IF NOT EXISTS `logs_signin` ( CREATE TABLE IF NOT EXISTS `modules` ( `ID` int(11) NOT NULL AUTO_INCREMENT, - `Name` varchar(200) CHARACTER SET utf8_general_ci NOT NULL, + `Name` varchar(200) CHARACTER SET utf8 NOT NULL, `OrderNum` int(11) NOT NULL, `DisciplineID` int(11) NOT NULL, `Type` enum('regular','exam', 'bonus', 'extra') NOT NULL DEFAULT 'regular', @@ -245,7 +245,7 @@ CREATE TABLE IF NOT EXISTS `modules` ( CREATE TABLE IF NOT EXISTS `page_access` ( `ID` int(11) NOT NULL AUTO_INCREMENT, - `Pagename` text CHARACTER SET utf8_general_ci NOT NULL, + `Pagename` text CHARACTER SET utf8 NOT NULL, `Bitmask` int(11) NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -280,8 +280,8 @@ CREATE TABLE IF NOT EXISTS `rating_table` ( CREATE TABLE IF NOT EXISTS `requests` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `AccountID` int(11) DEFAULT NULL, - `Title` varchar(50) CHARACTER SET utf8_general_ci NULL DEFAULT NULL, - `Description` text CHARACTER SET utf8_general_ci NOT NULL, + `Title` varchar(50) CHARACTER SET utf8 NULL DEFAULT NULL, + `Description` text CHARACTER SET utf8 NOT NULL, `Date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `Status` enum('opened','processed','closed') NOT NULL DEFAULT 'opened', PRIMARY KEY (`ID`), @@ -347,9 +347,9 @@ CREATE TABLE IF NOT EXISTS `semesters` ( CREATE TABLE IF NOT EXISTS `specializations` ( `ID` int(11) NOT NULL AUTO_INCREMENT, - `Name` varchar(50) CHARACTER SET utf8_general_ci NULL, - `Abbr` varchar(20) CHARACTER SET utf8_general_ci NULL, - `Code` varchar(12) CHARACTER SET utf8_general_ci NULL, + `Name` varchar(50) CHARACTER SET utf8 NULL, + `Abbr` varchar(20) CHARACTER SET utf8 NULL, + `Code` varchar(12) CHARACTER SET utf8 NULL, `FacultyID` int(11) NOT NULL, PRIMARY KEY (`ID`), UNIQUE KEY `Name` (`Name`,`FacultyID`), @@ -366,9 +366,9 @@ CREATE TABLE IF NOT EXISTS `students` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `GroupID` int(11) NOT NULL, `AccountID` int(11) NOT NULL, - `LastName` varchar(30) CHARACTER SET utf8_general_ci NOT NULL, - `FirstName` varchar(30) CHARACTER SET utf8_general_ci NOT NULL, - `SecondName` varchar(30) CHARACTER SET utf8_general_ci DEFAULT NULL, + `LastName` varchar(30) CHARACTER SET utf8 NOT NULL, + `FirstName` varchar(30) CHARACTER SET utf8 NOT NULL, + `SecondName` varchar(30) CHARACTER SET utf8 DEFAULT NULL, PRIMARY KEY (`ID`), KEY `GroupID` (`GroupID`), KEY `AccountID` (`AccountID`) @@ -385,7 +385,7 @@ CREATE TABLE IF NOT EXISTS `study_groups` ( `GradeID` int(11) NOT NULL, `GroupNum` int(11) NOT NULL, `SpecializationID` int(11) NOT NULL, - `Name` varchar(50) CHARACTER SET utf8_general_ci DEFAULT NULL, + `Name` varchar(50) CHARACTER SET utf8 DEFAULT NULL, PRIMARY KEY (`ID`), UNIQUE KEY `GradeID_2` (`GradeID`,`GroupNum`,`SpecializationID`), KEY `GradeID` (`GradeID`), @@ -400,8 +400,8 @@ CREATE TABLE IF NOT EXISTS `study_groups` ( CREATE TABLE IF NOT EXISTS `subjects` ( `ID` int(11) NOT NULL AUTO_INCREMENT, - `Name` varchar(200) CHARACTER SET utf8_general_ci NOT NULL, - `Abbr` varchar(20) CHARACTER SET utf8_general_ci DEFAULT NULL, + `Name` varchar(200) CHARACTER SET utf8 NOT NULL, + `Abbr` varchar(20) CHARACTER SET utf8 DEFAULT NULL, PRIMARY KEY (`ID`), UNIQUE KEY `Name` (`Name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -435,7 +435,7 @@ CREATE TABLE IF NOT EXISTS `submodules` ( `MaxRate` int(11) NOT NULL, `OrderNum` int(11) NOT NULL, `Name` varchar(200) NOT NULL, - `Description` varchar(200) CHARACTER SET utf8_general_ci DEFAULT NULL, + `Description` varchar(200) CHARACTER SET utf8 DEFAULT NULL, `IsUsed` tinyint(1) NOT NULL DEFAULT 0, `Type` enum('CurrentControl','LandmarkControl') NOT NULL DEFAULT 'CurrentControl', PRIMARY KEY (`ID`), @@ -469,9 +469,9 @@ CREATE TABLE IF NOT EXISTS `grades` ( CREATE TABLE IF NOT EXISTS `teachers` ( `ID` int(11) NOT NULL AUTO_INCREMENT, - `LastName` varchar(30) CHARACTER SET utf8_general_ci NOT NULL, - `FirstName` varchar(30) CHARACTER SET utf8_general_ci NOT NULL, - `SecondName` varchar(30) CHARACTER SET utf8_general_ci DEFAULT NULL, + `LastName` varchar(30) CHARACTER SET utf8 NOT NULL, + `FirstName` varchar(30) CHARACTER SET utf8 NOT NULL, + `SecondName` varchar(30) CHARACTER SET utf8 DEFAULT NULL, `JobPositionID` int(11) NOT NULL, `DepartmentID` int(11) NULL, `AccountID` int(11) NOT NULL, @@ -491,7 +491,7 @@ CREATE TABLE IF NOT EXISTS `teachers` ( CREATE TABLE IF NOT EXISTS `user_roles` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `Type` enum('student','teacher') NOT NULL, - `RoleName` varchar(30) CHARACTER SET utf8_general_ci NOT NULL, + `RoleName` varchar(30) CHARACTER SET utf8 NOT NULL, `Mark` int(11) NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -507,7 +507,7 @@ CREATE TABLE IF NOT EXISTS `recovery_tokens` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `AccountID` int(11) NOT NULL, `Date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - `Token` varchar(100) CHARACTER SET utf8_general_ci NOT NULL, + `Token` varchar(100) CHARACTER SET utf8 NOT NULL, `IsUsed` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`ID`), KEY `AccountID` (`AccountID`),