diff --git a/db/Sample.sql b/db/Sample.sql index 10a9f3a378cd5853a2777d789d97ca6b378cc4ec..9c4c5753b433ca795f795baf989c90416142bf5d 100644 --- a/db/Sample.sql +++ b/db/Sample.sql @@ -39,8 +39,7 @@ INSERT INTO `job_positions` (`ID`, `Name`) VALUES (10, 'Профессор'), (11, 'Старший преподаватель'), (12, 'Стажер'), -(13, 'Старший научный сотрудник'), -(14, 'Доцент'); +(13, 'Старший научный сотрудник'); -- -- Дамп данных таблицы `accounts` diff --git a/db/Structure.sql b/db/Structure.sql index 11985a4125d25ca21d4c0f795c0e60bde92abecb..b669520c661a7d82b53f3bed636433b14c14a31f 100644 --- a/db/Structure.sql +++ b/db/Structure.sql @@ -36,20 +36,23 @@ CREATE TABLE IF NOT EXISTS `accounts` ( `isEnabled` tinyint(1) NOT NULL DEFAULT '1', `UserAgent` text, PRIMARY KEY (`ID`), - UNIQUE KEY `Login` (`Login`,`EMail`), + UNIQUE KEY `Login` (`Login`), + UNIQUE KEY `EMail` (`EMail`), KEY `UserRoleID` (`UserRoleID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; + -- -------------------------------------------------------- -- --- Структура таблицы `job_positions` +-- Структура таблицы `accounts` -- CREATE TABLE IF NOT EXISTS `job_positions` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `Name` varchar(200) NOT NULL, - PRIMARY KEY (`ID`) + PRIMARY KEY (`ID`), + UNIQUE KEY `Name` (`Name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- @@ -63,6 +66,7 @@ CREATE TABLE IF NOT EXISTS `departments` ( `Name` varchar(200) NOT NULL, `FacultyID` int(11) NOT NULL, PRIMARY KEY (`ID`), + UNIQUE KEY `Name` (`Name`,`FacultyID`), KEY `FacultyID` (`FacultyID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -100,6 +104,7 @@ CREATE TABLE IF NOT EXISTS `disciplines_groups` ( `DisciplineID` int(11) NOT NULL, `StudyGroupID` int(11) NOT NULL, PRIMARY KEY (`ID`), + UNIQUE KEY `DisciplineID_2` (`DisciplineID`,`StudyGroupID`), KEY `DisciplineID` (`DisciplineID`), KEY `StudyGroupID` (`StudyGroupID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -116,6 +121,7 @@ CREATE TABLE IF NOT EXISTS `disciplines_students` ( `StudentID` int(11) NOT NULL, `Type` enum('attach','detach') NOT NULL, PRIMARY KEY (`ID`), + UNIQUE KEY `DisciplineID_2` (`DisciplineID`,`StudentID`), KEY `DisciplineID` (`DisciplineID`), KEY `StudentID` (`StudentID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -146,7 +152,8 @@ CREATE TABLE IF NOT EXISTS `faculties` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `Name` varchar(100) NOT NULL, `Abbr` varchar(20) NOT NULL, - PRIMARY KEY (`ID`) + PRIMARY KEY (`ID`), + UNIQUE KEY `Name` (`Name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- @@ -224,6 +231,7 @@ CREATE TABLE IF NOT EXISTS `rating_table` ( `Rate` int(11) NOT NULL, `Date` date NOT NULL, PRIMARY KEY (`ID`), + UNIQUE KEY `StudentID_2` (`StudentID`,`SubmoduleID`), KEY `StudentID` (`StudentID`), KEY `SubmoduleID` (`SubmoduleID`), KEY `TeacherID` (`TeacherID`) @@ -255,7 +263,8 @@ CREATE TABLE IF NOT EXISTS `semesters` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `Year` int(11) NOT NULL, `Num` int(11) NOT NULL, - PRIMARY KEY (`ID`) + PRIMARY KEY (`ID`), + UNIQUE KEY `Year` (`Year`,`Num`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- @@ -270,6 +279,7 @@ CREATE TABLE IF NOT EXISTS `specializations` ( `Abbr` varchar(20) NOT NULL, `FacultyID` int(11) NOT NULL, PRIMARY KEY (`ID`), + UNIQUE KEY `Name` (`Name`,`FacultyID`), KEY `FacultyID` (`FacultyID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -304,6 +314,7 @@ CREATE TABLE IF NOT EXISTS `study_groups` ( `SpecializationID` int(11) NOT NULL, `Name` varchar(50) DEFAULT NULL, PRIMARY KEY (`ID`), + UNIQUE KEY `Grade` (`Grade`,`GroupNum`,`SpecializationID`), KEY `SpecializtionID` (`SpecializationID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -317,7 +328,8 @@ CREATE TABLE IF NOT EXISTS `subjects` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `Name` varchar(50) NOT NULL, `Abbr` varchar(20) DEFAULT NULL, - PRIMARY KEY (`ID`) + PRIMARY KEY (`ID`), + UNIQUE KEY `Name` (`Name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- --------------------------------------------------------