Klucz główny

Klucz główny

Dość często spotykanym problemem na etapie projektowania bazy danych jest określenie, która kolumna (kolumny) będzie pełnić funkcję klucza głównego. Ponieważ każdy wiersz w tabel musi my jednoznacznie zidentyfikować , zachodzi potrzeba wybrania atrybutów (kolumn), które spełniają to zadanie. Klucz główny odgrywa bardzo ważną rolę  w tabeli (relacji), dlatego jego wybór powinien zostać poprzedzony analizą typowanych przez nas kolumn pod kątem wymienionych poniżej własności:

  • trwałość – wartość kolumny powinna być stale obecna w wierszu, oznacza to , że kolumna taka (należąca do klucza głównego) nie może zawierać wartości NULL.
  • unikatowość – wartość klucza dla każdego wiersza powinna być unikatowa, ponieważ w niepowtarzalny sposób powinien on identyfikować każdą krotkę (wiersz tabeli). Może się zdarzyć, że taki niepowtarzalny identyfikator otrzymamy, umieszczając w kluczu głównym więcej niż jedną kolumnę. Kombinacja wartości, trzech kolumn, które należeć będą do klucza, będzie unikatowa i jednoznacznie zidentyfikuje każdą krotkę.
  • stabilność – wartości klucza nie powinny podlegać zmianom. Nie powinno się jako kluczy głównych używać kolumn przechowujących wartości nietrwałe, np. numer telefonu komórkowego, ponieważ mimo jego unikatowości każdy człowiek może go zmienić np. gdy przejdzie do innego operatora.

 Projektowanie relacyjnej bazy danych wymaga stosowania fachowych określeń, których uzywać powinno się nie tylko w odniesieniu do budowy tabel, lecz także w stosunku do relacji – związków tworzonych pomiędzy tabelami.

Aby jednoznacznie zidentyfikować wiersz tabeli, stosuje się  atrybut (kolumnę), której poszczególne wartości dla kolejnych krotek (wierszy) będą niepowtarzalne.

ISBN Tytul Autor Wydawnictwo Liczba_ksiazek Rok_wydania
234-83-2623-741-0 Janko Muzykant Henryk Sienkiewicz Greg

1

1999

978-83-2623-748-0 W pustyni i w puszczy Henryk Sienkiewicz Zielona Sowa Liczba_ksiazek

2010

 

W powyższym przykładzie taką kolumna jest ISBN, ponieważ dla każdej książki jest on unikatowy. Oczywiście dany ISBN będzie identyfikował grupę książek o tym samym autorze, tytule oraz roku i wersji wydania, a także zawartości. Ponieważ każda z tych książek będzie identyczna pod względem zawartości, nie ma potrzeby rozryć w tabeli kolejnych wierszy, wystarczy wpisać, że mamy dwie książki pod tytułem W pustyni i w puszczy, a każda z nich jest wierna kopią poprzedniczki.

Atrybut  będący kluczem głównym  możemy stworzyć sztucznie dla przykładu wprowadzając kolejne numerowanie wierszy 1, 2, 3, 4, 5 itd., pod warunkiem że każdy wiersz ma inny numer. Możemy również 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. Ponieważ każdy człowiek ma inny niepowtarzalny numer PESEL, nie zachodzi obawa, że może on się powtórzyć. Taką kolumnę (atrybut) nazywamy kluczem Głównym (primary key).

Zadanie

  1. 1.       Podaj co najmniej 5 przykładów klucza głównego.