У меня есть вариант использования, где мне нужно моделировать справочные данные, например. различные вкусы мороженого. Скажем, у меня 50 ароматов мороженого: -Схема схемы базы данных для большого количества столбцов
- 20 атрибутов, например. морозостойкость, сливовость будет распространяться по всем вкусам
- каждый аромат мороженого должен иметь 20-30 атрибутов, которые не будут использоваться другими ароматизаторами, например. : -
- Клубничное мороженое может отслеживать терпкость, процент фруктов и т.д.
- Шоколадное мороженое может отслеживать горечь, уровень какао и т.д.
Как бы смоделировать эти данные аккуратно в базе данных модели, чисто с точки зрения хранения/поиска?
варианты я могу думать: -
- Одна таблица на вкус. Это потребует 50 таблиц, и каждая таблица будет иметь 20 столбцов, которые будут перекрываться друг с другом, и еще 20-30 атрибутов, которые будут уникальными для вкуса.
- Плюсы: модели данных каждого аромата достаточно хорошо
- Минусы: колонка перекрытия и большое количество таблиц необходимо
- Один стол для всех вкусов. Для этого потребуется только одна таблица, но потребуется 1000+ столбцов, большинство из которых будут пустыми.
- Плюсы: моделирующего данные мороженого в целом, достаточно хорошо
- Минусы: большое количество столбцов и большое количество «впустую» пространство
- Один стол ключ-значение для всех вкусов, с Идентификатор вкуса, имя атрибута и значение атрибута.
- Плюсы: проще создавать и вставлять данные
- Минусы: труднее извлечь, на самом деле не модель данных сама по себе, трудно сформировать ограничения для атрибутов, или для атрибутов, связанных с другими атрибутами
Наверное, лучше подойдет [dba.se] –
В моей карьере с длинной, но не особенно выдающейся карьерой у меня никогда не было работы по созданию базы данных DBA. IMO это действует на StackOverflow. –
спасибо! большинство, если не весь наш дизайн db также делают разработчики ... – Ronbear