Ключи СУБД: типы-кандидаты, супер, первичные, внешние ключи с примером
Что такое ключи в СУБД?
КЛЮЧИ в СУБД — это атрибут или набор атрибутов, который помогает вам идентифицировать строку (кортеж) в отношении (таблице). Они позволяют найти связь между двумя таблицами. Ключи помогают однозначно идентифицировать строку в таблице по комбинации одного или нескольких столбцов этой таблицы. Ключ также полезен для поиска уникальной записи или строки в таблице. Ключ базы данных также полезен для поиска уникальной записи или строки в таблице.
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
Идентификатор сотрудника | Имя | Фамилия |
---|---|---|
11 | Эндрю | Джонсон |
22 | Том | Дерево |
33 | Алекс | Крепкий |
В приведенном выше примере идентификатор сотрудника является первичным ключом, поскольку он уникально идентифицирует запись сотрудника. В этой таблице ни один другой сотрудник не может иметь такой же идентификатор сотрудника.
Зачем нам нужен Ключ?
Вот несколько причин использования ключа sql в системе СУБД.
- Ключи помогают вам идентифицировать любую строку данных в таблице. В реальном приложении таблица может содержать тысячи записей. Более того, записи могут дублироваться. Ключи в РСУБД гарантируют, что вы сможете однозначно идентифицировать запись таблицы, несмотря на эти проблемы.
- Позволяет установить связь и определить связь между таблицами.
- Поможет вам обеспечить идентичность и целостность в отношениях.
Виды ключей в СУБД (системе управления базами данных)
В СУБД в основном существует восемь различных типов ключей, и каждый ключ имеет свою функциональность:
- Супер ключ
- Основной ключ
- Ключ-кандидат
- Альтернативный ключ
- Внешний ключ
- Составной ключ
- Композитный ключ
- Суррогатный ключ
Рассмотрим каждый из ключей в СУБД на примере:
- Супер Ключ – Суперключ — это группа одиночных или нескольких ключей, которые идентифицируют строки в таблице.
- Основной ключ - — это столбец или группа столбцов в таблице, которые однозначно идентифицируют каждую строку в этой таблице.
- Ключ кандидата – представляет собой набор атрибутов, которые однозначно идентифицируют кортежи в таблице. Кандидатный ключ — это суперключ без повторяющихся атрибутов.
- Альтернативный ключ – — это столбец или группа столбцов в таблице, которые однозначно идентифицируют каждую строку в этой таблице.
- Внешний ключ - столбец, который создает связь между двумя таблицами. Цель внешних ключей — поддерживать целостность данных и обеспечивать навигацию между двумя разными экземплярами объекта.
- Составной ключ – имеет два или более атрибута, позволяющих однозначно распознавать конкретную запись. Возможно, что каждый столбец сам по себе не уникален в базе данных.
- Составной ключ – представляет собой комбинацию двух или более столбцов, которые однозначно идентифицируют строки в таблице. Комбинация столбцов гарантирует уникальность, хотя индивидуальная уникальность не гарантируется.
- Суррогатный ключ – Искусственный ключ, предназначенный для уникальной идентификации каждой записи, называется суррогатным ключом. Ключи такого типа уникальны, поскольку они создаются, когда у вас нет естественного первичного ключа.
Что такое Суперключ?
Суперключ — это группа одиночных или нескольких ключей, которые идентифицируют строки в таблице. Суперключ может иметь дополнительные атрибуты, не необходимые для уникальной идентификации.
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
ЭмпССН | ЭмпНум | Название компании |
---|---|---|
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 позволяют вам установить связь между и определить связь между таблицами
- Восемь типов ключей в СУБД: супер, первичный, кандидат, альтернативный, внешний, составной, составной и суррогатный ключ.
- Суперключ — это группа одиночных или нескольких ключей, которые идентифицируют строки в таблице.
- Столбец или группа столбцов в таблице, которые помогают нам однозначно идентифицировать каждую строку в этой таблице, называется первичным ключом.
- Все различные ключи в СУБД, не являющиеся первичными, называются альтернативными ключами.
- Суперключ без повторяющегося атрибута называется ключом-кандидатом.
- Составной ключ — это ключ, который имеет множество полей, которые позволяют однозначно распознавать конкретную запись.
- Ключ, который имеет несколько атрибутов для уникальной идентификации строк в таблице, называется составным ключом.
- Искусственный ключ, предназначенный для уникальной идентификации каждой записи, называется суррогатным ключом.
- Первичный ключ никогда не принимает нулевые значения, тогда как внешний ключ может принимать несколько нулевых значений.