Wynalazkowo - eksperymenty małe i duże

Bazy danych

Bazy danych - klucze

KLUCZE


Klucze to zbiory atrybutów mających określoną właściwość. Dzięki nim, możemy jednoznacznie identyfikować każdy wiersz. Można się spotkać z następującymi pojęciami typów kluczy :

SUPERKLUCZ (NADKLUCZ)  

Superkluczem nazywamy dowolny podzbiór atrybutów, identyfikujący jednoznacznie każdy wiersz. Każda RELACJA (tabela) może zawierać wiele takich kluczy. Szczególnym przypadkiem jest superklucz składający się ze wszystkich atrybutów (kolumn) danej tabeli.

 

KLUCZ KANDYDUJĄCY

To dowolny z SUPERKLUCZY, mogący zostać kluczem podstawowym. W implementacji bazy danych, w praktyce nie istnieje jako niezależny osobny (zmaterializowany byt) jako taki. Jest to tylko założenie teoretyczne.

 

KLUCZ PODSTAWOWY (PRIMARY KEY)

To wybrany (zazwyczaj najkrótszy), jednoznacznie identyfikujący każdy, pojedynczy wiersz, zbiór atrybutów (kolumn) danej relacji (tabeli). Jest to pierwszy z wymienionych do tej pory kluczy, który ma faktyczne, fizyczne odwzorowania w implementacji bazy danych. Każda tabela może mieć tylko jeden taki klucz.

W praktyce, będzie to najczęściej jedna lub dwie kolumny w tabeli, jednoznacznie (UNIKALNIE) identyfikujący każdy wiersz.  

W odniesieniu do klucza podstawowego, można spotkać określenie KLUCZ NATURALNY i SZTUCZNY. Kluczem naturalnym, będzie kolumna (lub zbiór kolumn) opisująca daną klasę obiektów – np. NIP. Jest to atrybut, który z punktu widzenia systemu postrzegany jest tak samo naturalnie jak Nazwa firmy czy jej REGON. W rzeczywistości jednak jest to nadany identyfikator sztuczny, ale jest on na tyle powszechny, że możemy traktować go jako klucz naturalny. Innym przykładem klucza naturalnego może być adres email użytkownika systemu. Przeważnie zakładamy, że dwóch użytkowników nie może mieć takiego samego adresu.

Klucz sztuczny to zazwyczaj dodatkowa kolumna stworzona przez projektanta bazy danych w celu identyfikacji rekordów, możliwie krótkim kluczem. Zazwyczaj będzie to wartość liczbowa typu całkowitego (INT, SMALLINT, BIGINT).  


Najważniejsze jest to, żeby klucz podstawowy unikalnie identyfikował rekordy i był możliwie krótki.

KLUCZ OBCY

To atrybut lub zbiór atrybutów, wskazujący na KLUCZ GŁÓWNY w innej RELACJI (tabeli). Klucz obcy to nic innego jak związek, relacja między dwoma tabelami.

Definicja klucza obcego, pilnuje aby w tabeli powiązanej, w określonych atrybutach, znaleźć się mogły tylko takie wartości które istnieją w tabeli docelowej jako klucz główny. Klucz obcy może dotyczyć również tej samej tabeli.