SQL КЛЮЧОВИ са единични или множество атрибути, използвани за получаване на данни от таблицата според изискването или условието. Те могат да се използват и за създаване на връзки между различни таблици. Има няколко типа SQL КЛЮЧОВЕ, които са:
- Супер ключ
- Кандидат ключ
- Първичен ключ
- Алтернативен ключ
- Съставен ключ
- Уникален ключ
- Външен ключ
1. СУПЕР КЛЮЧ
СУПЕР КЛЮЧ е комбинация от една или няколко колони в таблица в базата данни, които помагат за уникалната идентификация на всеки ред в таблицата. Това е група от един или няколко клавиша.
Пример:
EmpSSN | EmpNum | EmpName |
1254654 | TAE03 | Хари |
2165465 | TAE04 | Рон |
2154864 | TAE05 | Доби |
В горния пример EmpSSN и EmpNum са СУПЕР КЛЮЧОВЕ, защото помагат за уникалното идентифициране на всеки ред в таблицата.
2. КЛЮЧ КАНДИДАТ
CANDIDATE KEY също е набор от колони или атрибути, които помагат да се идентифицира всеки ред в таблицата поотделно. КАНДИДАТЕН КЛЮЧ може да бъде дефиниран като СУПЕР КЛЮЧ без съответстващи атрибути. Може да се демонстрира като поднабор от SUPER KEY. Няколко кандидат-ключа могат да бъдат в таблицата.
Пример:
StuID | Навийте | Име | Фамилия | Имейл |
01 | 42 | Хари | Кейн | [email protected] |
02 | 43 | Рон | Уисли | [email protected] |
03 | 44 | Доби | Райт | [email protected] |
StuID, Roll и Email са КЛЮЧЕВЕ КАНДИДАТ в горната таблица, защото помагат да се идентифицира всеки ред уникално.
3. ПЪРВИЧЕН КЛЮЧ
ПЪРВИЧЕН КЛЮЧ е атрибут или група от атрибути, които помагат за ясното идентифициране на отделните редове. В таблицата не може да има точната стойност на ПЪРВИЧНИЯ КЛЮЧ повече от веднъж. ПЪРВИЧЕН КЛЮЧ може да бъде изразен като подмножество на КЛЮЧ КАНДИДАТ. В таблицата не може да има няколко ПРАВИЛНИ КЛЮЧА.
Свойства на ПЪРВИЧЕН КЛЮЧ:
- В таблицата не може да има дублиращи се стойности на PRIMARY KEY.
- PRIMARY KEY не може да съдържа нулеви стойности.
- Стойността на ПЪРВИЧЕН КЛЮЧ не трябва да се променя с времето.
- Всеки отделен ред в таблицата трябва да съдържа ПРАВИЛЕН КЛЮЧ.
Пример:
StuID | Навийте | Име | Фамилия | Имейл |
01 | 42 | Хари | Кейн | [email protected] |
02 | 43 | Рон | Уисли | [email protected] |
03 | 44 | Доби | Райт | [email protected] |
Студио е първичният ключ в горния пример, тъй като може уникално да идентифицира всеки запис в таблицата.
4. АЛТЕРНАТИВЕН КЛЮЧ
ALTERNATE KEY помага да се идентифицират отчетливо записите в таблицата. В таблицата може да има няколко колони, които могат да идентифицират отделни редове в таблицата поотделно. От тези атрибути само един атрибут е избран като ПРАВИЛЕН КЛЮЧ. Останалите атрибути стават АЛТЕРНАТИВНИ КЛЮЧОВЕ.
Пример:
StuID | Навийте | Име | Фамилия | Имейл |
01 | 42 | Хари | Кейн | [email protected] |
02 | 43 | Рон | Уисли | [email protected] |
03 | 44 | Доби | Райт | [email protected] |
В горния пример Roll и Email са АЛТЕРНАТИВНИ КЛЮЧОВЕ.
Следното представяне ще ви помогне да разберете КЛЮЧА КАНДИД, ПЪРВИЧНИЯ КЛЮЧ и АЛТЕРНАТИВНИЯ КЛЮЧ по по-добър начин.
5. КОМПОЗИТЕН КЛЮЧ
КОМПОЗИТЕН КЛЮЧ е сливане на множество колони, които помагат при идентифицирането на всеки ред ясно. Тази яснота е гарантирана само когато колоните са комбинирани. Когато колоните са взети поотделно, това не обещава отличителност. ПЪРВИЧЕН КЛЮЧ, който е направен от множество атрибути, се дефинира като КОМПОЗИТЕН КЛЮЧ.
Пример:
OrderNo | Идентификатор на продукта | Име на продукт | Количество |
A001 | 5624185 | LCD | 1 |
A001 | 3216546 | Принтер | 2 |
A001 | 3516527 | Мишка | 3 |
A002 | 9816846 | Клавиатура | 1 |
A003 | 7160354 | USB | 5 |
В горния пример, OrderNo и ProductID се комбинират, за да образуват КОМПОЗИТНИЯ КЛЮЧ. Те поотделно не могат да идентифицират всеки ред в таблицата уникално, но когато се комбинират, могат да идентифицират всеки запис в таблицата уникално.
6. УНИКАЛЕН КЛЮЧ
UNIQUE KEY може също така да идентифицира всеки ред в таблица по уникален начин като ПЪРВИЧЕН КЛЮЧ. Но за разлика от ПЪРВИЧЕН КЛЮЧ, УНИКАЛНИЯ КЛЮЧ може да има само една нулева стойност. В таблицата може да има няколко УНИКАЛНИ КЛЮЧА.
Пример:
Нека разгледаме Студентска таблица със следните колони.
В горните колони CityID е УНИКАЛНИЯ КЛЮЧ. Да предположим, че ако студент напусне града и отиде в чужбина за обучение, тогава CityID на този студент няма да бъде там. В този случай този атрибут ще стане нулев и нулеви стойности са разрешени в UNIQUE KEY.
7. ВЪНШЕН КЛЮЧ
ВЪНШЕН КЛЮЧ в таблица е атрибут, който установява връзка между две таблици. ВЪНШЕН КЛЮЧ на една таблица препраща към ПЪРВИЧНИЯ КЛЮЧ на друга таблица, установявайки връзката между двете таблици. ВЪНШЕН КЛЮЧ може да приема множество нулеви и дублиращи се стойности.
Пример:
Нека разгледаме следните две таблици, Студенти таблицата и Поръчка таблици.
Първата маса е Студентите таблица.
StuID | FName | LName | Град |
1 | Хари | Кейн | Колката |
2 | Рон | Уисли | Нойда |
3 | Доби | Райт | Мумбай |
Втората таблица е Поръчката таблица.
OrderID | Номер на поръчка | StuID |
1 | 65498545 | 3 |
2 | 46546854 | 2 |
3 | 21654698 | 3 |
4 | 65165415 | 1 |
StuID в Студентите таблицата е PRIMARY KEY, а StuID в Order таблицата е ВЪНШИЯТ КЛЮЧ.
Това са основните ключове в SQL, на които трябва да се даде значение при създаване или работа с бази данни.