3. RELACYJNY MODEL DANYCH
“a) Reguła sumowania (The union rule). Jeśli X, Y \ Z są nazwami zbiorów atrybutów oraz są spełnione zależności X —— Y oraz X > 1 Z, to zachodzi również zależność X —(łuZ).
b) Reguła przecięciu (The inlersection rule). Jeśli X, Y i 7. są nazwami zbiorów atrybutów oraz są spełnione zależności X —1-1 K oraz -V ——■ Z, to zachodzi również zależność X —1-1 (Yr> Z).
c) Reguła różnicy• {The difference rule). Jeśli A'. K i Z są nazwami zbiorów atrybutów oraz są spełnione zależności X — Y oraz -V —1-1 Z, to zachodzi również zależność X —1-1 (f - Z).
d) Trywialne zależności wielowartościowe (Trmat mułtivalued dependencieś). Jeśli A'ę K to zawsze również A' —1-1■ Y.
e) Inne źródło trywialnych zależności wielowartościowych. Jeśli wszystkie atrybuty relacji r należą do X u Y, to w R zachodzi zależność X -1-1 Y.
1) Usuwanie atrybutów dzielonych przez strony lewą i prawą. Jeśli jest spełniona zależność X —1-1 Y, to zachodzi takżeX -1-1 (Y X).
JĆwiczenic 3.8.8. Podać kontrprzykłady relacji, które wykażą dlaczego dla zależności wielowartościowych nic obowiązują następujące reguły:
c) Jeśli AB —1-> C, to A —1-1 C.
IĆwiczcnic 3.8.9. Zależności wielowartościowe często pojawiają się w trakcie przekształcania zapisu ODL do postaci relacyjnej. Należy określić zasady, dzięki którym można w trakcie stosowania metody schematu relacji, opisanej w p. 3.2.2 i 3.2.5. wykryć zależności wielowartościowe, wynikające z atrybutów wielowartościowych oraz związków.
Gdy zdajemy sobie już sprawę z problemów, wynikających w trakcie opracowywania schematu relacyjnego bezpośrednio z zapisu w ODL lub z diagramu związków encji. a także gdy wiadomo, co robić w przypadku pojawienia się anomalii, ustalimy jeden określony relacyjny schemat bazy danych, z którego będziemy korzystać w następnej części książki, poświeconej programowaniu baz danych. Schemat ten powstał dla przykładu filmów, gwiazd i studiów filmowych i składa się z relacji znormalizowanych, podobnych do relacji opisanych w poprzednich rozdziałach. Dołączono do nich jednak nowe atrybuty oraz relację FilmDyr, której tam nie było. Zmiany te umożliwiają prezentację różnych typów danych i różnych sposobów zapisu danych w' przykładach, które wystąpią w rozdziałach od 4 do 8. Schemat przedstaw iono na rys. 3.43.
Film {
TYTUŁ: string,
ROK: integer, długość: integer, czyKoior: boolean, nazwaStudia: string, producentC#: integer}
GwiazdyV? {
TYTUŁFILMU: String,
ROKFILMU: integer,
NA Z WIS KOGW JAZDY: string)
Gw i a zda Fi linowa (
NAZWISKO: string, adres: string, płeć: char, dataUrodzenia: dale)
FilmDyr(
nazwisko: string, adres: string,
CERT?: integer, cenaSieci: integer)
Studio(
Nazwa: string, adres: string, prezCtt: integer)
RYSUNEK 3.43
Przykład schematu bazy danych filmów
Do schematu należy pięć relacji. W każdej relacji opisano atrybuty oraz ich dziedziny. Atrybuty klucza relacji są na rys. 3.43 wyróżnione kapitałika-mi. ale w tekście ich nazwy są zapisane zwykłą czcionką. Na przykład klucz relacji Gwiazdy W’ stanowią wszystkie jej trzy atrybuty. W relacji f. im jest sześć atrybutów, dwa z nich: tytuł _ rok, tak jak poprzednio, stanowią łącznie klucz tej relacji, Atrybut tytuł jest napisem, a rok liczbą całkowitą.
W porównaniu z poprzednimi przykładami w tym schemacie ujawniają się następujące różnice: 1
Wprowadza się atrybut oznaczający numer certyfikatu dla dyrektorów produkcji filmu prezesa studia i producenta filmu. Numer ten jest jednoznacznie określoną liczbą całkowitą i można wyobrazić sobie, że