Подтвердить что ты не робот

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

Является ли это, что первичный ключ является выбранным ключом кандидата, выбранным для данной таблицы?

4b9b3361

Ответ 1

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

Primary Key - Первичный ключ - это столбец или комбинация столбцов, которые уникально идентифицируют запись. Только один ключ-кандидат может быть основным ключом.

Подробнее об этой ссылке с примером

Ответ 2

Ответ Джона Уо правильный, насколько это возможно. Вот несколько дополнительных пунктов.

Первичный ключ всегда является одним из ключей-кандидатов. Довольно часто это единственный кандидат.

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

Реляционная модель будет полной без понятия первичного ключа. Это не было в оригинальной презентации реляционной модели. Как практический вопрос, использование ссылок на внешние ключи без объявленного первичного ключа приводит к беспорядку. Это может быть логически правильный беспорядок, но тем не менее это беспорядок. Объявление первичного ключа позволяет СУБД помочь вам применять правила данных. В большинстве случаев наличие СУБД помогает вам применять правила данных, это хорошо и стоит того.

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

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

Ответ 3

Основной ключ → Любой столбец или набор столбцов, которые могут уникально идентифицировать запись в таблице, являются первичным ключом. (В таблице может быть только один первичный ключ)

Ключ кандидата → Любой столбец или набор столбцов, которые являются кандидатом, чтобы стать первичным ключом, являются ключом кандидата. (В таблице может быть один или несколько ключей (-ов) кандидата, если есть только один ключ-кандидат, его можно выбрать в качестве основного ключа)

Ответ 4

Нет никакой разницы. Первичный ключ - это ключ-кандидат. По соглашению один из ключевых ключей в отношении обычно выбирается как "первичный", но выбор по существу произволен и удобен для пользователей баз данных/разработчиков/разработчиков. Он не делает "основной" ключ принципиально иным, чем любой другой ключ кандидата.

Ответ 5

1) В таблице может быть несколько ключей-кандидатов базы данных, например. Oracle, MySQL, Sybase или MSSQL, но только один первичный ключ разрешен.

2) Примером ключа Primary и Candidate может быть ID и SSN в таблице Сотрудник. Поскольку оба могут идентифицировать каждого сотрудника однозначно, они являются ключом кандидата, и любой может стать основной ключ. Теперь, если вам нужно выбирать между ними в качестве первичного ключа, я будет ID в качестве первичного ключа, поскольку SSN является конфиденциальной информацией и не может быть разрешено/небезопасно использовать в качестве строки в запросах как часто как ID. Вторая причина выбора ID над SSN как первичный ключ может использоваться ID как основной идентификатор отслеживания ID внутри организации и ее частого использования повсюду. После выбора первичный ключ, все ключи кандидата являются уникальными ключами.

Это все по разнице между Первичным ключом и ключом кандидата в Таблица. Если вы хорошо понимаете выборы, вы можете думать, что первичный ключ как избранный член среди всех ключей-кандидатов.

Ответ 6

Первичный ключ - это особый вид индекса:

there can be only one;
it cannot be nullable
it must be unique.

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

Пример таблицы Employee: Employee (идентификатор сотрудника, полное имя, SSN, DeptID)

  1. Ключ-кандидат: отдельные столбцы в таблице, которые соответствуют уникальности всех строк. Здесь в таблице EmployeeID EmployeeID и SSN находятся ключи-кандидаты.

  2. Первичный ключ: столбцы, выбранные вами для сохранения уникальности в таблице. Здесь в таблице Employee вы можете выбрать столбцы EmployeeID или SSN. EmployeeID является предпочтительным выбором, поскольку SSN является безопасным значением.

  3. Альтернативный ключ: столбец-кандидат, отличный от основного столбца, например, если EmployeeID равен PK, тогда SSN будет альтернативным ключом.

  4. Супер ключ: если вы добавляете любой другой столбец/атрибут к первичному ключу, он становится супер ключом, например EmployeeID + FullName, это супер ключ.

  5. Составной ключ. Если в таблице нет ни одного столбца, который подходит для ключа-кандидата, необходимо выбрать 2 или более столбцов, чтобы сделать строку уникальной. Например, если нет столбцов EmployeeID или SSN, вы можете сделать FullName + DateOfBirth в качестве составного первичного ключа. Но, тем не менее, может быть узкая вероятность дублирования строк.

Ответ 7

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

Ответ 8

Подумайте о таблице транспортных средств с целым основным ключом.

Регистрационный номер будет ключом-кандидатом.

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

Ответ 9

Основной ключ

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

Мы встречаем первичные ключи везде. Например, таблица, в которой банк хранит данные о банковских счетах, имеет номер банковского счета столбца в качестве первичного ключа. Аналогично, таблица, в которой зарегистрированы разные автомобили, использует номерной знак в качестве первичного ключа.

enter image description here


Ключ-кандидат

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

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


Альтернативный ключ

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


Иностранный ключ

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

Ответ 10

Student_table {IndexNo, Name, ExamNo, Age, Class, City}

  • {IndexNo}, {Name, ExamNo} - ключи-кандидаты. Из них я выберу {IndexNo} в качестве первичного ключа. Все indexNo, Name, ExamNo являются простыми атрибутами

Employee_table {ID, имя, номер мобильного телефона, возраст, рост}

  • {ID}, {MobileNo} - ключи-кандидаты. Из них я выберу {ID} в качестве первичного ключа. Для всех идентификаторов атрибуты MobileNo являются простыми атрибутами

Давайте посмотрим на определения. (Атрибуты означают столбцы)

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

Основной ключ - Атрибут, который формирует ключи-кандидаты.

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

Ответ 11

Первичный ключ - это столбец (или столбцы) в таблице, который однозначно идентифицирует строки в этой таблице.

CUSTOMERS


CustomerNo  FirstName   LastName
1   Sally   Thompson
2   Sally   Henderson
3   Harry   Henderson
4   Sandra  Wellington

Например, в приведенной выше таблице CustomerNo является основным ключом.

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

Итак, сказав, что можно использовать один или несколько столбцов в качестве первичного ключа, как вы решаете, какие столбцы (и сколько) выбрать?

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

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

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

Ответ 12

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

Ответ 13

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

Ответ 14

Первичный ключ → Любой столбец или набор столбцов, которые могут однозначно идентифицировать запись в таблице, является первичным ключом. (В таблице может быть только один первичный ключ) и кандидат key-> такой же, как первичный ключ, но первичный ключ, выбранный, например, администратором БД, предполагаемый (первичный ключ имеет наименьший размер ключа-кандидата)