Составной первичный ключ на MySQL верстаке - PullRequest
0 голосов
/ 21 марта 2019

Я генерирую составной первичный ключ на таблице корзины product_Id и User_Id. Это первичные ключи в таблице product и таблице user соответственно.

Итак

  • Нужно ли делать ссылку на эти первичные ключи (внешние ключи, чтобы единственными существующими идентификаторами были те, которые существуют в обеих таблицах)?
  • Могу ли я оставить его как два первичных ключа?
  • Как мне добавить их в MySqlWorkbench?

Ответы [ 2 ]

0 голосов
/ 21 марта 2019

Это зависит от того, чего вы хотите достичь с помощью своей базы данных.

Скорее всего, вы хотите добавить их в качестве внешних ключей в вашу таблицу n-n. Проще всего открыть верстак в представлении моделирования и определить отношение n к n между продуктом и пользователем.

Это обеспечит целостность данных в ваших таблицах.

Возможно, вы захотите иметь только одно соединение на пару пользователь - продукт. Этого можно добиться, создав уникальный индекс без этих двух или сделав их первичным ключом для этой новой таблицы. Лично я бы не стал использовать составной ключ, поскольку ваша модель может измениться, и вы станете более гибкими.

0 голосов
/ 21 марта 2019

Из того, что я пробовал в прошлом, лучше всего сделать product_id и user_id внешними ключами и ссылаться на их соответствующие первичные ключи в таблицах product и user. Таким образом, вы можете быть уверены, что данные заполнены неправильно.

...