D05: Модель данных — сущности¶
Обучающийся (Student)¶
| Атрибут | Тип | Описание | Источник |
|---|---|---|---|
| id | UUID | Внутренний идентификатор | ИС |
| last_name | string | Фамилия | Личное дело |
| first_name | string | Имя | Личное дело |
| middle_name | string? | Отчество | Личное дело |
| snils | string | СНИЛС | Документ |
| birth_date | date | Дата рождения | Паспорт |
| citizenship | enum | РФ / ЕАЭС / иное | Документ |
| status_id | FK→StudentStatus | Текущий академический статус | Приказ |
| financing | enum | бюджет / договор / целевое | Приказ / договор |
| enrollment_date | date | Дата зачисления | Приказ о зачислении |
| nabor_id | FK→Набор | Текущий набор (когорта) обучающегося — источник истины о норме | Приказ |
| program_id | FK→Program | Производное от набора (Набор → версия ОПОП). Не самостоятельный источник истины | Расчётное |
| course | int | Курс/год обучения | Расчётный |
| statuses | list[StudentStatusTag] | Множественные статусы (соц., фин., воинск.) | Разные источники |
Изменения шага 2 (норма-ось):
group_idудалён — членство в группах вынесено в связь «многие-ко-многим во времени» (см. ниже).nabor_idдобавлен.program_idстал производным от набора. Миграция: текущиеgroup_id→ членство сs = enrollment_date,tip = основная учебная.
Таксономия статусов обучающегося¶
Статусы разделяются на академический статус (один, определяет факт обучения) и дополнительные теги (несколько одновременно, описывают характеристики).
Академический статус (StudentStatus)¶
| Код | Название | Срочность |
|---|---|---|
| APPLICANT | Абитуриент | До зачисления |
| ENROLLED | Зачислен (активный) | Бессрочный |
| INDIVIDUAL_PLAN | Обучение по ИУП | Срочный |
| TRANSFERRED_COURSE | Переведён на следующий курс/программу | Бессрочный |
| ACADEMIC_LEAVE | Академический отпуск | Срочный |
| ACADEMIC_LEAVE_CHILD | Акад. отпуск по уходу за ребёнком | Срочный |
| REINSTATED | Восстановлен | Бессрочный |
| GIA_EXTERN | Прикреплён для сдачи ГИА | Срочный |
| EXPELLED_GRADUATE | Отчислен в связи с получением образования | Бессрочный |
| EXPELLED_OWN | Отчислен по собственному желанию | Бессрочный |
| EXPELLED_ACADEMIC | Отчислен за неуспеваемость | Бессрочный |
| EXPELLED_CONTRACT | Отчислен за невыполнение условий договора | Бессрочный |
| EXPELLED_DISCIPLINE | Отчислен как мера дисциплинарного взыскания | Бессрочный |
| EXPELLED_RESTORABLE | Отчислен с правом восстановления | Срочный |
| ARCHIVED | В архиве | Бессрочный |
Теги — финансовый статус¶
| Тег | Описание | Срочность |
|---|---|---|
| BUDGET | Бюджет | Бессрочный* |
| CONTRACT | Договор (платно) | Срочный |
| TARGET_CONTRACT | Целевой договор | Срочный |
| TARGET_VIOLATED | Нарушил целевой договор | Бессрочный |
Теги — стипендиальный статус¶
| Тег | Описание | Срочность |
|---|---|---|
| STIPEND_ACADEMIC | Академическая стипендия | Срочный |
| STIPEND_SOCIAL | Социальная стипендия | Срочный |
| STIPEND_NAMED | Именная / повышенная стипендия | Срочный |
Теги — социальный статус¶
| Тег | Описание | Объект привязки | Срочность |
|---|---|---|---|
| DISABILITY_1 / _2 / _3 | Инвалид I/II/III группы | Физлицо | Срочный |
| ORPHAN | Сирота | Физлицо | Бессрочный |
| LARGE_FAMILY | Из многодетной семьи | Физлицо | Бессрочный |
| LOW_INCOME | Малоимущий | Физлицо | Срочный |
| VETERAN | Ветеран боевых действий | Физлицо | Бессрочный |
| PREGNANT | Беременная | Физлицо | Срочный |
| PARENT | Родитель | Физлицо | Бессрочный |
| DISABILITY_HIA | Лицо с ОВЗ | Физлицо | Срочный |
Теги — миграционный статус¶
| Тег | Описание | Срочность |
|---|---|---|
| FOREIGNER_VNZh | Иностранный гражданин (ВНЖ) | Срочный |
| FOREIGNER_RVP | Иностранный гражданин (РВП) | Срочный |
| FOREIGNER_VISA | Иностранный гражданин (виза) | Срочный |
| COMPATRIOT | Соотечественник | Бессрочный |
Теги — воинский учёт¶
| Тег | Описание | Срочность |
|---|---|---|
| MILITARY_OBLIGATED | Военнообязанный | Бессрочный* |
| MILITARY_EXEMPT | Не военнообязанный | Бессрочный |
| MILITARY_DEFERRAL | Имеет отсрочку от призыва | Срочный |
Теги — статус общежития¶
| Тег | Описание | Срочность |
|---|---|---|
| DORM_NEEDED | Нуждается в общежитии | Срочный |
| DORM_PROVIDED | Предоставлено общежитие | Срочный |
| DORM_EXPELLED | Выселен из общежития | Бессрочный |
| DORM_BANNED | Лишён права на общежитие | Срочный/Бессрочный |
Теги — статус документов¶
| Тег | Описание | Срочность |
|---|---|---|
| DIPLOMA_ISSUED | Диплом выдан | Бессрочный |
| DIPLOMA_HONORS | Диплом с отличием | Бессрочный |
| DIPLOMA_DUPLICATE | Дубликат документа выдан | Бессрочный |
Классификатор приказов по контингенту¶
Источник:
framework.univercon.aplicon.ru/docs/students/database/list_of_orders.md
Блок А · Начало образовательных отношений¶
| Код | Вид приказа |
|---|---|
| ENROLL_MAIN | Зачисление на обучение по основным ОП |
| ENROLL_TRANSFER_IN | Зачисление в порядке перевода из другой ОО |
| ENROLL_EXTERN | Зачисление экстерна для сдачи промежуточной и ГИА |
| REINSTATE_AFTER_EXPEL | Восстановление после отчисления |
| REINSTATE_AFTER_LEAVE | Возвращение из академического отпуска |
Блок Б · Академическая мобильность¶
| Код | Вид приказа |
|---|---|
| CHANGE_PROGRAM | Перевод на другую образовательную программу |
| CHANGE_FORM | Перевод на другую форму обучения |
| TRANSFER_COURSE | Перевод на следующий курс |
| CHANGE_FINANCING | Изменение способа возмещения затрат (бюджет/договор) |
| IUP_GRANT | Перевод на индивидуальный учебный план |
| IUP_CANCEL | Прекращение обучения по ИУП |
| ACCELERATED | Организация ускоренного обучения |
| EXTERN_CREDITS | Зачёт результатов обучения экстернов |
| PRACTICE_STUDY | Направление на учебную практику |
| PRACTICE_PRODUCTION | Направление на производственную практику |
| PRACTICE_PREDIPLOM | Направление на преддипломную практику |
Блок В · Академические и социальные отпуска¶
| Код | Вид приказа |
|---|---|
| ACADEMIC_LEAVE_GRANT | Предоставление академического отпуска |
| ACADEMIC_LEAVE_EXTEND | Продление академического отпуска |
| ACADEMIC_LEAVE_EARLY | Досрочный выход из академического отпуска |
| MATERNITY_LEAVE | Отпуск по беременности и родам |
| CHILD_CARE_LEAVE | Отпуск по уходу за ребёнком |
| CHILD_CARE_RETURN | Выход из отпуска по уходу за ребёнком |
Блок Г · Завершение образовательных отношений¶
| Код | Вид приказа |
|---|---|
| GIA_ADMIT | Допуск к государственной итоговой аттестации |
| VKR_TOPICS | Утверждение тем выпускных квалификационных работ |
| VKR_SUPERVISORS | Утверждение руководителей ВКР |
| EXPEL_GRADUATE | Отчисление в связи с получением образования |
| EXPEL_OWN | Отчисление по собственному желанию |
| EXPEL_ACADEMIC | Отчисление за неуспеваемость |
| EXPEL_CONTRACT | Отчисление за невыполнение условий договора |
| EXPEL_DISCIPLINE | Отчисление как мера дисциплинарного взыскания |
Блок Д · Административно-организационные процедуры¶
| Код | Вид приказа |
|---|---|
| CHANGE_NAME | Изменение ФИО |
| CHANGE_CITIZENSHIP | Изменение гражданства |
| CHANGE_PASSPORT | Изменение паспортных данных |
| DOC_DIPLOMA | Выдача диплома и приложения |
| DOC_DIPLOMA_DUPLICATE | Выдача дубликата документа об образовании |
| DOC_STUDENT_CARD_DUP | Выдача дубликата студенческого билета |
| DOC_GRADEBOOK_DUP | Выдача дубликата зачётной книжки |
| DORM_CHECKIN | Заселение в общежитие |
| DORM_TRANSFER | Переселение в общежитии |
| DORM_CHECKOUT | Выселение из общежития |
Блок Е · Стимулирование и дисциплина¶
| Код | Вид приказа |
|---|---|
| STIPEND_ACADEMIC | Назначение государственной академической стипендии |
| STIPEND_SOCIAL | Назначение государственной социальной стипендии |
| STIPEND_PRESIDENT | Назначение стипендии Президента / Правительства РФ |
| MATERIAL_AID | Оказание материальной помощи |
| STATE_SUPPORT_FULL | Полное государственное обеспечение |
| DISCIPLINE_REMARK | Дисциплинарное взыскание: замечание |
| DISCIPLINE_REPRIMAND | Дисциплинарное взыскание: выговор |
| DISCIPLINE_LIFT | Снятие дисциплинарного взыскания |
Блок Ж · Организационное обеспечение¶
| Код | Вид приказа |
|---|---|
| COMMISSION_GEC | Формирование государственной экзаменационной комиссии |
| COMMISSION_APPEAL | Формирование апелляционной комиссии |
| COMMISSION_TRANSFER | Формирование комиссии по переводам и восстановлениям |
Блок З · Корректировка и отмена приказов¶
| Код | Вид приказа |
|---|---|
| ORDER_AMEND_TECH | Исправление технической ошибки в приказе |
| ORDER_AMEND_DETAILS | Изменение реквизитов приказа |
| ORDER_AMEND_SUPPLEMENT | Дополнение приказа |
| ORDER_CANCEL_CIRCUMSTANCES | Отмена приказа в связи с изменением обстоятельств |
| ORDER_CANCEL_VIOLATION | Отмена приказа в связи с выявлением нарушений |
| ORDER_CANCEL_COURT | Отмена приказа по решению суда или вышестоящих органов |
Сцепка с нормой (D06): Набор и приёмная кампания¶
Точка соединения двух осей — «кого/сколько» (D05) и «чему/как» (D06) — в одной сущности:
Набор. До этого шага у обучающегося была плоская ссылка program_id без версии и
когорты; теперь источник истины о норме — набор.
Набор (когорта)¶
Носитель привязки контингента к норме. Естественный ключ: специальность/направление × форма обучения × год набора.
| Атрибут | Тип | Описание |
|---|---|---|
| id | UUID | Идентификатор |
| napr_spec | FK | Специальность/направление |
| forma_obucheniya | enum | очная / очно-заочная / заочная |
| god_nabora | int | Год набора — ключ привязки к версии нормы |
| opop_versiya_id | FK→D06.Версия ОПОП | Привязка к версии ОПОП. Неизменна после создания набора |
| priyom_id | FK→Приёмная кампания | В какой кампании набран |
| naimenovanie | string | Например: «09.02.07, очная, набор 2024» |
Связь «многие-к-одному»: несколько наборов делят одну версию ОПОП, если норма между ними не менялась. Привязка набора не перецепляется при выходе новой версии — когорта доучивается по своей (инвариант 2 ниже). Форму возмещения затрат набор не несёт: после зачисления бюджетники и платники одного набора идут по одному учебному плану; платность живёт в договоре D09.
Приёмная кампания¶
Процесс инстанцирования нормы в людей. Подробности — процессом домена (D05-P01); здесь минимальная карточка для связи.
| Атрибут | Тип | Описание |
|---|---|---|
| id | UUID | Идентификатор |
| god | int | Год кампании |
| status | enum | открыта / закрыта |
КЦП (контрольные цифры приёма)¶
Квота бюджетных мест. Отдельный объект, не лицензия: лицензия разрешает учить, КЦП задаёт число бюджетных мест на год. План приёма = КЦП + договорные места, всё в границах лицензии.
| Атрибут | Тип | Описание |
|---|---|---|
| id | UUID | Идентификатор |
| napr_spec | FK | Специальность/направление |
| forma_obucheniya | enum | Форма |
| god | int | Год |
| mest_byudzhet | int | Число бюджетных мест |
Группа (ревизия) и Членство в группе¶
Группа перестаёт быть носителем нормы и одиночной привязкой обучающегося — это организационный срез, и срез временный.
| Атрибут (Группа) | Тип | Описание |
|---|---|---|
| id | UUID | Идентификатор |
| tip | enum | основная учебная / подгруппа / поток / элективная |
| nabor_id | FK? | Для основной группы — родительский набор; для потока/электива может быть межнаборной (пусто) |
| naimenovanie | string | Название |
Членство в группе — связь «многие-ко-многим во времени». Обучающийся одновременно может состоять в нескольких группах (основная + языковая подгруппа + лекционный поток + электив).
| Атрибут (Членство) | Тип | Описание |
|---|---|---|
| obuchayushchiysya_id | FK | Обучающийся |
| gruppa_id | FK | Группа |
| s | date | Начало членства |
| po | date? | Конец (пусто — действует) |
Траектория — представление, не хранимая сущность¶
Отдельную хранимую «Траекторию» не заводим — это вычисляемое представление развёртки плана на конкретного обучающегося. Из §4 доклада «Цифровая инфраструктура вуза»:
«Траектория обучающегося — это вычисляемое представление: развёрнутый учебный план обучающегося с учётом его выборов — какие дисциплины по выбору взял, какую тему курсовой утвердил, что перезачли при переводе. Индивидуальная траектория — не исключение из правил. Это норма, потому что каждый обучающийся делает свои выборы даже в самом обычном плане.»
Траектория складывается из трёх источников:
- План (D06) — текущий набор →
opop_versiya_id→ структура версии ОПОП: - строки учебного плана
- запланированные учебные события (§1.12 D06 — из РПД внутри дисциплины и из УП уровня программы)
- Выборы обучающегося — выбор дисциплин вариативной части, темы курсовой, элективов; фиксируются документами
- Факт (D04, D05) — лог приказов (классификатор D05), записи и ведомости D04, перезачёты при переводе / восстановлении
Перевод / смена формы = смена набора приказом → перецепление на другую версию; старые факты остаются неизменными.
Ключевое использование траектории — при формировании состава учебного события (§3 D04). Формулировка §4 доклада:
«Состав каждого учебного события формируется в момент его наступления, из тех, у кого это событие стоит в траектории, и чей статус позволяет на нём быть.»
Технически:
1. D06 порождает список запланированных учебных событий (для каждой строки УП + для
каждой темы каждой дисциплины)
2. Траектория обучающегося = развёртка этого списка с учётом его выборов и
перезачётов
3. При проведении слота D14 (§1.3 D14): состав каждого события внутри слота =
пересечение (у кого это событие в траектории) × (активный статус на дату) ×
(правило assignment_mode формы контроля)
Инварианты сцепки¶
- Обучающийся в активном статусе принадлежит ровно одному (текущему) набору; смена набора —
только приказом (
CHANGE_PROGRAM,CHANGE_FORM). Переход на следующий курс (TRANSFER_COURSE) набор не меняет — та же когорта на следующем году. Набор.opop_versiya_idнеизменна после создания. Перецепление к другой версии нормы — на уровне обучающегося (сменой набора), не правкой привязки набора.- Норму, по которой учится обучающийся, определяет набор, а не группа.
- Членство в группе — «многие-ко-многим во времени»; одновременных членств может быть несколько.
program_idобучающегося — производное от набора, не самостоятельный источник истины.
Дополнения от академического контура (D04)¶
Следующие сущности принадлежат D05 (физлицо в статусе обучающегося), но потребляются D04.
Обложка зачётной книжки¶
Записи зачётки (исходы ведомостей) принадлежат D04 как представление (витрина). Обложка — атрибут контингента, владелец D05.
erDiagram
OBUCHAYUSHCHIYSYA ||--o{ OBLOZHKA_ZACHETKI : "владеет"
OBLOZHKA_ZACHETKI ||--o| OBLOZHKA_ZACHETKI : "предыдущая_зачетка_id"
OBLOZHKA_ZACHETKI {
string nomer "номер с суффиксом /1 /2 при восстановлении / смене ФИО"
ref vladelec
period deystvie
enum status "активна|приостановлена|закрыта"
ref predydushchaya_zachetka_id
}
Правило суффикса: новый номер = max(суффиксы по ключу владелец+период) + 1.
Триггеры новой зачётки: восстановление, перевод, перезачёт, смена ФИО.
Период-исключение (источник для таймера задолженности D04)¶
D05 владеет фактами, останавливающими таймер академической задолженности. D04 потребляет их снимком по контракту (пересчёт при новом событии-исключении, не при каждом вычислении задолженности).
erDiagram
OBUCHAYUSHCHIYSYA ||--o{ PERIOD_ISKLYUCHENIYA : "имеет"
PERIOD_ISKLYUCHENIYA {
ref obuchayushchiysya
enum tip "академотпуск|болезнь|БиР"
date nachalo
date konec
ref dokument_osnovanie
}
Выговор (дисциплинарное взыскание)¶
Владелец — D05 (приказ, личное дело). Нормативное основание: ФЗ-273 ст. 43 — меры дисциплинарного взыскания для обучающихся: замечание, выговор, отчисление. ТК РФ ст. 192 к обучающимся не применяется (она регулирует взыскания работников). D04 только поставляет триггер: превышен порог неуважительных пропусков. Сам выговор оформляется и хранится в D05.
Тип приказа: DISCIPLINE_REPRIMAND (см. Блок Е выше).
erDiagram
OBUCHAYUSHCHIYSYA ||--o{ VYGOVOR : "наложен на"
VYGOVOR {
ref obuchayushchiysya
ref prikaz "тип DISCIPLINE_REPRIMAND"
date data
ref trigger_iz_D04 "событие превышения порога пропусков"
}
ERD (концептуальная схема)¶
erDiagram
Student ||--o{ Order : "изменяется через"
Student ||--|| PersonalFile : "имеет"
Student ||--o| EducationContract : "обучается по"
Student ||--|| StudentStatus : "имеет академический статус"
Student ||--o{ StudentStatusTag : "имеет дополнительные теги"
Student }o--|| Nabor : "принадлежит (текущий)"
Student ||--o{ GruppaChlenstvo : "состоит во времени"
Gruppa ||--o{ GruppaChlenstvo : "включает"
Gruppa }o--o| Nabor : "основная — в наборе"
Nabor }o--|| OPOP_Version : "пин по году набора (N:1, D06)"
Nabor }o--|| PriyomKampaniya : "набран в"
Nabor }o--o| KCP : "ограничен квотой"
Order }o--|| OrderType : "имеет вид"
Programстала производной (выводится по цепочкеНабор → версия ОПОП), поэтому в схеме заменена наNabor.OPOP_Version— внешняя сущность домена D06.