KLUCZE SQL to jeden lub wiele atrybutów używanych do pobierania danych z tabeli zgodnie z wymaganiami lub warunkami. Mogą być również używane do konfigurowania relacji między różnymi tabelami. Istnieje kilka typów kluczy SQL, które są:
- Super klucz
- Klucz kandydata
- Klucz główny
- Klawisz alternatywny
- Klucz złożony
- Unikalny klucz
- Klucz obcy
1. SUPER KLUCZ
SUPER KEY to połączenie jednej lub wielu kolumn w tabeli w bazie danych, które pomagają w jednoznacznej identyfikacji każdego wiersza w tabeli. Jest to grupa jednego lub kilku kluczy.
Przykład:
EmpSSN | EmpNum | EmpName |
1254654 | TAE03 | Harry |
2165465 | TAE04 | Ron |
2154864 | TAE05 | Zgredek |
W powyższym przykładzie EmpSSN i EmpNum są SUPER KLUCZAMI, ponieważ pomagają w jednoznacznej identyfikacji każdego wiersza w tabeli.
2. KLUCZ KANDYDATA
KLUCZ KANDYDATA to także zestaw kolumn lub atrybutów, które pomagają zidentyfikować każdy wiersz w tabeli osobno. KLUCZ KANDYDATA można zdefiniować jako SUPER KEY bez pasujących atrybutów. Można to zademonstrować jako podzbiór SUPER KEY. W tabeli może znajdować się kilka kluczy kandydujących.
Przykład:
StuID | Rolka | Imię | Nazwisko | |
01 | 42 | Harry | Kane | przykł[email protected] |
02 | 43 | Ron | Wiesley | przykł[email protected] |
03 | 44 | Zgredek | Wright | przykł[email protected] |
StuID, Roll i Email to KLUCZE KANDYDATA w powyższej tabeli, ponieważ pomagają jednoznacznie zidentyfikować każdy wiersz.
3. KLUCZ PODSTAWOWY
KLUCZ PODSTAWOWY to atrybut lub grupa atrybutów, które pomagają w wyraźnym identyfikowaniu poszczególnych wierszy. W tabeli nie może występować dokładna wartość KLUCZA PODSTAWOWEGO więcej niż raz. KLUCZ PODSTAWOWY może być wyrażony jako podzbiór KLUCZU KANDYDATA. W tabeli nie może być wielu KLUCZY PODSTAWOWYCH.
Właściwości KLUCZA PODSTAWOWEGO:
- W tabeli nie może być zduplikowanych wartości PRIMARY KEY.
- PRIMARY KEY nie może zawierać wartości null.
- Wartość PRIMARY KEY nie powinna być zmieniana z upływem czasu.
- Każdy wiersz w tabeli powinien zawierać KLUCZ PODSTAWOWY.
Przykład:
StuID | Rolka | Imię | Nazwisko | |
01 | 42 | Harry | Kane | przykł[email protected] |
02 | 43 | Ron | Wiesley | przykł[email protected] |
03 | 44 | Zgredek | Wright | przykł[email protected] |
StuID jest kluczem podstawowym w powyższym przykładzie, ponieważ może jednoznacznie identyfikować każdy rekord w tabeli.
4. ALTERNATYWNY KLUCZ
ALTERNATE KEY pomaga w wyraźnej identyfikacji rekordów w tabeli. W tabeli może być kilka kolumn, które mogą oddzielnie identyfikować poszczególne wiersze w tabeli. Spośród tych atrybutów tylko jeden atrybut jest wybierany jako KLUCZ PODSTAWOWY. Pozostałe atrybuty stają się KLUCZAMI ALTERNATYWNYMI.
Przykład:
StuID | Rolka | Imię | Nazwisko | |
01 | 42 | Harry | Kane | przykł[email protected] |
02 | 43 | Ron | Wiesley | przykł[email protected] |
03 | 44 | Zgredek | Wright | przykł[email protected] |
W powyższym przykładzie Roll i Email to ALTERNATYWNE KLUCZE.
Poniższe przedstawienie pomoże lepiej zrozumieć KLUCZ KANDYDATA, KLUCZ PODSTAWOWY i KLUCZ ALTERNATYWNY.
5. KLUCZ KOMPOZYTOWY
KOMPOZYTOWY KLUCZ to połączenie wielu kolumn, które pomagają w wyraźnej identyfikacji każdego wiersza. Ta odrębność jest gwarantowana tylko wtedy, gdy kolumny są połączone. Kiedy kolumny są rozpatrywane indywidualnie, nie obiecuje to charakteru odróżniającego. KLUCZ PODSTAWOWY, który składa się z wielu atrybutów, jest definiowany jako KLUCZ ZŁOŻONY.
Przykład:
Nr zamówienia | Identyfikator produktu | Nazwa produktu | Ilość |
A001 | 5624185 | LCD | 1 |
A001 | 3216546 | Drukarka | 2 |
A001 | 3516527 | Mysz | 3 |
A002 | 9816846 | Klawiatura | 1 |
A003 | 7160354 | USB | 5 |
W powyższym przykładzie OrderNo i ProductID są połączone, tworząc KLUCZ KOMPOZYTOWY. Nie mogą indywidualnie identyfikować każdego wiersza w tabeli, ale gdy są połączone, mogą jednoznacznie identyfikować każdy rekord w tabeli.
6. UNIKALNY KLUCZ
UNIQUE KEY może również identyfikować każdy wiersz w tabeli jednoznacznie, podobnie jak PRIMARY KEY. Ale w przeciwieństwie do KLUCZU PODSTAWOWEGO, KLUCZ UNIQUE może mieć tylko jedną wartość null. W tabeli może znajdować się kilka UNIKALNYCH KLUCZY.
Przykład:
Rozważmy tabelę Student z następującymi kolumnami.
W powyższych kolumnach CityID to UNIKALNY KLUCZ. Załóżmy, że jeśli student opuści miasto i wyjedzie za granicę na studia, to ID CityID tego studenta tam nie będzie. W takim przypadku ten atrybut stanie się null, a wartości null są dozwolone w UNIQUE KEY.
7. KLUCZ OBCY
KLUCZ OBCY w tabeli to atrybut, który ustanawia relację między dwiema tabelami. FOREIGN KEY jednej tabeli odwołuje się do PRIMARY KEY innej tabeli, ustanawiając relację między dwiema tabelami. KLUCZ OBCEJ może akceptować wiele wartości null i zduplikowanych.
Przykład:
Rozważmy następujące dwie tabele, Studenci tabeli i Zamówienie tabele.
Pierwsza tabela to Studenci tabela.
StuID | Nazwa użytkownika | LName | Miasto |
1 | Harry | Kane | Kalkuta |
2 | Ron | Wiesley | Noida |
3 | Zgredek | Wright | Bombaj |
Druga tabela to Zamówienie tabela.
Identyfikator zamówienia | Nr zamówienia | StuID |
1 | 65498545 | 3 |
2 | 46546854 | 2 |
3 | 21654698 | 3 |
4 | 65165415 | 1 |
StuID w Studenci tabela to KLUCZ PODSTAWOWY, a StuID w Zamówieniu tabela jest KLUCZEM OBCYM.
Są to podstawowe klucze w SQL, którym należy nadać wagę podczas tworzenia lub obsługi baz danych.