Использовать подгруппы в базах данных - PullRequest
0 голосов
/ 20 октября 2019

В настоящее время я ищу лучший способ использовать подгруппы в базах данных.

Как вы можете видеть на рисунке, объект «Блок» может быть «Календарь», «Съемка» или «Галерея». "объект. Каждый объект имеет разную структуру.

enter image description here Изображение

Как лучше всего использовать следующую структуру в базе данных, такой как MySQL или Cassandra?

1 Ответ

0 голосов
/ 20 октября 2019

Существует несколько параметров:

  • Наследование отдельных таблиц : одна таблица для всех типов продуктов, с достаточным количеством столбцов для хранения всех атрибутов всех типов. Это означает множество столбцов, большинство из которых имеют значение NULL в любой данной строке.

  • Наследование таблицы классов : одна таблица для продуктов, в которой хранятся атрибуты, общие для всех продуктовтипы. Затем по одной таблице для каждого типа продукта с сохранением атрибутов, специфичных для данного типа продукта.

  • Наследование бетонной таблицы : нет таблицы для общих атрибутов Products. Вместо этого одна таблица для каждого типа продукта, содержащая как общие атрибуты продукта, так и атрибуты, специфичные для продукта.

Они скопированы из одного из моих старых ответов: https://stackoverflow.com/a/695860/20860

Как всегда, «лучшее» решение зависит от того, как вы будете запрашивать данные.

...