Как создать связь между многими таблицами? - PullRequest
0 голосов
/ 21 апреля 2020

Таблица поставщиков

id | name

1  | supplier1

2  | supplier2

Таблица продуктов

id | name

1  | product1

2  | product2

Таблица атрибутов

id | name

1  | width

2  | heigh

3  | weight

4  | volume

таблица поставщика_продукта

supplier_id | product_id | price

1           | 1          | 1000

1           | 2          | 1500

2           | 1          | 1100

attribute_product

supplier_id | product_id | attribute_id | value

1           | 1          | 1            | 10

1           | 1          | 2            | 15

1           | 1          | 3            | 20

1           | 2          | 1            | 11

1           | 2          | 2            | 16

2           | 1          | 1            | 10

2           | 1          | 2            | 13
  • Каждый поставщик имеет много продуктов
  • Каждый продукт принадлежит многим поставщикам.
  • Каждый продукт имеет много атрибутов
  • Каждый атрибут относится ко многим продуктам.

У меня вопрос: правильный ли дизайн таблицы или есть более точный метод?

1 Ответ

0 голосов
/ 21 апреля 2020

Учитывая тот факт, что цена и значение атрибута одного и того же продукта варьируются от поставщика к поставщику, я думаю, что дизайн правильный.

В таблицах нет частичной или переходной зависимости. Также эти таблицы представлены в BCNF и 4NF. И, следовательно, дизайн достаточно эффективен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...