Наличие идентификатора входа и PersonID в SQL - PullRequest
5 голосов
/ 21 июля 2011

Я создаю приложение, которое потребует от пользователя регистрации и создания учетной записи.

Должен ли я использовать логин этого человека (это адрес электронной почты) в качестве уникального идентификатора записи, или я должен также создать PersonID (или rec_id).

Почему я должен (или не должен) создавать rec_id?

Ответы [ 2 ]

4 голосов
/ 21 июля 2011

Если вы используете адрес электронной почты в качестве первичного ключа в таблице Person и внешний ключ в связанных таблицах, будет трудно реализовать функцию Change Email - вместо одного обновления вы будете вынуждены добавить новую запись в Person , обновить все связанные записи и затем удалить запись со старым адресом электронной почты.

3 голосов
/ 21 июля 2011

Конечно, почтовый адрес человека обычно должен быть уникальным. Но дополнительный идентификатор записи может использоваться в качестве внешнего ключа в других таблицах, что значительно упрощает объединение таблиц.

...