Ключи СУБД: типы-кандидаты, супер, первичные, внешние ключи с примером

Что такое ключи в СУБД?

КЛЮЧИ в СУБД — это атрибут или набор атрибутов, который помогает вам идентифицировать строку (кортеж) в отношении (таблице). Они позволяют найти связь между двумя таблицами. Ключи помогают однозначно идентифицировать строку в таблице по комбинации одного или нескольких столбцов этой таблицы. Ключ также полезен для поиска уникальной записи или строки в таблице. Ключ базы данных также полезен для поиска уникальной записи или строки в таблице.

Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.

Идентификатор сотрудника Имя Фамилия
11 Эндрю Джонсон
22 Том Дерево
33 Алекс Крепкий

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

Зачем нам нужен Ключ?

Вот несколько причин использования ключа sql в системе СУБД.

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

Виды ключей в СУБД (системе управления базами данных)

В СУБД в основном существует восемь различных типов ключей, и каждый ключ имеет свою функциональность:

  1. Супер ключ
  2. Основной ключ
  3. Ключ-кандидат
  4. Альтернативный ключ
  5. Внешний ключ
  6. Составной ключ
  7. Композитный ключ
  8. Суррогатный ключ

Рассмотрим каждый из ключей в СУБД на примере:

  • Супер Ключ – Суперключ — это группа одиночных или нескольких ключей, которые идентифицируют строки в таблице.
  • Основной ключ - — это столбец или группа столбцов в таблице, которые однозначно идентифицируют каждую строку в этой таблице.
  • Ключ кандидата – представляет собой набор атрибутов, которые однозначно идентифицируют кортежи в таблице. Кандидатный ключ — это суперключ без повторяющихся атрибутов.
  • Альтернативный ключ – — это столбец или группа столбцов в таблице, которые однозначно идентифицируют каждую строку в этой таблице.
  • Внешний ключ - столбец, который создает связь между двумя таблицами. Цель внешних ключей — поддерживать целостность данных и обеспечивать навигацию между двумя разными экземплярами объекта.
  • Составной ключ – имеет два или более атрибута, позволяющих однозначно распознавать конкретную запись. Возможно, что каждый столбец сам по себе не уникален в базе данных.
  • Составной ключ – представляет собой комбинацию двух или более столбцов, которые однозначно идентифицируют строки в таблице. Комбинация столбцов гарантирует уникальность, хотя индивидуальная уникальность не гарантируется.
  • Суррогатный ключ – Искусственный ключ, предназначенный для уникальной идентификации каждой записи, называется суррогатным ключом. Ключи такого типа уникальны, поскольку они создаются, когда у вас нет естественного первичного ключа.

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

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

Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.

ЭмпССН ЭмпНум Название компании
9812345098 AB05 показанный
9876512345 AB06 Рослин
199937890 AB07 Джеймс

В приведенном выше примере имя EmpSSN и EmpNum являются суперключами.

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

ПЕРВИЧНЫЙ КЛЮЧ in СУБД — это столбец или группа столбцов в таблице, которые однозначно идентифицируют каждую строку в этой таблице. Первичный ключ не может быть дубликатом, то есть одно и то же значение не может появляться в таблице более одного раза. Таблица не может иметь более одного первичного ключа.

Правила определения первичного ключа:

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

Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.

В следующем примере StudID является первичным ключом.

StudID Ролл Нет Имя Фамилия Эл. адрес
1 11 Том Цена abc@gmail.com
2 12 Nick Райт xyz@gmail.com
3 13 Dana Натан mno@yahoo.com

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

АЛЬТЕРНАТИВНЫЕ КЛЮЧИ — это столбец или группа столбцов в таблице, которые однозначно идентифицируют каждую строку в этой таблице. Таблица может иметь несколько вариантов первичного ключа, но только один может быть установлен в качестве первичного ключа. Все ключи, которые не являются первичными, называются альтернативными ключами.

Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.

В этой таблице StudID, Roll No, Email могут стать первичным ключом. Но поскольку StudID является первичным ключом, альтернативным ключом становится Roll No, Email.

StudID Ролл Нет Имя Фамилия Эл. адрес
1 11 Том Цена abc@gmail.com
2 12 Nick Райт xyz@gmail.com
3 13 Dana Натан mno@yahoo.com

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

КЛЮЧ КАНДИДАТА в SQL — это набор атрибутов, которые однозначно идентифицируют кортежи в таблице. Кандидатный ключ — это суперключ без повторяющихся атрибутов. Первичный ключ должен быть выбран из возможных ключей. Каждая таблица должна иметь хотя бы один потенциальный ключ. Таблица может иметь несколько потенциальных ключей, но только один первичный ключ.

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

  • Он должен содержать уникальные значения
  • Ключ-кандидат в SQL может иметь несколько атрибутов.
  • Не должно содержать нулевых значений
  • Он должен содержать минимальное количество полей для обеспечения уникальности.
  • Уникально идентифицировать каждую запись в таблице

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

