@phpNoobIvan

Как создать такую структуру таблицы в базе данных?

Как создать структуру такой таблицы в БД ? Вместо названия предметов будут Даты
6465a1f14c031104037244.png
Сложность в том что дат может быть неограниченно, поэтому не получается сделать к примеру 6 колонок для оценок (они будут добавляться по нажатию на кнопку)
  • Вопрос задан
  • 140 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Shavadrius
Храните в обычной таблице типа "фио", "предмет", "дата", "оценка". Разворачивать таблицу (придавать нужную форму) будете уже в запросе при отображении.
Если нужно прямо в БД чтобы была такая таблица в запросе - смотрите в сторону PIVOT.
Ответ написан
@alexalexes
Вообще, СУБД работают по теории реляционных таблиц.
Чтобы изобразить процесс проведения занятий, хотя бы в первом приближении, нужно описать хотя бы такой набор таблиц:
Таблица "Человек"
Id - код человека
Family - фамилия
Name - Имя
Patron - отчество

Таблица "Обучающися"
Id - код обучающегося
Man_ID - код человека из таблицы человек
Group_ID - код группы (учебного класса) из таблицы учебной группы

Таблица "работник"
Id - код работника
Man_id - код человека из таблицы человек
Role_Id - роль работника (преподаватель)

Таблица "Предметы"
ID - код предмета
Subj_Name - Название предмета

Таблица "Занятие" (фактически, расписание занятий)
ID - код занятия
Shedule_Date - дата проведения занятия
Pare_Id - код пары из таблицы пар (время занятия по порядку звонков на пары)
Group_Id - учебный класс (группа)
Teacher_Id - код из таблицы работника, кто будет вести занятие
Subj_Id - код предмета
Room_Id - код аудитории

Таблица "Точка контроля"
Id - код точки контроля
Type_Id - Тип контроля (классная работа, домашнее задание, контрольная работа, самостоятельная работа, экзамен, зачет и т.д,)
Event_Date - дата проведения контроля
Shedule_Id - код занятия из расписания

Таблица "Ведомость"
id - код ведомости
Control_Id - код точки контроля
Student_Id - код из таблицы обучающегося, кому ставят оценку
Mark_Id - код оценки из справочника оценок
Mark_date - дата выставления оценки

И с высоты такой простой модели данных, что вы имеете под понятием "дата"?
- Дата назначения занятия.
- Дата проведения контроля.
- Дата выставления оценки?
Ответ написан
Комментировать
tsklab
@tsklab
Здесь отвечаю на вопросы.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы