Я получил этот составной первичный ключ в таблице 1:Как ссылаться на составной первичный ключ в одно поле?
Table 1: Applicant
CreationDate PK
FamilyId PK
MemberId PK
Мне нужно создать внешний ключ в таблице 2 для ссылки на этот составной ключ. Но я не хочу создавать три поля в таблице 2, но объединять их в одном поле.
Table 2: Sales
SalesId int,
ApplicantId -- This should be "CreationDate-FamilyId-MemberId"
Каковы возможные способы достижения этого?
Примечания: Я знаю, что я могу создать еще одно поле в таблице 1, с конкатенацией три колонок, но тогда я буду иметь избыточную информацию
Боюсь, что вы не можете сделать это точно так, как хотите. Просто добавьте столбец идентификатора в таблицу «Заявитель» и сделайте этот первичный ключ, а затем добавьте некластеризованный уникальный индекс на другие три. – Alireza
Хотя можно было как-то заставить его - вам пришлось бы сравнить строку (часть) с датой (возможно) некоторым числом (-ами) или их комбинацией. Таким образом, вы должны либо следовать Alireza, либо сохранять отдельные столбцы в целости. – Abecee
Попытка сделать это, как указано, на самом деле является нарушением практики нормализации, потому что в итоге вы получаете ключи с несколькими частями. С этим все проблемы, не делайте этого. Сделайте то, что говорит @Alireza, и создайте суррогатный идентификатор (возможно, другое автоматически сгенерированное поле). –