Въведение в SQL ключовете
Ключовете са полета в релационната таблица, които създават връзки между други таблици, поддържат целостта, уникалността и т.н. В тази тема ще научим за SQL ключовете.
В RDBMS ключовете играят важна роля. Това участва в множество дейности в релационната база данни. Използването на Key може да направи извличането на данни много по-бързо и ефективно. Той може да установи връзката в две или повече таблици. Използването на клавиши ни позволява да запазваме валидни и последователни данни в базата данни. Също така, тя използва уникално идентифициране на кортеж (ред) от таблицата. Тези таблици могат да имат няколко колони.
В реалния живот една таблица може да има множество клавиши. Всички колони също могат да бъдат декларирани като Key & тези ключове, които могат да бъдат наложени от базата данни.
Синтаксис:
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 | Нилам Сингх | Lucknow | 227643441123 | HFJFD3876U |
100005 | Амал Рават | Газиабад | 932571156735 | CBMVA9734A |
100006 | Сурова Саксена | Kanpur | 1453534363319 | TRYUC2568H |
По-долу е дадена таблицата „Поръчка“ със съответните данни, съответстващи на „cust_id“ от Таблицата на клиентите.
Таблица за поръчки | ||
cust_id | order_month_year | ORDER_AMOUNT |
100001 | 2019 - ян | $ 100 000 |
100002 | 2019 - ян | $ 120 000 |
100003 | 2019 - ян | $ 100 000 |
100004 | 2019 - ян | $ 110 000 |
100001 | 2019 - февруари | $ 105 000 |
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“ група от тези колони, използвани в комбинация за идентифициране на кортежа уникално в таблицата за поръчки. Отделната колона на тази таблица не е в състояние да идентифицира кортежа еднозначно от таблицата Поръчка.
6. Супер ключ
Super Key е комбинация от колони, като всяка колона на таблицата остава зависима от нея. Super Key може да има още няколко колони в групата, които може да са необходими или да не са необходими за идентифициране на кортежа еднозначно от таблицата. Candidate Key е подмножеството на Super Key. Candidate 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