По тому, как вы пишете этот вопрос, легко понять, что вы действительно знаете, о чем говорите: ANSI / SQL / Microsoft T-SQL, первичные ключи против уникального индекса.
Ваш вопрос ясени вы предоставили не только серьезную справочную информацию по вашему вопросу, но и предоставили одно краткое решение;задача, которую многие не пытаются выполнить как часть первоначального вопроса.
Я прочитал ответ PerformanceDBA, и ваш вопрос остается;Какой индекс должен был быть первичным ключом, а какой - индексом (УНИКАЛЬНЫМ) (и должен ли он быть УНИКАЛЬНЫМ индексом)?
В этом сценарии я подозреваю, что имя_пользователя является желаемым Первичным ключом, учитывая, что он не только должен быть уникальным, но во многих системах индивидуальный вход в систему ДОЛЖЕН быть уникальным.В этом сценарии имя, отчество и DOB становятся внешним ключом (УНИКАЛЬНЫЙ ИНДЕКС).
В действительности может существовать сценарий, когда два человека существуют с одинаковыми именем, отчеством и DOB (таким образом, вы не можетехочу уникальный индекс на эти три поля).Учитывая, что вы предоставили только базовые схемы таблиц, я предполагаю, что для правильного решения этой проблемы потребуется гораздо больше усилий, чтобы выяснить эту проблему.
Это может быть не так подробно, как ответы, предоставленные PerformaceDBA, но я искренне надеюсь, что вы надеялись получить именно такое взаимодействие и обратную связь.