* V V ?. RELACYJNY MUft/fcl. UAIN YCH
!Ćwiczenie 3.6.9. Należy znaleźć minimalne bazy dla zależności i relacji określonych w przykładzie 3.31.
MCwiczenie 3.6.10. Wykazać, że jeśli pewna zależność funkcyjna F wynika z określonego zbioru zależności, to F można wyprowadzić z tego zbioru, korzystając z aksjomatów Armstronga (zdefiniowano je w ramce w' p. 3.6.5). Wskazówka: należy zanalizować algorytm obliczania domknięcia zbioru atrybutów i wskazać, w jaki sposób każdy krok algorytmu jest równoważny z wyprow adzeniem zależności funkcyjnej przez zastosowanie któregoś z aksjomatów Armstronga.
Już kilka razy wspominaliśmy, że bezpośrednie przekształcenie projektów obiektowych zapisanych w języku ODL (może w mniejszym stopniu stosuje się to do diagramów związków encji) prowadzi do kłopotów' z relacyjnymi schematami baz danych. Główny problem polega na redundancji, tzn. na tym, że pewne dane powtarzają się w wielu krotkach. Ustaliliśmy już nawet najpowszechniejsze źródło redundancji: próby obejmowania w jednej relacji zarówno jedno- jak i wielowartościowych właściwości obiektu. W p. 3.2.2 rozważaliśmy przykład redundancji, która wynikła, gdy próbowaliśmy umieścić daną jednounrtościową o filmie (np. długość filmu) razem z wiclowartościowymi właściwościami (np. zbiorem gwjazd filmu). Zilustrowano ten problem na rys. 3.27 i 3.30. Podobną redundancję otrzymaliśmy, gdy próbowaliśmy dane o dacie urodzin gwiazdy przechowywać w jednej relacji ze zbiorem adresów tej gwiazdy.
tytuł |
rok |
długość |
lypFihnu |
nazwaStudia |
nazwisko-Gwiazdy |
Gwiezdne Wojny |
1S77 |
124 |
kolor |
Fcx |
Carrie Fisher |
Gwiezdne Wojny |
1577 |
124 |
kolor |
Fox |
Mark Hamili |
Gwiezdne Wojny |
1577 |
124 |
kolor |
F ox |
Harrisor. Ford |
Potężne Kaczory |
1551 |
•s* o r-( |
kolor |
Disney |
Emilio Estevez |
Świat Wayne'a |
1952 |
95 |
kolor |
Paramount |
Dana Corvey |
świat Wayne'a RYSUNEK 3.30 |
1552 |
95 |
kolor |
Parair.ount |
Mi ke Meyers |
Anomalie w relacji Film
W bieżącym podrozdziale rozwiążemy problem projektowania dobrego relacyjnego schematu bazy danych i przedstawimy ten proces w podziale na następujące etapy:
1. Najpierw szczegółowo opiszemy problemy, które wynikają przy tworzeniu schematu.
2. Następnie przedstawimy metodę dekompozycji, która polega na podziale schematu relacji (zbioru atrybutów-) na dwa mniejsze schematy.
3. Potem opiszemy „postać normalna Boyce’a-Codda,\ inaczej „BCNF”, czyli taki warunek nałożony na schemat, dzięki któremu można wyeliminować jego niedoskonałości.
4. Połączymy potem te elementy i wytłumaczymy, w jaki sposób zapewr-nić spełnienie wrarunków BCNF przez dekompozycję schematów1 2 3 relacyjnych.
Takie problemy jak redundancja, które powstają, gdy próbujemy do pojedynczej relacji włączyć zbyt wiele danych, są nazywane anomaliami. Poniżej wyliczamy podstawowe rodzaje anomalii:
Redundancja (redudancy). Dane niepotrzebnie powtarzają się w kilku krotkach. Jako przykład może służyć długość i typ filmu zdefiniowane na rys. 3.30.
Anomalie modyfikacji (update cmomalies). Może się zdarzyć, że wartość danej zostanie zmodyfikowana w pewnej krotce, a w innej nie. Na przykład w pewnym momencie okaże się , że Gwiezdne Wojny trwają naprawdę 125 minut i beztrosko zmieniamy wartość tego atrybutu w pierwszej krotce na rys. 3.30, ale druga i trzecia krotka pozostają bez zmian. Co prawda można by się kłócić, że nikt nie powinien zachowywać się tak beztrosko. Jednak przekonamy się, że można takich sytuacji uniknąć dzięki zmianom schematu relacji Film.
Anomalie usunięć (deletion anomalies). W przypadku gdy dla pewnego atrybutu zaczyna obowiązywać wartość pusta, to jako efekt uboczny może się zdarzyć utrata części danych. Jeśli na przykład ze zbioru gwiazd filmu Potężne Kaczory usuniemy nazwisko Emilio Estevez, to w bazie nie będzie już żadnych danych o gwiazdach tego filmu. Z relacji Fi im zniknie wówczas ostatnia krotka zawierająca dane o filmie Potężne Kaczory, a wraz z nią informacje o ty m, że film trwa 95 minut oraz że jest kolorowy.