Transcript Klucze

RODZAJE KLUCZY
Michał Krawczykowski kl. IIIB
Wyróżniamy następujące rodzaje kluczy:

Klucz głowny,

Klucz potencjalny,

Klucz prosty,

Klucz złożony,

Klucz obcy.
RODZAJE KLUCZY
Klucz główny (ang. Primary Key) – pojęcie z zakresu teorii relacyjnych baz
danych. Oznacza wybrany minimalny zestaw atrybutów relacji, jednoznacznie
identyfikujący każdą krotkę
tej relacji. Klucz głowny jest podyktowany wyborem projektanta
bazy danych.
Kluczem głównym może być dowolny klucz potencjalny, ale często stosuje się
rozwiązanie polegające na utworzeniu specjalnego atrybutu, którego wartości
domyślne pobierane są z sekwencji, tak aby zapewnić unikalność klucza.
Atrybut będący kluczem głównym możemy stworzyć sztucznie,
np. wprowadzając kolejne numerowanie wierszy 1, 2, 3, 4 itd., pod warunkiem,
że każdy wiersz ma inny numer. Możemy też posłużyć się określoną cechą
(atrybutem) opisywanej rzeczywistości (encji), np. dokonując spisu ludności
możemy posłużyć się numerem PESEL, nie zachodzi wówczas obawa że może
się on powtórzyć. Taką kolumnę (atrybut) nazywamy kluczem głownym.
KLUCZ GŁÓWNY
Klucz główny powinien zawierać następujące cechy:
Trwałość
Wartość kolumny
powinna być stale
obecna w wierszu,
oznacza to, że kolumna
taka nie może zawierać
wartości NULL.
Unikatowość
Stabilność
Wartość klucza dla
każdego z wierszy
powinna być unikatowa,
ponieważ
w niepowtarzalny sposób
powinien on
identyfikować każdą
krotkę.
Wartości klucza
nie powinny ulegać
zmianom. Nie powinno się
jako kluczy głownych
używać kolumn
przechowujących
wartości nietrwałe,
np. numer telefonu.
KLUCZ GŁÓWNY
Klucz potencjalny (kandydujący) (ang. Candidate Key) - pojęcie
z zakresu teorii relacyjnych baz danych. Oznacza minimalny zestaw
atrybutów relacji, jednoznacznie identyfikujący każdą krotkę tej relacji.
W relacji może znajdować się wiele kluczy potencjalnych (zwanych
czasem kandydującymi - ang. Candidate Key). Spośród kluczy
potencjalnych wybiera się zazwyczaj jeden klucz, zwany
kluczem głównym. W praktyce jest to kolumna lub kolumny,
których użycie jest rozważane przez projektanta bazy danych.
Towłaśnie twórca bazy danych decyduje, której klumnie (kolumnom)
nada funkcję klucza głownego.
W zależności od ilości atrybutów wchodzących w skład klucza możemy
wyróżnić:

klucze proste (jednoelementowe),

klucze złożone (wieloelementowe).
KLUCZ POTENCJALNY
Id
Imię
imię
PESEL
1
Jan
Kowalski
74092932157
2
Bogdan
Nowak
65665821445
Występowanie osób o tym samym imieniu i nazwisku mogłoby powodować błędy
w wypadku wystąpienia dwóch osób o tych samych imionach i tych samych
nazwiskach. Każdy człowiek ma niepowtarzalny unikatowy numer PESEL, tak więc
atrybut PESEL spełnia wymagania kolumny jednoznacznie identyfikującej każdą
krotkę. W tej tabeli, atrybut Id także spełnia wymagania kolumny identyfikującej
każdą krotkę, ponieważ nie mogą wystąpić w tabeli dwie osoby o tym samym Id.
W tym przypadku kluczami kandydującymi mogą być Id lub PESEL.
Zakładając, że projektant wybrał jako klucz głowny atrybut PESEL, atrybut Id
pozostał kluczem kandydującym. Przykład ten obrazuje różnicę między kluczem
głownym a kluczem kandydującym.
KLUCZ GŁOWNY A KLUCZ
POTENCJALNY
Klucz prosty to taki klucz, który jest jednoelementowy (składa się
z jednej kolumny).
KLUCZ PROSTY
Klucz złożony to taki klucz, który jest kilkuelementowy (składa się
z więcej niż jednej kolumny)
KLUCZ ZŁOŻONY
nr_indeksu
nazwisko
imię
grupa
12345
Igrekowski
Jan
34
12346
Iksiński
Bogdan
34
Kluczem prostym może być tutaj atrybut nr_indeksu, natomiast klucz złożony
może składać się z atrybutów nazwisko, imię i grupa.
Kluczem może być zatem jedna lub kilka kolumn, które wspólnie będą
w stanie jednoznacznie zidentyfikować pozostałe dane w tabeli.
Kolumny, które należą do kluczy, nazywamy atrybutami podstawowymi.
Kolumny nienależące do kluczy nazwyamy atrybutami opisowymi.
KLUCZ PROSTY A KLUCZ ZŁOŻONY
Klucz obcy – jest to kolumna lub zestaw kolumn w jednej tabeli,
która pasuje do klucza kandydującego drugiej lub tej samej tabeli.
Klucz obcy definiowany jest również jako kombinacja jednego
lub kilku atrybutów (pełniących funkcję klucza głownego)
wykorzystywanych do tworzenia związków pomiędzy tabelami
lub w obrębie jednej tabeli.
Klucze obce wyznaczane są zwykle podczas tworzenia związków
pomiędzy tabelami. Zjawisko posiadania odpowiedników klucza
głownego w obrębie różnych tabel nazywamy integralnością
referencyjną.
KLUCZ OBCY
Superklucz to kolumna lub zestaw kolumn jednoznacznie
identyfikujących każdą krotkę tabeli.
Superklucz może zawierać kolumny, które samodzielnie mogą nie
identyfikować każdej z krotek. Unikatowa identyfikacja każdej krotki
może odbywać się jedynie przez zestaw np. dwóch lub trzech
atrybutów. Przedmiotem zainteresowań projektantów baz danych
jest taki superklucz, który zawiera minimalny zestaw atrybutów
unikatowo identyfikującuch krotkę.
SUPERKLUCZ
KONIEC
Michał Krawczykowski kl. IIIB