Разница между первичным ключом и ключом-кандидатом

Первичный ключ против ключа-кандидата
 

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

Что такое ключ-кандидат?

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

• ключи-кандидаты должны быть уникальными в домене и не должны содержать значений NULL.

• ключ-кандидат никогда не должен изменяться, и он должен содержать одно и то же значение для конкретного вхождения объекта.

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

Что такое первичный ключ?

Первичный ключ лучший ключ-кандидат таблицы, который используется для уникальной идентификации записей которые хранятся в таблице. При создании новой таблицы в базе данных нас просят выбрать первичный ключ. Поэтому выбор первичного ключа для таблицы является наиболее важным решением, которое должен принять разработчик базы данных. Наиболее важным ограничением, которое следует учитывать при выборе первичного ключа, является то, что выбранный столбец таблицы должен содержать только уникальные значения и не должен содержать значений NULL. Некоторые из первичных ключей, которые обычно используются при разработке таблиц, это номер социального страхования (SSN), идентификатор и номер удостоверения личности (NIC).

Программист должен помнить, чтобы тщательно выбирать первичный ключ, потому что это трудно изменить. Поэтому, по мнению программистов, наилучшей практикой создания первичного ключа является использование внутренне сгенерированного первичного ключа, такого как идентификатор записи, созданный типом данных AutoNumber MS Access. Если мы попытаемся вставить запись в таблицу с первичным ключом, который дублирует существующую запись, вставка завершится неудачно. Значение первичного ключа не должно постоянно меняться, поэтому более важно сохранить статический первичный ключ.

Первичный ключ - лучший ключ-кандидат.

В чем разница между Первичным ключом и Ключом-кандидатом?

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

• Таблица без ключей-кандидатов не представляет никакой связи.

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

• Хотя первичный ключ является одним из ключей-кандидатов, иногда он является единственным ключом-кандидатом.

• После выбора первичного ключа остальные ключи-кандидаты становятся уникальными ключами..

• Практически ключ-кандидат может содержать значения NULL, хотя в настоящее время он не содержит никаких значений. Следовательно, ключ-кандидат не подходит для первичного ключа, поскольку первичный ключ не должен содержать значений NULL..

• Также возможно, что ключи-кандидаты, которые на данный момент являются уникальными, могут содержать повторяющиеся значения, которые не позволяют ключу-кандидату стать первичным ключом..

Резюме:

Первичный ключ против ключа-кандидата

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

Изображения предоставлены: 

  1. Первичный ключ от SqlPac (CC BY-SA 3.0)