Введение в ключи SQL
Ключи - это поля в реляционной таблице, которые создают отношения между другими таблицами, поддерживают целостность, уникальность и т. Д. В этом разделе мы собираемся узнать о ключах SQL.
В RDBMS ключи играют важную роль. Это участвует в нескольких действиях в реляционной базе данных. Использование ключа может сделать поиск данных намного быстрее и эффективнее. Это может установить отношения в двух или более таблицах. Использование ключей позволяет нам хранить действительные и согласованные данные в базе данных. Кроме того, он используется для уникальной идентификации кортежа (строки) из таблицы. Эти таблицы могут иметь несколько столбцов.
В реальной жизни таблица может иметь несколько ключей. Все столбцы также могут быть объявлены как Ключ, и эти Ключи могут быть применены базой данных.
Синтаксис:
CREATE TABLE `customer` (
`cust_id` int(11) NOT NULL,
`cust_name` varchar(100) NOT NULL,
`cust_address` text NOT NULL,
`cust_aadhaar_number` varchar(50) DEFAULT NULL,
`cust_pan_number` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `customer` ADD PRIMARY KEY (`cust_id`);
В приведенном выше SQL-запросе мы видим, как столбец cust_id установлен в качестве первичного ключа.
Тип SQL-ключей
SQL Server поддерживает несколько типов ключей.
Ниже приведен список ключей SQL:
- Первичный ключ
- Уникальный ключ
- Ключ-кандидат
- Альтернативный ключ
- Композитный ключ
- Супер Ключ
- Иностранный ключ
Например
Таблица клиентов | ||||
cust_id | CUST_NAME | cust_address | cust_aadhaar_number | cust_pan_number |
100001 | Сунил Кумар | Нойды | 372464389211 | ADSFS3456K |
100002 | Анкит Гупта | Gr Noida | 442289458453 | CGHAD7583L |
100003 | Суреш Ядав | Нью-Дели | 878453444144 | NMKRT2278O |
100004 | Нилам Сингх | Лакхнау | 227643441123 | HFJFD3876U |
100005 | Амаль Рават | Газиабад | 932571156735 | CBMVA9734A |
100006 | Суровая Саксена | Канпер | 1453534363319 | TRYUC2568H |
Ниже приведена таблица «Заказ», содержащая связанные данные, соответствующие «cust_id» из Таблицы клиентов.
Стол заказов | ||
cust_id | order_month_year | сумма заказа |
100001 | 2019 - январь | $ 100 000 |
100002 | 2019 - январь | $ 120 000 |
100003 | 2019 - январь | $ 100 000 |
100004 | 2019 - январь | $ 110 000 |
100001 | 2019 - февраль | $ 105000 |
100002 | 2019 - февраль | $ 125 000 |
Теперь мы пройдемся по одному на каждом из ключей:
1. Первичный ключ
Первичный ключ - это поле, которое можно использовать для уникальной идентификации всех кортежей в базе данных. Только один из столбцов может быть объявлен как первичный ключ. Первичный ключ не может иметь значение NULL.
Пример: в приведенной выше реляционной таблице «cust_id» является первичным ключом, поскольку он может однозначно идентифицировать все строки из таблицы.
2. Уникальный ключ
Уникальный ключ может быть полем или набором полей, которые могут быть использованы для уникальной идентификации кортежа из базы данных. Одно или несколько полей могут быть объявлены как уникальные ключи. Уникальный столбец Key также может содержать значение NULL. Использование уникального ключа повышает производительность поиска данных. Это делает поиск записей из базы данных намного быстрее и эффективнее.
Пример: в приведенной выше реляционной таблице «cust_aadhaar_number», «cust_pan_number» являются уникальным ключом, так как он может разрешить одно значение как NULL в столбце
3. Ключ-кандидат
Ключ-кандидат может быть столбцом или группой столбцов, которые могут претендовать на Уникальный ключ. У каждой таблицы есть хотя бы один ключ-кандидат. Таблица может иметь один или несколько ключей-кандидатов. Каждый ключ-кандидат может работать как первичный ключ, если это требуется в определенных сценариях.
Пример: в приведенной выше реляционной таблице «cust_id», «cust_aadhaar_number», «cust_pan_number» являются ключом-кандидатом, поскольку он может однозначно идентифицировать все строки из таблицы. Эти столбцы также квалифицируют критерии как первичный ключ.
4. Альтернативный ключ
Альтернативный ключ - это тот ключ, который при необходимости может использоваться в качестве первичного ключа. Альтернативный ключ также квалифицируется как первичный ключ, но на данный момент он не является первичным ключом.
Пример: в приведенной выше реляционной таблице «cust_aadhaar_number», «cust_pan_number» являются альтернативным ключом, поскольку оба столбца могут быть первичным ключом, но еще не выбраны для первичного ключа.
5. Композитный ключ
Составной ключ также известен как составной ключ / составной ключ. Составной ключ относится к группе из двух или более столбцов, которые могут быть использованы для уникальной идентификации кортежа из таблицы. Группа столбцов в сочетании друг с другом может однозначно идентифицировать строку, но один столбец этой группы не обещает однозначно идентифицировать строку.
Пример: в приведенной выше реляционной таблице, т. Е. Таблице заказов, «cust_id», группе «order_month_year» этих столбцов, используемых в комбинации для уникальной идентификации кортежа в таблице заказов. Отдельный столбец этой таблицы не может однозначно идентифицировать кортеж из таблицы Order.
6. Супер Ключ
Super Key - это комбинация столбцов, каждый столбец таблицы остается зависимым от него. В Super Key может быть еще несколько столбцов в группе, которые могут быть или не быть необходимыми для уникальной идентификации кортежа из таблицы. Ключ-кандидат является подмножеством Супер-ключа. Ключ-кандидат также известен как минимальный супер-ключ.
Пример: в приведенной выше реляционной таблице первичный ключ, ключ-кандидат и уникальный ключ - это супер-ключ. В качестве одного столбца таблицы клиента, т. Е. Cust_id, достаточно для уникальной идентификации кортежей из таблицы. Любой набор столбца, который содержит 'cust_aadhaar_number', 'cust_pan_number', является Супер Ключом.
7. Внешний ключ
Внешний ключ - это столбец, который известен как Первичный ключ в другой таблице, т. Е. Первичный ключ в таблице может называться Внешним ключом в другой таблице. Внешний ключ может иметь повторяющиеся значения & NULL, если он определен для принятия значений NULL.
Пример: в приведенной выше реляционной таблице «cust_id» - это «Первичный ключ» в таблице «Клиент», а «cust_id» в таблице «Заказ», известный как «Внешний ключ». Внешний ключ в таблице всегда становится Первичным ключом на другой таблице.
На приведенном выше рисунке показано, как каждый столбец отображается как ключ в соответствии с их квалификацией для уникальной идентификации кортежей из таблицы. Снимок экрана обобщает все ключи с помощью реляционной таблицы.
Вывод - ключи SQL
Ключи SQL - один из атрибутов реляционной базы данных. которая играет важную роль, чтобы установить отношения между двумя или более таблицами. Это также помогает быстрее выполнять запросы, т. Е. Извлечение записей из базы данных становится намного быстрее с помощью ключей. Ключи также устанавливают различные ограничения для уникальной идентификации кортежей из больших данных.
Рекомендуемые статьи
Это руководство по ключам SQL. Здесь мы подробно обсудим введение в SQL-ключи и 7 различных типов с соответствующим примером. Вы также можете посмотреть на следующую статью.
- Отличительное ключевое слово в SQL
- Курсоры в SQL
- Внешний ключ в SQL
- Транзакции в SQL