yurygolikov
@yurygolikov

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

Нужно реализовать с помощью реляционной модели данных.
Желательно совместимо с возможностями MySQL.

Приведу упрощенный пример того, что нужно реализовать:

1. Есть данные разных типов. Виды(атрибуты) данных постоянно будут расширяться(типы заранее не известны).
Пример:
data_1 data_2 data_3 (в дальнейшем будут добавлятся) data_4 data_5 ...


2. Единицы данных могут добавлятся связаннами или несвязанными группами. Эти группы фиксированные, но тоже могут расширятся по мере расширения данных.
Например группы могут быть такими:
Группа №1 data_1 data_2 
Группа №2 data_1 data_2 data_3 data_4
Группа №3 data_5 data_6
(И группы могут расширятся по мере расширения данных)
Группа №4 data_3 data_4 data_7 data_8


3. Эта сущность должна содержать в себе разный набор групп. Также расширяется по мере добавления новых групп.
Например:
Группа №1 Группа №2
Группа №3 Группа №4
Группа №1 Группа №2 Группа №3 Группа №4
(И группы могут расширятся по мере расширения данных)
Группа №3 Группа №4 Группа №5 Группа №6


Не прошу решить за меня, прошу покидать ключевые слова, того, что я скорее всего не знаю.
Прошу не ругать, теорию реляционных бд, знаю только основы.
  • Вопрос задан
  • 150 просмотров
Решения вопроса 1
sowenok
@sowenok
1. Советую прочитать полностью, ну а так раздел "Вертикальные таблицы":
https://ruhighload.com/post/%D0%94%D0%B5%D0%BD%D0%...

а 2 и 3 обычные таблицы связей. я думаю, в этой статье ты найдёшь ответ на свои вопросы.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
igruschkafox
@igruschkafox
Специалист по сопровождению БД MS SQL
Группы храните в формате XML в отдельной таблице
а в строку где необходимо указать некий набор (Группу) передавайте ID Группы
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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