из дизайнерских баз данных точки зрения, что из перечисленного будет считаться наилучшей практикой ?:Проектирования баз данных - удвоиться данные в столбцах
Если вам нужно сохранить категорию и подкатегорию для записи данных (как целые числа), параметры можно увидеть:
а) хранить категорию и подкатегорию в отдельных областях (трудно увидеть, что категория конкретной подкатегорию имеет на первый взгляд)
б) хранить как в том же поле разделенные периодом (сводки данных или анализ уровня категории требуют, чтобы функция выполнялась над каждой записью для извлечения Категория)
c) Храните категорию и подкатегорию отдельно, но объедините их в поле Подкатегория (т. Категория = 1, Подкатегория = 1.2) (Данные категории будут удвоены, и существует вероятность того, что Подкатегория будет несовместимой с категорией)
Или существует другой подход, который считается лучшей практикой?
«чтобы убедиться, что« категория », хранящаяся в« записи », соответствует категории, связанной с« подкатегорией ». - Определить записи FK' (категория, подкатегория) 'referencing' subcategeries (категория, подкатегории) 'и пусть РСУБД проверяет согласованность. То же самое следует использовать и для таблицы «многие-ко-многим». –
Я думаю, что в обобщенном подходе это точка ответа. Я думаю, что единственным дополнительным рассмотрением было бы, если категории и подкатегории имеют своего рода Ragged Hierarchy, и в этом случае моделирование этого сценария выглядит иначе. –
@BradD: Да, отличная точка. Анализ данных и моделирование отношений сущностей являются ключами к конструкции реляционной базы данных. Из довольно общего вопроса, который был задан, мы действительно не знаем, что представляют собой «запись данных», «категория» и «подкатегория». Это просто ярлыки. И мы проявляем осторожность, чтобы не обременять эти ярлыки предполагаемыми семантическими правилами, как раз из предложений возможных представлений. Более тщательный анализ заставит нас найти реальные требования, и на основе этого мы можем принимать решения о представлении. – spencer7593