Делясь своими заметками, которые я обычно храню при чтении из Интернета, я надеюсь, что это может кому-то пригодиться
Ключ-кандидат или доступные ключи
Ключи-кандидаты - это те ключи, которые являются кандидатами на первичный ключ таблицы. Проще говоря, мы можем понять, что такой тип ключей, который полностью удовлетворяет всем требованиям первичного ключа, который не является нулевым, и имеет уникальные записи, является кандидатом на первичный ключ. Таким образом, тип ключа известен как ключ-кандидат. В каждой таблице должен быть хотя бы один ключ-кандидат, но в то же время может быть несколько.
Первичный ключ
Такой тип ключа-кандидата, который выбран в качестве первичного ключа для таблицы, называется первичным ключом. Первичные ключи используются для идентификации таблиц. В таблице только один первичный ключ. В 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.
Частичный ключ или дискриминаторный ключ
Это набор атрибутов, которые могут однозначно идентифицировать слабые объекты и которые связаны с одним и тем же объектом-владельцем. Иногда его называют дискриминатором.