Поскольку вы отметили MySQL, похоже, вы ищете дизайн реляционной базы данных. Реляционная база данных - normalized для устранения дублирования данных.
Рассматривая форму, мы можем создать 7 таблиц базы данных; Учебная сессия, тег, тег тренировочной сессии, погружение, погружение на тренировочном сеансе, оборудование и оборудование для обучения. Вы уже придумали 2 таблицы. Как правило, имена таблиц являются единственными.
Итак, давайте посмотрим, как вы определяете таблицу обучения.
Training Session
----------------
Training Session ID
Training Session Title
Training Session Description
Training Session Time Stamp
Training Session Duration
учебной сессия ID является Автоинкрементным целым или длинным, а также первичным или кластеризации ключ таблицы. Остальные атрибуты должны быть понятны.
Следующая таблица, на которую мы будем смотреть, - это тег.
Tag
---
Tag ID
Tag Name
Tag Description
...
Как и таблица Training Session, идентификатор тега является основным ключом для этой таблицы. Таблица тегов содержит одну строку для каждого из возможных меток, которые могут быть применены к учебной сессии.
Теперь у нас есть тренировки, и у нас есть теги. Следующий шаг - связать тренировки с соответствующими тегами. Для этого мы создадим таблицу соединений, Тестовый тег тренировки.
Training Session Tag
--------------------
Training Session ID
Tag ID
...
Первичным ключом для этой таблицы является комбинация идентификаторов учебного сеанса и идентификатора тега. Это дает вам теги для определенной тренировки. Если вам нужны тренировочные сессии для определенного тега, вам понадобится дополнительный уникальный индекс (идентификатор тега, идентификатор учебного сеанса).
Я думаю, что вы можете найти таблицы погружений и оборудования, а также таблицы стыковки тренировочного сеанса обучения и тренировочного сеанса.
Ну, на самом деле довольно просто. Я думаю, что моя первоначальная идея этой формы была немного сложнее, но, глядя на нее сейчас, ваше предложение имеет смысл. Наверное, я начал пропускать лес за деревьями, поэтому я придумал этот field_type и полевые вещи. Спасибо, я пойду с этим предложением! –