Как это решить? Использовать стол для бриджа?

Я разрабатываю звездную схему и сталкиваюсь с этой проблемой. У меня есть две таблицы измерений - продукт (ключ = идентификатор продукта) и клиент (ключ = идентификатор клиента). В другой таблице есть три поля: бизнес-единица, идентификатор продукта и идентификатор клиента. В этой таблице один идентификатор продукта относится ко многим бизнес-единицам и многим идентификаторам клиентов. Мой вопрос: нужно ли мне размещать третью таблицу в качестве промежуточной таблицы между Product Dim и Customer Dim? Или что должно быть лучшим способом решить эту проблему?


Продукт тусклый

ID продукта Название продукта .... ....и т.д.


Customer_Dim

Customer_Id Имя клиента Тип клиента .....и т.д.


Третий стол

Идентификатор продукта бизнес-подразделения Идентификатор клиента ... и т. д.

Прямо сейчас я создал третью таблицу как таблицу Bridge и присоединился к Product и Customer Dim. Третья таблица будет иметь Product_id и Customer_id в качестве FK и Business Unit в качестве атрибута. Это правильный подход?

Спасибо, Арун


person Arun.K    schedule 02.09.2015    source источник
comment
Да, вы должны использовать третью таблицу в качестве таблицы-моста и создать два внешних ключа по отношению к другим таблицам.   -  person Polux2    schedule 03.09.2015
comment
Так таблица моста содержит только FK? В моем случае в сводной таблице есть два FK (идентификатор продукта, идентификатор клиента) и несколько других атрибутов, таких как бизнес-подразделение и т. д. Это правильный способ или мне не следует включать атрибуты в связующую таблицу?   -  person Arun.K    schedule 03.09.2015


Ответы (1)


Да, это то, что называется отношением many-to-many. . Продукт может быть связан со многими компаниями, а компания может быть связана со многими продуктами.

person Guffa    schedule 02.09.2015
comment
Спасибо Гуфа. Так что на самом деле мне нужно принести оба FK или только один? - person Arun.K; 03.09.2015
comment
@ Arun.K: Вам нужны оба внешних ключа, иначе у вас будет соединение только между двумя таблицами и таблицей, которая не связана. - person Guffa; 03.09.2015
comment
Могу ли я иметь атрибуты в таблице мостов, кроме FK. Поскольку я использую третью таблицу в качестве моста, у нее есть такие атрибуты, как бизнес-единица и т. д. - person Arun.K; 03.09.2015
comment
@ Арун.К: Да, можешь. Это будут данные, которые относятся к отношению. - person Guffa; 03.09.2015