Выбор первичного ключа

Не используйте почтовый индекс или номер социального страхования

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

Почему первичный ключ важен

Выбор первичного ключа является одним из наиболее важных решений, которые вы принимаете при разработке новой базы данных. Наиболее важным ограничением является то, что вы должны убедиться, что выбранный ключ является уникальным. Если возможно, что две записи – прошлые, настоящие или будущие – могут иметь одно и то же значение для атрибута, это плохой выбор для первичного ключа.

Другим важным аспектом первичного ключа является его использование другими таблицами, связанными с ним в реляционной базе данных. В этом аспекте первичный ключ действует как цель указателя. Из-за этих взаимозависимостей первичный ключ должен существовать при создании записи, и он никогда не может измениться.

Плохой выбор для первичных ключей

То, что некоторые люди могут считать очевидным выбором первичного ключа, может оказаться плохим выбором. Вот несколько примеров:

  • Почтовые индексы не являются хорошими первичными ключами для таблицы городов. Если вы создаете простую таблицу поиска городов, почтовый индекс кажется логическим первичным ключом. Однако после дальнейшего расследования вы можете понять, что более одного города используют один и тот же почтовый индекс. Например, города Нью-Джерси, Нептун, Нептун, Тинтон-Фолс и Уолл-Тауншип, имеют общий индекс 07753.
  • Номера социального страхования не являются хорошими первичными ключами по многим причинам. Большинство людей считают свой SSN частным и не хотят, чтобы он был четко виден пользователям базы данных. Некоторые люди не имеют SSN – иностранцы или иммигранты, которые никогда не получали карту социального обеспечения. SSN также могут быть повторно использованы после смерти человека. Человек может иметь более одного SSN в течение жизни, когда Администрация социального обеспечения выдает новый номер в случаях мошенничества или кражи личных данных.
  • Адреса электронной почты также являются плохим выбором для первичного ключа. Хотя они уникальны, они могут меняться со временем. Кроме того, не у всех есть адрес электронной почты.

Выбор эффективного первичного ключа

Итак, что делает хороший первичный ключ? В большинстве случаев обратитесь за поддержкой к вашей системе баз данных.

Лучшей практикой в ​​проектировании баз данных является использование внутренне сгенерированного первичного ключа. Ваша система управления базами данных обычно может генерировать уникальный идентификатор, который не имеет значения вне системы базы данных. Например, вы можете использовать тип данных Microsoft Access AutoNumber для создания поля с именем RecordID. Тип данных AutoNumber автоматически увеличивает поле при каждом создании записи. Хотя само число не имеет смысла, оно обеспечивает надежный способ ссылки на отдельную запись в запросах.

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

Оцените статью
Solutics.ru
Добавить комментарий