BD-1st-2.4-lab7.tresc-1.1-Slajd13
Klucz podstawowy
Jednym z najważniejszych ograniczeń integralnościowych jest tzw. klucz podstawowy. Żaden z atrybutów wchodzących w skład klucza podstawowego nie może przyjmować wartości NULL. Dodatkowo wymagane jest, aby żadna kombinacja wartości tych atrybutów nie wystąpiła więcej niż raz. Przykład (1) pokazuje sposób definicji ograniczenia „klucz podstawowy” jako ograniczenia atrybutu. Aby zdefiniować klucz podstawowy jako ograniczenie atrybutu wystarczy za typem atrybutu podać opcjonalną nazwę ograniczenia, a następnie słowa PRIMARY KEY. Klucz podstawowy zdefiniowany jako ograniczenie atrybutu dotyczy tylko jednego atrybutu. Dzięki ograniczeniu zdefiniowanemu w przykładzie (1), żadna NAZWA w relacji PROJEKTY nie może się powtórzyć. Przykład (2) pokazuje definicję ograniczenia „klucz podstawowy” jako ograniczenia relacji. Aby zdefiniować klucz podstawowy jako ograniczenie relacji, po opcjonalnej nazwie ograniczenia podaje się słowa PRIMARY KEY a następnie w nawiasie listę atrybutów wchodzących w skład klucza. Dzięki ograniczeniu zdefiniowanemu w przykładzie (2), żadna kombinacja wartości atrybutu NUMER i atrybutu NAZWA nie może się powtórzyć. Przykładowo, może wystąpić wiele krotek o wartości atrybutu NUMER równej 1, ale muszą one mieć różne NAZWY. Może również wystąpić wiele krotek i wartości atrybutu NAZWA równej „System informatyczny dla dziekanatu”, jednak wówczas muszą one mieć różne wartości na atrybucie NUMER.
Jak łatwo zauważyć, zbiór atrybutów podlegających ograniczeniu integralnościowemu „klucz podstawowy” jednoznacznie identyfikuje krotkę. Innymi słowy, znając wartości atrybutów wchodzących w skład klucza podstawowego, wiemy, że istnieje co najwyżej jedna krotka o takiej kombinacji wartości. W relacji PRACOWNICY, którą poznaliście państwo podczas poprzednich ćwiczeń, kluczem głównym jest atrybut ID_PRAC. Nie jest kluczem głównym np. atrybut NAZWISKO, a zatem możliwe jest wstawienie kilku pracowników, o takim samym nazwisku.
Uwaga! Relacja może posiadać co najwyżej jeden klucz podstawowy.