Первичный ключ против ключа-кандидата
Хотя первичный ключ выбирается из ключей-кандидатов, между первичным ключом и другими ключами-кандидатами существует некоторая разница, которая будет подробно обсуждаться в этой статье. Проектирование базы данных является одним из наиболее важных действий, которые необходимо выполнять при обслуживании и хранении данных. Во время этого процесса проектирования необходимо создать разные таблицы со многими отношениями. Чтобы получить доступ к этим таблицам в базе данных, в современных языках проектирования баз данных, таких как MYSQL, MSAccess, SQLite и т. д., используются различные типы ключей. Из этих ключей ключи-кандидаты и первичные ключи стали важными в практике проектирования баз данных.
Что такое ключ-кандидат?
Кандидатный ключ - это отдельный столбец или набор столбцов в таблице базы данных, которые можно использовать для уникальной идентификации любой записи базы данных без ссылки на какие-либо другие данные. Каждая таблица базы данных может иметь один или несколько ключей-кандидатов. Набор ключей-кандидатов может быть создан с использованием функциональных зависимостей. В ключе-кандидате есть несколько важных особенностей. Они;
• ключи-кандидаты должны быть уникальными в пределах домена и не должны содержать значений NULL.
• ключ-кандидат никогда не должен изменяться, и он должен содержать одно и то же значение для конкретного экземпляра объекта.
Основная цель ключа-кандидата - помочь идентифицировать одну строку из миллионов строк в большой таблице. Каждый ключ-кандидат может стать первичным ключом. Однако из всех ключей-кандидатов самый важный и специальный ключ-кандидат станет первичным ключом таблицы, и он будет лучшим среди ключей-кандидатов.
Что такое первичный ключ?
Первичный ключ - это лучший ключ-кандидат таблицы, который используется для уникальной идентификации записей, хранящихся в таблице. При создании новой таблицы в базе данных нас просят выбрать первичный ключ. Таким образом, выбор первичного ключа для таблицы является наиболее важным решением, которое должен принять разработчик базы данных. Наиболее важным ограничением, которое следует учитывать при выборе первичного ключа, является то, что выбранный столбец таблицы должен содержать только уникальные значения и не должен содержать значений NULL. Некоторыми первичными ключами, которые обычно используются при разработке таблиц, являются номер социального страхования (SSN), идентификатор и номер национального удостоверения личности (NIC).
Программист должен тщательно выбирать первичный ключ, потому что его трудно изменить. Поэтому, по мнению программистов, наилучшей практикой создания первичного ключа является использование внутренне сгенерированного первичного ключа, такого как идентификатор записи, созданный типом данных AutoNumber MS Access. Если мы попытаемся вставить запись в таблицу с первичным ключом, который дублирует существующую запись, вставка не удастся. Значение первичного ключа не должно постоянно меняться, поэтому важнее сохранить статический первичный ключ.
Первичный ключ является лучшим ключом-кандидатом.
В чем разница между первичным ключом и потенциальным ключом?
• Ключ-кандидат - это столбец, который квалифицируется как уникальный, тогда как первичный ключ - это столбец, который однозначно идентифицирует запись.
• Таблица без ключей-кандидатов не представляет никакого отношения.
• Для таблицы в базе данных может быть много ключей-кандидатов, но для таблицы должен быть только один первичный ключ.
• Хотя первичный ключ является одним из ключей-кандидатов, иногда это единственный ключ-кандидат.
• После выбора первичного ключа другие ключи-кандидаты становятся уникальными ключами.
• Практически ключ-кандидат может содержать значения NULL, хотя в настоящее время он не содержит никакого значения. Следовательно, ключ-кандидат не подходит для использования в качестве первичного ключа, поскольку первичный ключ не должен содержать никаких значений NULL.
• Возможно также, что ключи-кандидаты, которые на данный момент являются уникальными, могут содержать повторяющиеся значения, которые не позволяют ключу-кандидату стать первичным ключом.
Обзор:
Первичный ключ против ключа-кандидата
Ключ-кандидат и первичный ключ являются важными ключами, которые используются при проектировании баз данных для уникальной идентификации данных в записи и установления связей между таблицами базы данных. Таблица должна содержать только один первичный ключ и может содержать более одного ключа-кандидата. Сегодня большинство баз данных способны автоматически генерировать собственный первичный ключ. Следовательно, первичный ключ и ключи-кандидаты обеспечивают многочисленную поддержку систем управления базами данных.