На этом уроке мы создадим список сущностей проекта. Каждая сущность - это таблица в базе данных. Но не каждая таблица - это сущность :) Самостоятельное задание - подумать о связях между ними.
Дата отправки отчёта:
23 марта 2018 г.
Задание выполнено: за
1 час. 22 мин.
Чему научился:
Планировать сущности и их взаимосвязи для дальнейшей работе над таблицами. Т.е. поработал немного архитектором БД
Что было сложным:
Мне как кажется центральной сущностью в Школе2 является не сама Школа как вы представили и попросили указать взаимосвязи с остальными сущностями а центральное звено - УЧЕНИК (USER) Он главная сущность ради чего все это затеяно.
Научился: Выделять сущности и определять их поля Трудности: Просмотреть взаимосвязь сущностей Меня хватило только до платежной системы, т.к. по работе с ней нет никакого опыта.
По ходу выписывания полей и взаимосвязей выявила еще две сущности:
RANK - звание пользователя (строки таблицы будут содержать элементы, к которым разрешен или запрещен доступ)
guest - гость
pupil - ученик
teach - учитель
moder - модератор
parth - партнер
bouhg - бухгалтер
admin - администратор
TEST - тесты для шагов (что-то типа отдельного теста для консольной задачи, но может быть использован и в отчетах)
id - идентификатор
step_id - идентификатор шага
data - начальные данные
result - результат (для сравнения)
type - тип доступа
Возможно, стоило бы отобразить все эти сущности с полями на схеме проекта.
Очень тяжёлая это работа, планировать БД, на своём опыте могу сказать, что сколько её не планируй, а во время опытной эксплуатации, всё равно найдутся такие места, что будешь разводить руками и говорить, ну как же я сразу до таких таблиц или до таких связей не додумался.
Вот пример пары таблиц:
USER
id - ключевое поле
status
raiting
дата последнего посещения
USER_INFO
id
nickname
password
фамилия
имя
отчество
дата рождения
дата регистрации
адрес
телефон
...
PAYMENT_DATA
id
курс/урок
статус платежа
стоимость
дата оплаты
дата предоставления доступа к курсу
дата окончания предоставления доступа