66665 ullman115 (2)

66665 ullman115 (2)



ł iVIAl.ANIA WMOUtLU RELACYJNYM

I (n, .5, g, b) — K(n, a, q, b) AND S(n, a. g, b)

/ występujące w tej regule jest predykatem typu IDB; odpowiadająca mu relacja po zastosowaniu lej reguły przyjmuje wartość R r\ S\ bowiem, aby krotka dala wartościowanie, przy którym oba pod zadań i a są prawdziwe, ta krotka musi wystąpić jednocześnie w obu relacjach: R i S.

4.3.2. Suma

Suma dwóch relacji jest opisywana przez dwie reguły. W każdej z nich atom odpowiadający jednej z relacji występuje jako jedyne podzadanic, a w obu regułach ich nagłówki są takie same i stanow i je predykat IDB. Argumenty w predy kacie nagłówka są takie same jak w podzadaniach reguły'.

Zmienne mają charakter lokalny dla reguł

Zauważmy, żc nazwy zmiennych w regułach są ustalone arbitralnie i nie mają związku z nazwami zmiennych w innych regułach. Każda bowiem reguła jest przetwarzana niezależnie od innych i określenie zakresu krotek nagłówka nic zależy od innych reguł. Dlatego możemy na przykład zastąpić drugą regułę z przykładu 4.21 następującym zapisem:

U(w, x, y, z) — S(w, x, y, z)

Pierwszą regułę pozostaw imy bez zmian, ale obie reguły w dalszy m ciągu opisują sumę relacji R i S. Trzeba natomiast pamiętać o tym, żc jeśli zmienimy nazwę pewnej zmiennej w jakiejś regule, to musimy zastąpić w ten sam sposób wszystkie wystąpienia tej zmiennej w obrębie tejże reguły. Poza tym wybrana nowa nazwa nic może kolidować z nazwami innych zmiennych w tej regule.


PRZYKŁAD 4 21

Do określenia sumy dwóch relacji R i S. opisanych w przykładzie 4.20, korzystamy z dwóch następujących reguł:

!• U(n, a, g, b) — R(n, a, g, b)

2. U(n, a, g, b) •- S{n, a, g, b)

Z zapisu (I) wynika, żc każda krotka relacji R należy również do relacji U typu IDB. Z zapisu (2) wynika, żc każda krotka relacji S również należy do U. 7. obu tych zapisów wynika więc. że każda krotka sumy R u S należy do U. Ponieważ w nagłów ku poza relacją U nie ma żadnego innego predykatu, a więc nic można w wyniku stosowania tych reguł uzyskać już żadnych innych krotek, stąd tez możemy wysnuć wniosek- że relacja Ł jest dokładnie tym samym co suma R^jS1. Ponieważ relacje są zbiorami, więc każda krotka w U występuje tylko jeden raz, nawet jeśli występuje w relacji S oraz relacji R.

4.3.3. Różnica

Różnicę relacji R i S w Dutalogu zapisujemy w postaci jednej reguły z jednym negowanym podzadanicm Znaczy to. żc w podzadaniu nic/ancgowa-nym występuje predykat R. a w negowanym predykat S. W obu pod zadaniach oraz w nagłówku występują w charakterze argumentów te same zmienne.

PRZYKŁAD 4.22

Jeśli R i S są relacjami z przykładu 4.20. lo wówczas reguła

D(n, a, g, b) — R(n, a, g, d) AND NOT S(n, a, g, b)

definiuje relację Z) jako różnicę R S.

4.3.4. Rzutowanie

Do obliczania rzutowania relacji R korzysta się z jednej reguły, w której występuje tylko jedno podzadanie z predykatem R. Argumentami tego podza-dania są różne zmienne, po jednej dla każdego atrybutu relacji. Natomiast w nagłówku występuje atom, którego argumenty odpowiadają elementom z listy rzutowania, a występują tam w zgodnym z nią porządku.

PRZYKŁAD 4.23

Załóżmy, że chcemy wykonać rzutowanie następującej relacji:

Film(tytuł, rok, długość, czyKolor, nazwaStudia, produ-contC#)

na pierwsze trzy atrybuty: tyto?, rok, długość, podobnie jak to byk w przykładzie 4.2. W wyniku tego działania powstaje relacja /’, zdefiniowani przez następująca regułę:

PU, y, 1) — Film(t, y, 1, c, s, p)

1

Przy każdym z przykładów w bieżącym rozdziale powinniśmy założyć, żc oprócz zapi sanych cxplicite. nic obowiązują w nich żadne inne reguły dla predykatów IDB. Jeśli bowicn istniałyby takie, to me moglibyśmy nic stwierdzić na temat zawartości relacji.


Wyszukiwarka

Podobne podstrony:
66665 ullman115 (2) ł iVIAl.ANIA WMOUtLU RELACYJNYM I (n, .5, g, b) — K(n, a, q, b) AND S(n, a. g, b
ullman115 (2) ł iVIAl.ANIA WMOUtLU RELACYJNYM I (n, .5, g, b) — K(n, a, q, b) AND S(n, a. g, b) / wy
ullman121 (2) 4. U/.IAI ANIA W MUUfcU/ RELACYJNYM4.4.2. Obliczanie najmniejszego punktu stałego Wcal
26206 ullman126 (2) ZDÓ 4 DZ1AI ANIA W MODELU RELACYJNYM 1. Należy narysować graf, którego wierzchoł
57382 ullman124 (2) I U/.IAI-ANIA w Mlłl>1.1.v1 Kr. i. AC- VJNVM i szóstej, ponieważ pr/ylot do D
18906 ullman104 (2) 214 1 DZIAŁANIA W MODELU RELACYJNYM Jedynym wspólnym atrybutem obu relacji S i R
ullman124 (2) I U/.IAI-ANIA w Mlłl>1.1.v1 Kr. i. AC- VJNVM i szóstej, ponieważ pr/ylot do Dallas
ullman103 (2) 212 4. DZIAŁANIA W MODELU RELACYJNYM A B 1 2 3 4 Relacja
ullman128 (2) <». W/.IAI.ANIA W MUUbUJ KII.ACYJNYM cyjna nadaje sens związkom. Jeśli na przykład
ullman136 (2) ■1 DZIAŁANIA W MODELU RELACYJNYM 1.    Wstawianie krotek do relacji 2.
39663 ullman102 (2) 210 4. DZIAŁANIA W MODELU RELACYJNYM Inny przykład zastosowania rzutowania poleg

więcej podobnych podstron