Схема базы данных
Таблицы приложения «Школа» (префикс school_ в SQLite и PostgreSQL).
Диаграмма строится в браузере; ниже — перечень полей из моделей Django.
ER-диаграмма
erDiagram
PREPODAVATEL ||--o{ ZANYATIE : "ведёт"
KURS ||--o{ ZANYATIE : "входит в"
KABINET ||--o{ ZANYATIE : "проводится в"
ZANYATIE ||--o{ POSESHCHENIE : "имеет"
UCENIK ||--o{ POSESHCHENIE : "отмечен"
UCENIK ||--o{ PLATEZH : "оплачивает"
PREPODAVATEL {
int id "Идентификатор"
string fio "ФИО"
string instrument "Инструмент"
string phone "Телефон"
string email "Электронная почта"
}
UCENIK {
int id "Идентификатор"
string fio "ФИО"
date birth_date "Дата рождения"
string phone "Телефон"
string parent_contact "Контакт родителей"
}
KURS {
int id "Идентификатор"
string name "Название"
string description "Описание"
int duration "Длительность (мин)"
}
KABINET {
int id "Идентификатор"
string name "Название"
int capacity "Вместимость"
}
ZANYATIE {
int id "Идентификатор"
date lesson_date "Дата занятия"
time start_time "Время начала"
int duration "Длительность (мин)"
int course_id "Курс"
int teacher_id "Преподаватель"
int room_id "Кабинет"
}
POSESHCHENIE {
int id "Идентификатор"
string status "Статус"
int lesson_id "Занятие"
int student_id "Ученик"
}
PLATEZH {
int id "Идентификатор"
decimal amount "Сумма"
date payment_date "Дата оплаты"
string period "Период"
int student_id "Ученик"
}
Таблицы и поля
Курс — school_course
| Поле | Тип | Примечания |
|
ID
id ПК
|
Большое целое (авто) |
|
|
Название
name
|
Строка |
|
|
Описание
description
|
Текст |
|
|
Длительность (мин)
duration_minutes
|
Целое |
|
Занятие — school_lesson
| Поле | Тип | Примечания |
|
ID
id ПК
|
Большое целое (авто) |
|
|
Курс
course_id
|
Внешний ключ |
ВК → курс (school_course)
|
|
Преподаватель
teacher_id
|
Внешний ключ |
ВК → преподаватель (school_teacher)
|
|
Кабинет
room_id
|
Внешний ключ |
Необязательное
ВК → кабинет (school_room)
|
|
Дата занятия
lesson_date
|
Дата |
|
|
Время начала
start_time
|
Время |
|
|
Длительность (мин)
duration_minutes
|
Целое |
|
Посещение — school_lessonattendance
| Поле | Тип | Примечания |
|
ID
id ПК
|
Большое целое (авто) |
|
|
Занятие
lesson_id
|
Внешний ключ |
ВК → занятие (school_lesson)
|
|
Ученик
student_id
|
Внешний ключ |
ВК → ученик (school_student)
|
|
Статус
status
|
Строка |
|
Платёж — school_payment
| Поле | Тип | Примечания |
|
ID
id ПК
|
Большое целое (авто) |
|
|
Ученик
student_id
|
Внешний ключ |
ВК → ученик (school_student)
|
|
Сумма
amount
|
Десятичное число |
|
|
Дата оплаты
payment_date
|
Дата |
|
|
Период
period
|
Строка |
|
Кабинет — school_room
| Поле | Тип | Примечания |
|
ID
id ПК
|
Большое целое (авто) |
|
|
Название
name
|
Строка |
|
|
Вместимость
capacity
|
Целое |
|
Ученик — school_student
| Поле | Тип | Примечания |
|
ID
id ПК
|
Большое целое (авто) |
|
|
ФИО
full_name
|
Строка |
|
|
Дата рождения
birth_date
|
Дата |
|
|
Телефон
phone
|
Строка |
|
|
Контакт родителей
parent_contact
|
Строка |
|
Преподаватель — school_teacher
| Поле | Тип | Примечания |
|
ID
id ПК
|
Большое целое (авто) |
|
|
ФИО
full_name
|
Строка |
|
|
Инструмент
instrument
|
Строка |
|
|
Телефон
phone
|
Строка |
|
|
Электронная почта
email
|
Строка |
|