первичный ключ как внешний ключ - PullRequest
3 голосов
/ 14 июня 2011

У меня есть этот дизайн

table: users
-------------
PK id_users
users

table: single_users
--------------------
PK FK users_id_users
something

table: workers
---------------
PK FK single_users_users_id_users
something

есть ли проблема сделать PK в качестве внешнего ключа? как в примере выше?

спасибо

1 Ответ

3 голосов
/ 14 июня 2011

Я думаю, что это нормально, если у вас есть отношения один-ко-многим между пользователями и работниками и пользователями-одиночниками.

Примечание: вам все же придется иметь многозначный PK.Например,

users 
1 Al
2 Eve
3 Bob

user_workers
1 something_1
1 something_2

Итак, вы должны иметь идентификатор и что-то в качестве составного первичного ключа.Часто проще дать работникам поле id, которое является первичным ключом.

Итак:

user_workers
id | user_id | something
1    1         something_1
2    1         something_2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...