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

Оглавление:

Выбор первичного ключа для базы данных
Выбор первичного ключа для базы данных
Anonim

Базы данных зависят от ключей для хранения, сортировки и сравнения или создания отношений между записями. Если вы какое-то время работали с базами данных, вы, вероятно, слышали о разных типах ключей: первичные ключи, ключи-кандидаты и внешние ключи.

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

Image
Image

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

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

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

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

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

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

Что делает первичный ключ хорошим

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

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

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

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

Рекомендуемые: