Какие существуют типы ключей в СУБД? - PullRequest
29 голосов
/ 11 ноября 2009

Какие существуют типы ключей в СУБД? Пожалуйста, включите примеры с вашим ответом.

Ответы [ 7 ]

82 голосов
/ 15 июля 2011

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

например. Супер Ключ

  1. ID
  2. ID, Имя
  3. ID, адрес
  4. ID, Department_ID
  5. ID, зарплата
  6. Имя, Адрес
  7. Имя, Адрес, Department_ID

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

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

например. ключа кандидата

  1. ID
  2. Имя, Адрес

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

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

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

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

например. внешнего ключа - давайте предположим, что у нас есть другая таблица, т. е. таблица отдела с атрибутами «Department_ID», «Department_Name», «Manager_ID», «Location_ID» с Department_ID в качестве первичного ключа. Теперь атрибут Department_ID таблицы Employee (зависимой или дочерней таблицы) можно определить как внешний ключ, поскольку он может ссылаться на атрибут Department_ID таблицы Departments (ссылочной или родительской таблицы), а значение внешнего ключа должно соответствовать существующему значению в родительская таблица или быть NULL.

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

например. составного ключа, если мы использовали «Имя, адрес» в качестве первичного ключа, то это будет наш составной ключ.

(VI) Альтернативный ключ - Альтернативный ключ может быть любым из ключей-кандидатов, кроме Первичного ключа.

например. Альтернативного ключа - это «Имя, адрес», поскольку это единственный другой ключ-кандидат, который не является первичным ключом.

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

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

21 голосов
/ 11 ноября 2009

С здесь и здесь : (после того, как я погуглил ваш заголовок)

  • Альтернативный ключ - альтернативный ключ - это любой кандидатный ключ, который не выбран в качестве первичного ключа
  • Ключ-кандидат. Ключ-кандидат - это поле или комбинация полей, которые могут выступать в качестве поля первичного ключа для этой таблицы для уникальной идентификации каждой записи в этой таблице.
  • Составной ключ - составной ключ (также называемый составным ключом или составным ключом) - это ключ, состоящий из 2 или более атрибутов.
  • Первичный ключ - первичный ключ - это значение, которое можно использовать для идентификации уникальной строки в таблице. Атрибуты связаны с ним. Примерами первичных ключей являются номера социального страхования (связанные с конкретным человеком) или номера ISBN (связанные с конкретной книгой). В реляционной модели данных первичный ключ - это ключ-кандидат, выбранный в качестве основного метода уникальной идентификации кортежа в отношении.
  • Суперключ - Суперключ определяется в реляционной модели как набор атрибутов переменной отношения (relvar), для которого он считает, что во всех отношениях, присвоенных этой переменной, нет двух разных кортежей (строк), имеющих одинаковые значения для атрибутов в этом наборе. Эквивалентно, суперключ также может быть определен как набор атрибутов relvar, от которого функционально зависят все атрибуты relvar.
  • Внешний ключ - внешний ключ (FK) - это поле или группа полей в записи базы данных, которая указывает на ключевое поле или группу полей, образующих ключ другой записи базы данных в некоторой (обычно другой) таблице. Обычно внешний ключ в одной таблице относится к первичному ключу (PK) другой таблицы. Таким образом, могут быть сделаны ссылки для связывания информации, и это является важной частью нормализации базы данных
9 голосов
/ 11 ноября 2009

Олафур забыл суррогатный ключ :

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

6 голосов
/ 26 июля 2013

Там также существует УНИКАЛЬНЫЙ КЛЮЧ. Основное различие между PRIMARY KEY и UNIQUE KEY заключается в том, что PRIMARY KEY никогда не принимает значение NULL, в то время как UNIQUE KEY может принимать значение NULL. Кроме того, в таблице может быть только один ПЕРВИЧНЫЙ КЛЮЧ, а УНИКАЛЬНОГО КЛЮЧА может быть больше одного.

1 голос
/ 24 марта 2015

Частичный ключ:

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

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

Все Кандидатные Ключи, кроме Первичного Ключа, известны как Альтернативные Ключи.

Искусственный ключ:

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

Составной ключ:

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

Натуральный ключ:

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

1 голос
/ 06 сентября 2012

Существует также SURROGATE KEY: это происходит, если один непростой атрибут зависит от другого непростого атрибута. тогда вы не можете выбирать, какой ключ в качестве первичного ключа разделить вашу таблицу. В этом случае используйте суррогатный ключ вместо первичного ключа. Обычно этот ключ определяется системой и всегда имеет числовые значения, и его значение часто автоматически увеличивается для новых строк. Например: ms acces = автоматический номер & мой SQL = идентификационный столбец & oracle = sequence.

0 голосов
/ 18 октября 2016

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

Ключ-кандидат или доступные ключи

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

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

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

Внешний ключ

Внешний ключ - это те ключи, которые используются для определения отношений между двумя таблицами. Когда мы хотим реализовать связь между двумя таблицами, тогда мы используем концепцию внешнего ключа. Это также известно как ссылочная целостность. Мы можем создать более одного внешнего ключа для каждой таблицы. Внешний ключ - это, как правило, первичный ключ из одной таблицы, который отображается как поле в другой, где первая таблица имеет отношение ко второй. Другими словами, если бы у нас была таблица A с первичным ключом X, связанная с таблицей B, где X было полем в B, то X был бы внешним ключом в B.

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

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

Композитный ключ

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

Натуральные ключи

Естественный ключ - это один или несколько существующих атрибутов данных, которые являются уникальными для бизнес-концепции. Для таблицы Customer было два ключа-кандидата, в данном случае CustomerNumber и SocialSecurityNumber. Ссылка http://www.agiledata.org/essays/keys.html

Суррогатный ключ

Введите новый столбец, называемый суррогатным ключом, который не имеет делового значения. Примером этого является столбец AddressID таблицы Address на рисунке 1. Адреса не имеют «простого» естественного ключа, потому что вам нужно использовать все столбцы таблицы Address для формирования ключа для себя (вы можете уметь обходиться только комбинацией Street и ZipCode в зависимости от вашей проблемной области), поэтому введение суррогатного ключа является гораздо лучшим вариантом в этом случае. Ссылка http://www.agiledata.org/essays/keys.html

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

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

Совокупные или составные ключи

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

Простой ключ

Простой ключ из одного атрибута.

Супер ключ

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

Частичный ключ или дискриминаторный ключ

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

...