Требования первичного ключа - PullRequest
1 голос
/ 26 сентября 2019

Стоит ли хранить номер телефона в качестве первичного ключа в СУБД?Они уникальны почти для всех нас.Но мой друг говорит, что это не очень хорошая идея по следующим причинам:

  • Что если два человека в семье имеют общий номер телефона?
  • Что если у человека нет телефона?номер телефона?

Что вы думаете, пожалуйста, дайте мне знать!.

Ответы [ 3 ]

1 голос
/ 26 сентября 2019

Я был бы против этой идеи, как правило, по причинам:

  • Это личная информация, и я рекомендовал бы использовать ее с осторожностью, если вы связаны с GDPR.Некоторые пользователи могут попросить вас не использовать свои номера телефонов.Позже может потребоваться хэшировать или маскировать часть телефонного номера или даже полностью избавиться от него.

  • Значение зависит от ввода пользователя, даже если оно подтверждено.Существует несколько служб, которые предоставляют вам номер телефона для проверки, если вы не находитесь в стране назначения средства проверки.

  • Необходимо определить схему номера телефона, если она будетсодержать код страны, скобки или пробелы.

  • Должна быть проверка для предотвращения дубликатов и нулевых значений.

В итоге это неХорошая идея использовать поле, которое зависит от внешних фактов.Как уже упоминалось, использование автоматически сгенерированного идентификатора для идентификатора и неуникального индекса для телефонного номера кажется лучшим подходом.

1 голос
/ 26 сентября 2019

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

Три очень хороших критерия (но не абсолютные правила) для выбора и разработки ключей: Простота, Стабильность, Знакомство.Номера телефонов просты и знакомы для многих целей.Достаточно ли они стабильны, вероятно, сильно зависит от обстоятельств.Например, вам может потребоваться, чтобы все ваши сотрудники указали уникальный номер телефона для аутентификации с использованием третьего фактора, но, вероятно, время от времени его можно изменить.

1 голос
/ 26 сентября 2019

для чего нужен номер телефона в качестве первичного ключа, для идентификации личности?в этом случае у одного человека может быть несколько телефонных номеров (мобильный / домашний телефон), поэтому не рекомендуется использовать номер телефона в качестве первичного ключа.Также ваш вопрос прав, что если у человека нет номера телефона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...