Описание таблиц БД
Все таблицы имеют суррогатные первичные ключи с суффиксом «ID», тип int, автоинкрементные (свойство identity)
Таблица Year – учебный год
Year_ID – первичный ключ
YearName – название учебного года, например, «2021/2022»
Таблица Subj – дисциплины
Subj_ID – первичный ключ
SubjName – название дисциплины
SubjVisible видима ли дисциплина
Таблица Topic – темы дисциплины
Topic_ID - первичный ключ
TopicName – название темы
TopicNumb – порядковый номер темы
Subj_ID – идентификатор дисциплины
Visible – видима ли тема
Таблица Grupp
Grupp_ID – первичный ключ
GruppName - название группы
Year_ID – идентификатор учебного года
CanChooseKurse – студенты группы имеют право выбирать тему курсовой работы
KursDir – директория, в которой находятся задания к курсовой работе
nStud – число студентов в группе; вычисляемое поле
Таблица Student
Student_ID – первичный ключ
FIO – фамилия, имя, отчество
Grupp_ID – идентификатор группы
Psw – пароль для входа в приложение студента
MarkK – оценка за курсовую работу
MarkE – экзаменационная оценка
MarkZ – оценка за зачет (+, -)
KursDate – дата выбора темы курсовой работы
IsLocked – студент не имеет права отправлять выполненные работы в БД
Email – почтовый адрес
Таблица Task – задания для лабораторных работ
Task_ID – первичный ключ
TaskName – название задания
TaskNumb – порядковый номер задания
Topic_ID – тема, к которой относятся задания
SubGroup – не используется
Mark – сложность в относительных баллах
IsVisible – видят ли это задание студенты
IsOptiona – задание является факультативным
Deadline – последний срок отправки на проверку
Таблица TaskFile – файлы, относящиеся к заданию
TaskFile_ID – первичный ключ
TaskFileName – имя файла
CheckFile – файл подлежит проверке преподавателем
Task_ID – идентификатор задания, которому относится файл
FileContent – BLOB поле. Content файла.
IsUtf8 – true, если файл в кодировке utf-8
ToSend – файл должен быть отправлен в БД для проверки
Таблица Decision – решение задачи студентом
Decision_ID – идентификатор решения
Task_ID – идентификатор задания
Student_ID – идентификатор студента
AnwerTime – дата-время отправки решения на проверку
Attempt – удалить
Status_ID – идентификатор статуса выполненного задания из таблицы Status
Teach_ID – идентификатор преподавателя, проверившего решение
CtrlDate – дата-время проверки задания
ip – ip компьютера, с которого отправлено решение
hostname – имя компьютера
Таблица DecisionFile – файлы, относящиеся к выполненному заданию
DecisionFile_ID – первичный ключ
DecisionFile – имя файла
Decision_ID – идентификатор решения, к которому относится файл
FileContent – content файла
Таблица Teach – проверяющие преподаватели
Teach_ID – первичный ключ
TeachName – фамилия преподавателя
TeachLogin – login для соединения с сервером БД
IsActive – является ли преподаватель действующим (может быть уволился)
Таблица Status – возможные статусы выполненных заданий
Status_ID – первичный ключ
StatusName – название статуса. Возможные значения:
Red, Green, Blue – составляющие цвета для строки в таблице решений в приложении
IsFinal – статус не может быть изменен (например, для статуса «списано»)
Таблица Comment – комментарии студента и преподавателя по поводу задания
Comment_ID – первичный ключ
Decision_ID – идентификатор решения
Comment – текст комментария
DatTim – дата-время отправки комментария
Student_ID – идентификатор студента
Task_ID – идентификатор задания