отношение внешнего ключа часто находится между внешним ключом в одной таблице и первичным ключом в другой.
первичный ключ неявно создает индекс.Не внешние ключи.В большинстве случаев рекомендуется добавлять индекс для столбца внешнего ключа.
ключи - это ограничения, гарантирующие согласованность данных, и использование индекса может повысить производительность доступа к данным.Так что это разные вещи, которые вы часто комбинируете на практике и, следовательно, часто путаете.
Относительно сиротских рядов Я думаю, что концепция ключей состоит в том, чтобы предотвратить это.Но я не совсем уверен, правильно ли я понимаю, что вы спрашиваете здесь.Я думаю, что добавление строк-сирот невозможно, а создание ключей, если строки-сироты существуют, звучит как-то невозможно.
см. Также другие вопросы о SO, относящиеся к теме внешнего ключа / индекса.Вот еще несколько хороших ответов , связанных с первичным ключом / ключом / индексом