StudID Ролл Нет Имя Фамилия Эл. адрес
1 11 Том Цена abc@gmail.com
2 12 Nick Райт xyz@gmail.com
3 13 Dana Натан mno@yahoo.com

Ключ-кандидат
Кандидатский ключ в СУБД

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

ИНОСТРАННЫЙ КЛЮЧ столбец, который создает связь между двумя таблицами. Цель внешних ключей — поддерживать целостность данных и обеспечивать навигацию между двумя разными экземплярами объекта. Он действует как перекрестная ссылка между двумя таблицами, поскольку ссылается на первичный ключ другой таблицы.

Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.

Код отдела Название отдела
001 Наука
002 Английский
005 Компьютер
Идентификатор учителя Fимя Имя
B002 Давид Сигнализатор
B017 Сара Джозеф
B009 Майк Брантон

В этом примере с базой данных у нас есть две таблицы: преподавание и отделение в школе. Однако нет возможности увидеть, какая поисковая работа в каком отделе.

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

Идентификатор учителя Код отдела Fимя Имя
B002 002 Давид Сигнализатор
B017 002 Сара Джозеф
B009 001 Майк Брантон

Эта концепция также известна как референтный Integrity.

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

СОСТАВНЫЙ КЛЮЧ имеет два или более атрибута, позволяющих однозначно распознавать конкретную запись. Возможно, что каждый столбец сам по себе не уникален в базе данных. Однако при объединении с другим столбцом или столбцами комбинация составных ключей становится уникальной. Назначение составного ключа в базе данных — уникально идентифицировать каждую запись в таблице.

Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.

№ заказа идентификатор продукта наименование товара Количество
B005 япония102459 мышь 5
B005 ДКТ321573 USB 10
B005 OMG446789 ЖК-монитор 20
B004 ДКТ321573 USB 15
B002 OMG446789 Лазерный принтер 3

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

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

КОМПОЗИТНЫЙ КЛЮЧ представляет собой комбинацию двух или более столбцов, которые однозначно идентифицируют строки в таблице. Комбинация столбцов гарантирует уникальность, однако уникальность по отдельности не гарантируется. Следовательно, они объединяются для уникальной идентификации записей в таблице.

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

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

СУРРОГАТНЫЕ КЛЮЧИ Искусственный ключ, предназначенный для уникальной идентификации каждой записи, называется суррогатным ключом. Этот тип частичного ключа в базе данных уникален, поскольку он создается, когда у вас нет естественного первичного ключа. Они не придают никакого значения данным таблицы. Суррогатный ключ в СУБД обычно представляет собой целое число. Суррогатный ключ — это значение, создаваемое непосредственно перед вставкой записи в таблицу.

Fимя Фамилия Время начала Время окончания
Энн Smith 09:00 18:00
разъем Фрэнсис 08:00 17:00
Анна Маклин 11:00 20:00
показанный Уильям 14:00 23:00

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

Суррогатные ключи в SQL разрешены, когда

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

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

Ниже приведено основное различие между первичным ключом и внешним ключом:

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

Итого

  • Что такое ключ в СУБД: Ключ в СУБД — это атрибут или набор атрибутов, которые помогают идентифицировать строку (кортеж) в отношении (таблице).
  • Ключи в RDBMS позволяют вам установить связь между и определить связь между таблицами
  • Восемь типов ключей в СУБД: супер, первичный, кандидат, альтернативный, внешний, составной, составной и суррогатный ключ.
  • Суперключ — это группа одиночных или нескольких ключей, которые идентифицируют строки в таблице.
  • Столбец или группа столбцов в таблице, которые помогают нам однозначно идентифицировать каждую строку в этой таблице, называется первичным ключом.
  • Все различные ключи в СУБД, не являющиеся первичными, называются альтернативными ключами.
  • Суперключ без повторяющегося атрибута называется ключом-кандидатом.
  • Составной ключ — это ключ, который имеет множество полей, которые позволяют однозначно распознавать конкретную запись.
  • Ключ, который имеет несколько атрибутов для уникальной идентификации строк в таблице, называется составным ключом.
  • Искусственный ключ, предназначенный для уникальной идентификации каждой записи, называется суррогатным ключом.
  • Первичный ключ никогда не принимает нулевые значения, тогда как внешний ключ может принимать несколько нулевых значений.