разница между первичным ключом и уникальным ключом - PullRequest
227 голосов
/ 05 марта 2012

Я использую базу данных MySQL. У меня путаница между первичным ключом и уникальным ключом.

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

Ответы [ 15 ]

0 голосов
/ 27 июня 2019

Основные функции первичного ключа:

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

Основные функции уникального ключа:

Он также может содержать уникальное значение для каждой строки данных.

Он также может содержатьнулевые значения.

Несколько уникальных ключей в таблице.

0 голосов
/ 26 ноября 2018

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

Оба Primary key и Unique Key используются для однозначного определения строки в таблице. Primary Key создает clustered index столбца, тогда как Unique creates an unclustered index of the column.

A Primary Key не разрешает NULL value, однако a Unique Key разрешает one NULL value.

0 голосов
/ 24 июля 2018

Первичные ключи

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

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

Первичный ключ имеет следующие характеристики:

  1. Тамможет быть только один первичный ключ для таблицы.
  2. Первичный ключ состоит из одного или нескольких столбцов.
  3. Первичный ключ обеспечивает целостность сущности таблицы.
  4. ВсеОпределенные столбцы должны быть определены как NOT NULL.
  5. Первичный ключ однозначно идентифицирует строку.
  6. Первичные ключи по умолчанию приводят к уникальным индексам CLUSTERED.

Уникальные ключи

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

Разве мы уже не делаем это с первичным ключом?Да, мы делаем, но таблица может иметь несколько наборов столбцов, которые вы хотите уникальные.

В SQL Server уникальный ключ имеет следующие характеристики:

  1. В таблице может быть несколько уникальных ключей.
  2. Уникальные ключи по умолчанию приводят к НЕКЛАСТЕРНЫМ уникальным индексам.
  3. Один или несколько столбцов составляют уникальный ключ.
  4. Столбец может иметь значение NULL, но допускается по одному NULL на каждый столбец.
  5. На ограничение внешнего ключа может ссылаться ограничение внешнего ключа.

source: here

0 голосов
/ 24 июля 2018

Уникальный ключ: - Его следует использовать, когда необходимо задать уникальное значение. В случае уникального ключа это также означает, что допускаются также нулевые значения. Уникальные ключи - это ключи, которые являются уникальными и не похожими в этом столбце.как, например, ваш питомец name.it может быть не похож на null, и если вы спрашиваете в контексте базы данных, то следует отметить, что каждый null отличается от другого null в базе данных. EXCEPT-SQL Server, где null = nullимеет значение true


первичный ключ: - Он должен использоваться, когда необходимо однозначно определить строку .primary - это ключ, уникальный для каждой строки в ограничении базы данных.является то, что он не допускает пустое значение в it.so, вы, возможно, видели, что в базе данных есть столбец с автоматическим приращением, и он является первичным ключом таблицы.Кроме того, его можно использовать в качестве внешнего ключа в другой таблице. Примером может быть orderId для заказа Таблица , billId для счета Таблица .

сейчасвозвращаясь к ситуации, когда его использовать: -

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

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

0 голосов
/ 11 ноября 2014

Просто первичный ключ является уникальным и не может быть нулевым, уникальный может быть нулевым и не может быть уникальным.

...