KLUCZE

 

*      Klucz kandydujący w relacji R jest podzbiorem K zbioru atrybutów relacji R, mających własności:

o   Jednoznaczności – żadne dwie krotki R nie mają tej samej wartości dla K

o   Nieredukowalności – żaden właściwy podzbiór K nie ma własności jednoznaczności

*      Cechy kluczy kandydujących:

o   W jednej relacji może wystąpić kilka różnych kluczy kandydujących

o   Klucz kandydujący zawierający więcej niż jeden atrybut nazywa się kluczem złożonym, zaś klucz kandydujący zawierający dokładnie jeden atrybut – kluczem prostym

o   Klucze kandydujące nie zawierają żadnych atrybutów, które są zbędne do jednoznacznej identyfikacji

o   Klucze kandydujące zapewniają podstawowy mechanizm adresowania na poziomie krotek w systemie relacyjnym.

 

*      Klucz główny (primary key) – wybrany klucz kandydujący

*      Klucze alternatywne (alternate keys) – pozostałe klucze kandydujące

*      Klucze obce (foreign keys) - klucz obcy relacji pochodnej R2  jest to podzbiór FK, zbioru atrybutów  R2 takich, że:

o   Istnieje relacja podstawowa R1 (relacje R1 i R2 niekoniecznie są różne) z kluczem kandydującym CK oraz

*      W każdej chwili każda wartość FK w aktualnej wartości relacji R2 jest taka sama, jak wartość CK w pewnej krotce aktualnej wartości R1

*      Cechy kluczy obcych:

o   Każda wartość danego klucza obcego musi pojawić się jako wartość odpowiedniego klucza kandydującego. Klucz kandydujący, odpowiadający danemu kluczowi obcemu może zawierać wartość, która nie występuje aktualnie jako wartość klucza obcego

o   Klucz obcy jest złożony – składa się z więcej niż jednego atrybutu – tylko i tylko wtedy, gdy klucz kandydujący, któremu on odpowiada jest złożony

o   Klucz obcy jest prosty wtedy i tylko wtedy, gdy odpowiadający mu klucz kandydujący jest prosty

o   Każdy składowy atrybut danego klucza obcego musi być zdefiniowany na tej samej dziedzinie, co odpowiadający mu składnik właściwego klucza kandydującego

*      Integralność referencyjna – w bazie danych nie mogą występować żadne niedopasowane wartości kluczy obcych

*      Reguły kluczy obcych:

*      Usuwanie:

*      RESTRICTED – usuwanie jest ograniczone do przypadków, gdy nie ma krotek powiązanych

*      CASCADE – usuwane są również krotki powiązane

*      Aktualizacja:

*      RESTRICTED – aktualizacja jest ograniczana do przypadków, gdy nie ma krotek powiązanych

*      CASCADE – aktualizacja jest propagowana na krotki powiązane

*      NULL (brak informacji)

*      Usuwanie:

*      NULLIFIES – klucz obcy zostaje ustawiony na null i potem krotka powiązana jest usuwana

*      Aktualizacja:

*      NULLIFIES – klucz obcy zostaje ustawiony na null i potem krotka powiązana jest aktualizowana

 

powrót