У меня есть таблица отображения как таковая:
english.Phrases (PhraseId int, WordId int, Order int)
Primary Key Clustered (PhraseId, WordId)
И еще одна таблица:
english.RelatedPhrases (RelatedPhraseId int, PhraseId int)
Как настроить отношение внешнего ключа между двумя таблицами, используя PhraseId
?
Отредактировано, чтобы ответить на комментарий к какой базе данных:
Я использую Microsoft SQL 2008, поэтому я изменил тег.
Отображение должно быть следующим; рассмотрим следующие фразы:
1. "turn out to be", phraseId of 1
2. "grow to be", phraseId of 2
3. "turn into", phraseId of 3
4. "come to be", phraseId of 4
Каждое слово имеет запись в следующей таблице:
english.Words (WordId int, Word varchar(20))
В таблице english.Phrases для "turn out to" есть следующие записи:
(1, @word1Id, 1) @word1Id = id of 'turn'
(1, @word2Id, 2) @word2Id = id of 'out'
(1, @word3Id, 3) @word3Id = id of 'to'
(1, @word4Id, 4) @word4Id = id of 'be'
Теперь, что я хочу от таблицы english.RelatedPhrases, это иметь PhraseId, равный 1, который представляет «оказывается», чтобы относиться к другим фразам, скажем, в данном случае, 2, 3 и 4; все 4 записи в RelatedPhrases, имеющие RelatedPhraseId = 1.