@x-ider

Какую выбрать структуру базы данных для расписания занятий?

Приложение должно выдавать расписание на текущий день, на завтра, на неделю, на сейчас. В теории все пары преподавателя, например, чтобы найти и сдать долги^^, а также другие варианты.
Поскольку раньше с базами не работал, то после небольшого ознакомления решил использовать SQLite, но что со структурой!? Я прошёл небольшой курс, и, исходя из него, лучше будет разделить базу на несколько таблиц, например, с полями "день группа, "день, предмет", "предмет, преподаватель" и т.д., а затем объединять данные при запросе. Если использовать такую структуру, то будет ли лучше сделать отдельную таблицу для каждой группы? 800 групп, 6 дней, 4 занятия в среднем в день.
Вариант второй: заранее присвоить каждому преподавателю, корпусу, предмету... номер, после чего перевести всё расписание в вид: 2.1.4.0.3.6.3, где каждое число соответствует полю.

Извините, если где-то спорол глупость. Спасибо за ответы!
  • Вопрос задан
  • 4811 просмотров
Решения вопроса 1
@deliro
Таблица с преподавателями (id, ФИО)
Таблица с группами (id, Наименование)
Таблица с занятиями (id, Наименование)
Таблица с корпусами (id, Наименование)
Таблица со студентами (id, ФИО, id группы) - это, думаю, не нужно, но вдруг?
Таблица с расписанием (id, Номер п/п, день недели, id препода, id группы, id занятия, id корпуса)

Так можно будет гибко фильтровать. SQLite пойдёт, т.к. данных очень немного, но лучше всё равно postgres, если приложение серверное.
Возможно, нужно добавить ещё чётность недели?
А ещё вот сюда: https://ru.wikipedia.org/wiki/Третья_нормальная_форма
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы