То, что вы описываете, звучит как измерение, полученное из других измерений, а не как таблица фактов. Я делал это много раз, когда у меня есть структура первичного ключа, комбинация внешних ключей и строковый столбец для обозначения имени. Определение продукта приходит на ум в качестве примера. Место отгрузки (с различными поисками, связанными) приходит как другое.
Рассмотрим следующий пример:
Расположение: Форт-Лодердейл, Уэст-Палм-Бич, Майами
В каждом месте может быть несколько мест доставки. Место отгрузки имеет различные атрибуты, такие как система упаковки, система ремней Converyor, диапазон веса продукта, типы комплектации. Все они находятся в справочных таблицах.
Итак, у меня есть таблица ShippingLocation со следующими столбцами
- ShippingLocationId (PK)
- PackagingSystemId (FK)
- ConveyorBeltTypeId (FK)
- ProductWeightRangeId (FK)
- ShippingLocationName VarChar (200)
Мне кажется очень логичным, что название места доставки будет там же, где определено место доставки и определены его атрибуты. Единственная возможная нормализация, которую я вижу здесь, состоит в том, что я могу взять это к таблице 1 к 1. ИМО, это бесполезная нормализация.