Описание таблиц БД

  Все таблицы имеют суррогатные первичные ключи с суффиксом «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 – идентификатор задания