#mysql #database #database-design #foreign-keys
#mysql #База данных #база данных-дизайн #внешние ключи
Вопрос:
если у меня есть две неидентифицированные связи, FK_one
и FK_two
. Единственный способ, которым я не могу поместить их в качестве единого первичного ключа, — это когда я добавляю PK к FK_one
и FK_two
, но если я это сделаю, отношение теперь идентифицировано.
Итак, мой вопрос: у меня может быть только два внешних ключа в качестве PK, если они являются идентифицированными отношениями, правильно? в противном случае они не могут использоваться как PK, даже если у меня есть два или более FK (неидентифицированных отношений)
Ответ №1:
Идентифицированная связь «идентифицируется» с помощью 2 или более FK в качестве первичных ключей и без суррогатного ключа. Таким образом, вы получаете составной первичный ключ, но, насколько я знаю, вы можете иметь все первичные ключи, которые вы хотите, но это плохо сказывается на производительности сервера.
Комментарии:
1. в принципе, вы подтверждаете: у меня может быть только два внешних ключа в качестве PK, если они являются идентифицированной связью?
2. Вы можете использовать все FKS в качестве PK, которые вы хотите. В тот момент, когда вы создаете FK из PK, вы создаете идентифицированную связь между двумя таблицами.