BAZY DANYCH I SYSTEMY BAZ DANYCH
Tabela 9.5 nie jest relacją (zmienną relacyjną), ponieważ w kolumnach Dyżurni_M (M - mężczyźni) i Dyżurne_K (K - kobiety) występują zbiory wartości (dla każdej z trzech krotek).
Tabelę możemy określić jako formę nieznormalizowaną tzw. UNF (Un-Normalised Form).
Aby przekształcić ją w relację (aby tym samym była użyteczna dla relacyjnej bazy danych), musimy pozbyć się nieatomowych wartości w atrybutach Dyżurni_M i Dyżurne_K. Możemy tego dokonać przez tzw. spłaszczanie tabeli.
Tabela 9.6. Lista dyżurnych (2) - spłaszczenie tabeli
Dni |
Dyżurny_Ml |
Dyżurny_M2 |
Dyżurny_M3 |
Dyżurna_Kl |
Dyżurna_K2 |
Dyżurna_K3 |
Poniedziałek |
Kazimierz |
Roman |
Zbigniew |
Zofia |
Maria |
Bożena |
Środa |
Leszek |
Marian |
Krzysztof |
Monika |
Aniela |
Dobrusia |
i Piątek |
Donald |
Grzegorz |
Jerzy |
Iwona |
Jolanta |
Klaudia |
Albo przez powtórzenie atrybutu Dni:
*>B
Dni |
Dyżurny_M |
Dyżurna_K |
^jrnedziawk^. |
^szlmierr^^ |
r^CTia v |
Poniedziałek / \ |
; Roman / \ |
Maria \ |
y Poniedziałek |
Zbigniew |
Bożena J |
Środa |
Leszek |
Monika |
Środa |
Marian |
Aniela |
Środa |
Krzysztof |
Dobrusia |
Piątek |
Donald |
Iwona |
Piątek |
Grzegorz |
Jolanta |
Piątek |
Jerzy |
Klaudia |
Rys. 9.4. Wielowartościowa zależność funkcyjna
W tym wypadku pojedyncza wartość kolumny A wyznacza zbiory wartości atrybutu B (Dyzurni_M) i zbiory wartości atrybutu C (Dyżurne_K).
Zależności funkcyjne, w których jedna wartość atrybutu A jest wyznacznikiem zbioru wartości atrybutu B, nazywamy zależnościami wielowartościowymi.
Przed przejściem do normalizacji oprócz zależności wielowartościowych powinniśmy omówić jeszcze jedną zależność - zależność złączeniową (join dependency).