ullman072 (2)

ullman072 (2)



150 3. RELACYJNY MODEL DANYCH

każdej gwiazdy, która wystąpiła w tym filmie. Dlatego też, mimo że wszystkie krotki są zgodne dla pozostałych atrybutów, to nie są zgodne w przypadku nazwiska gwiazdy.

3.5.2. Klucze relacji

Mówimy, że atrybut, lub zbiór atrybutów {A\, A2, —,An} tworzy klucz relacji, jeśli:

1.    Wszystkie pozostałe atrybuty relacji są funkcyjnie zależne od tych atrybutów. A zatem nic może się zdarzyć, aby dwie różne krotki relacji R były zgodne dla wszystkich atrybutów A {, A2,..., An.

2.    Nic istnieje taki podzbiór właściwy zbioru {A\,A2,..., A„}. od którego pozostałe atrybuty relacji R są zależne funkcyjnie, tzn. klucz musi być minimalny.

Jeśli klucz składa się tylko z jednego atrybutu A. to mówimy, że A (nie {.4}) jest kluczem.

PRZYKŁAD 3.21

Atrybuty {tytuł, rok, nazwiskoGwiazdy) tworzą klucz relacji Film, która została przedstawiona na rys. 3.27. Przede wszystkim trzeba wykazać, że wszystkie pozostałe atrybuty w relacji Film są od nich zależne funkcyjnie. Załóżmy więc. że dwie krotki są zgodne dla tych trzech atrybutów: tytuł, rok i nazwiskoGwiazdy. Ze względu na to. że są zgodne dla atrybutów ty.ci i rok, muszą być również zgodne dla pozostałych atrybutów: długość, typ-Filmu oraz nazwaStudia; wykazano to już w przykładzie 3.20. A więc dwie różne krotki nie mogą być zgodne dla wszystkich atrybutów tytuł, rok i nazwiskoGwiazdy, muszą być w takim przypadku tą samą krotką.

Teraz trzeba wykazać, że żaden z podzbiorów właściwych zbioru {tytuł, rok, nazwiskoGwiazdy} nie wyznacza pozostałych atrybutów w' sposób zależny funkcyjnie. Na początku zauważmy, że atrybut nazwiskoGwiazdy nie zależy funkcyjnie od atrybutów tytuł i rok, ponieważ przeważnie w filmach występuje wiele gwiazd. Zatem para {tytuł, rok} nic stanowi klucza.

Para {rok, nazwiskoGwiazdy} nie może być kluczem, ponieważ w danym roku gwiazda może wystąpić w wiciu filmach. A zatem

rok nazwiskoGwiazdy —* tytuł

nie jest zależnością funkcyjną. Można także twierdzić, że {tytuł, nazwiskoGwiazdy} nie stanowi klucza, ponieważ w różnych latach mogą zostać wyprodukowane dwa różne filmy o takim samym tytule. Może się także zdarzyć, że w obu tych filmach wystąpi ten sam aktor, mimo że szczer/.e mówiąc nie potrafimy znaleźć przykładu takiej sytuacji*.

Czasami zdarza się. żc w relacji można wskazać więcej niż jeden klucz. W komercyjnych systemach baz danych wybór klucza głównego może mieć wpływ na implementację, na przykład na sposób przechowywania relacji na dysku.

Na czym polega funkcyjność zależności funkcyjnych?

Zależność Ai, A2, ...,An —* B nazywa się „funkcyjną”, ponieważ w zasadzie istnieje funkcja, która dla danej listy wartości atrybutów Ah A2. wyznacza dokładnie jedną (lub nie określa żadnej) wartość atrybutu B. Dla relacji R możemy na przykład określić funkcję, która napisowi „Gwiezdne Wojny" oraz liczbie całkowitej 1977 przypisuje dokładnie jedną wartość długości, w tym przypadku liczbę i24, która występuje w relacji Film. Nie możemy jednak utożsamiać takich funkcji z matematycznym pojęciem funkcji, ponieważ tutaj nie istnieją reguły przyporządkowywania wartości argumentom. Nie możemy na przykład określić ciągu operacji, których przetworzenie spowodowałoby nadanie parze złożonej z napisu „Gwiezdne Wojny" oraz liczby 1977, właściwej długości. Wartości funkcji są w tym przypadku określane w wyniku przeszukiwania relacji. Poszukujemy krotki o podanych wartościach tytuł i rok i w tej krotce odczytujemy wartość składowej długość.


3.5.3. Nadkluczc

Zbiór atrybutów, który zawiera klucz nazywa się nadkluczem, co jest skrótem od pojęcia „nadzbioru klucza”. A więc każdy klucz jest również nadkluczem. Jednakże istnieją nadkluczc, które same nic są kluczami (minimalnymi). Zauważmy, że każdy nadklucz spełnia pierwszy warunek bycia kluczem, wszystkie atrybuty relacji są bowiem od niego zależne funkcyjnie. Jednakże najczęściej nadklucz nie spełnia warunku minimalności.

PRZYKŁAD 3.22

W relacji z przykładu 3.21 można określić wiele nadkluczy. Nie tylko sam klucz

’ Przypomnijmy, żc zależności funkcyjne wynikają z możliwych do przyjęcia założeń lub uzgodnień dotyczących danych. Nie istnieje żaden autorytet zewnętrzny, który mógłby rozstrzygnąć z absolutną pewnością, czy dana zależność funkcyjna zachodzi, czy też nic. Stąd też należy przyjmować takie założenia, które wydają się najbardziej odpowiednie.


Wyszukiwarka

Podobne podstrony:
ullman092 (2) iyu 3. RELACYJNY MODEL DANYCH wościami gwiazdy, polega na tym, że każdy adres w połącz
33758 ullman093 (2) 192 3 RELACYJNY MODEL DANYCH Oznacza lo, że dla każdej gwiazdy zbiór adresów mus
18968 ullman090 (2) 186 3. RELACYJNY MODEL DANYCH spełniają zadane zależności funkcyjne. Natomiast p
16212 ullman068 (2) 142 3. RELACYJNY MODEL DANYCH sy i broń, które pochodzą z pozostałych dwóch nadk
28640 ullman078 (2) 162 3. RELACYJNY MODEL DANYCH PRZYKŁAD 3.28 Rozważmy relację z atrybutami: A, B,
70840 ullman074 (2) 04 i. RELACYJNY MODEL DANYCH będzie oczywiste, co jest kluczem relacji bez wnika
ullman059 (2) 124 .1 RELACYJNY MODEL DANYCH miały strukturę złożoną zbioru lub zbioru struktur. W pr
ullman060 (2) 126 3 RELACYJNY MODEL DANYCH szczególnych wartości. I tak jak w przypadku atrybutów o

więcej podobnych podstron