Каковы различные типы ключей в СУБД?

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

8 ответов


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

  • альтернативный ключ-альтернативный ключ - это любой ключ-кандидат, который не выбран в качестве первичного ключа
  • ключ кандидата - ключ кандидата-это поле или комбинация полей, которые могут выступать в качестве поля первичного ключа для этой таблицы для уникальной идентификации каждой записи в этой таблице.
  • составной ключ-составной ключ (также называемый составным ключом или concatenated key) - это ключ, состоящий из 2 или более атрибутов.
  • первичный ключ-первичный ключ-это значение, которое можно использовать для идентификации уникальной строки в таблице. С ним связаны атрибуты. Примерами первичных ключей являются номера социального страхования (связанные с конкретным лицом) или ISBNs (связанные с конкретной книгой). В реляционной модели данных первичный ключ-это ключ-кандидат, выбранный в качестве основного метода уникальной идентификации кортежа в отношении.
  • Superkey-суперключ определяется в реляционной модели как набор атрибутов переменной отношения (relvar), для которой он считает, что во всех отношениях, назначенных этой переменной, нет двух различных кортежей (строк), которые имеют одинаковые значения для атрибутов в этом наборе. Эквивалентно суперключ также может быть определена как набор атрибутов relvar, на которых все атрибуты relvar функционально зависимы.
  • внешний ключ - внешний ключ (FK) - это поле или группа полей в записи базы данных, которая указывает на ключевое поле или группу полей, образующих ключ другой записи базы данных в некоторой (обычно другой) таблице. Обычно внешний ключ в одной таблице относится к первичному ключу (PK) другой таблицы. Таким образом, ссылки могут быть сделаны для связывания информации вместе, и это является неотъемлемой частью нормализации базы данных

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

Е. Г. супер ключ

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

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

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

Е. Г. кандидата ключа

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

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

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

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

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

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

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

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

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

Е. Г. альтернативный ключ-это "имя, адрес", так как это единственный потенциальный ключ, который не является первичным ключом.

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

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


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

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


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


что такое ключ в реляционной базе данных?

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

ключи служат двум важным целям:

1.Используется для создания отношений между различными таблицами

2.Используется для заказа (последовательности) или быстрого и плавного доступа к сохраненным данным из баз данных

что такое супер ключ?

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

enter image description here

в приведенной выше таблице столбец {'student_number'} может однозначно идентифицировать каждую строку в таблица. Таким образом, столбец {‘student_number’} является супер-ключом. Аналогично комбинации столбцов {'student_number’,’ student_name'}, {'student_number’, ‘exam_registered’}, {’student_number’, ‘student_name’, 'exam_registered'} и др., может также уникально идентифицировать каждую строку. Следовательно, их также можно назвать супер-ключами.

что такое ключ-кандидат?

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

другими словами, это столбец или набор столбцов, которые могут однозначно идентифицировать строку в таблице. В случае комбинации столбцов один столбец в этой комбинации не может однозначно идентифицировать строку в этой конкретной таблице.

enter image description here

в приведенной выше таблице {‘serial_number’} или комбинация {'student_name’, 'exam_registered'} являются единственными возможными ключами-кандидатами. В последний случай, когда два столбца включали как "student_name", так и "exam_registered", не может однозначно идентифицировать строки самостоятельно. Также есть шансы в будущем, что другой студент по имени Адам может быть добавлен в вышеуказанную таблицу, чей возраст также 23 и зарегистрирован на тот же экзамен по английскому языку, что и существующий студент по имени Адам. В этом случае только столбец {‘student_number’} будет служить надежным ключом-кандидатом для приведенной выше таблицы.

что такое первичный ключ?

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

что такое составной ключ?

когда первичный ключ состоит из нескольких столбцов, он вызывается как составной первичный ключ или просто составной ключ или составной ключ или concatenated ключ!

enter image description here

в приведенной выше таблице, когда разработчик, который разрабатывает таблицу, устанавливает комбинацию столбцов {'student_number’, 'exam_registered'} в качестве первичного ключа, то теоретически это будет известно как составной первичный ключ.

что такое внешний ключ?

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

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

enter image description here

предположим, что столбец "student_number’ в приведенной выше таблице" экзамен "(дочерняя таблица) ссылается на столбец ‘student_number’ в ‘student_detail’ таблицы (родительской таблицы).

когда мы пытаемся ввести строку для "student_number" =5 в таблице "экзамен", это не будет принято, так как нет записи для "student_number" =5 в таблице "student_detail". Эта концепция называется ссылочной целостностью в реляционных базах данных.

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

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

это ключ-кандидат, кроме первичного ключа.

enter image description here

в приведенной выше таблице {‘serial_number’} или комбинация {'student_name’, 'exam_registered'} являются единственными возможными ключами-кандидатами. Когда разработчик базы данных устанавливает столбец {‘serial_number’} в качестве основного, затем комбинация столбцов {‘student_name’,’exam_registered’} будет вызываться как альтернативный ключ.

что такое вторичный ключ?

Это столбец или группа столбцов в таблице, которые даже не претендуют на то, чтобы быть супер-ключом, но все же идентифицируют строки в таблице (не могут быть уникальными)

enter image description here

что такое простой ключ?

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

- Он должен однозначно идентифицировать строку - Это должен быть один столбец (он не может быть комбинацией нескольких столбцов)

что такое суррогатный ключ?

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

зачем нам нужен суррогатный ключ?

предположим, что мы храним ключи продукта для различных программных продуктов в таблице. Обычно ключами продукта являются комбинации буквенно-цифровых символов (пример: ключ продукта, который нам нужен для активации Microsoft office / Windows OS). Ключи продукта способны уникально определять каждую строку. Но когда мы делаем его первичным ключом, он занимает огромное пространство памяти, так как первичный ключ будет индексироваться в большинстве реляционная база данных. Также при использовании этих типов столбцов в предложении Join, производительность будет снижена.

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

что такое естественный ключ?

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

=========================================================================

другой тип ключей в РСУБД


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


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

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

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

все ключи, кроме первичного ключа, называются альтернативными ключами.

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

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

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

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

Естественный Ключ:

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


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

потенциальные ключи или ключи

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

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

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

Внешний Ключ

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

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

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

Составной Ключ

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

естественные ключи!--3-->

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

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

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

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

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

агрегатные или составные ключи

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

простой ключ

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

супер ключ

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

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

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