50337 ullman111 (2)

50337 ullman111 (2)



4 DZIAŁANIA W MODELU RELACYJNYM

łach zapisuje się na przykład, że jeśli w pewnej relacji występuje jakaś określona kombinacja krotek, to można wnioskować, że w innej określonej relacji na pewno występuje pewna określona krotka.

4.2.1. Predykaty i atomy

W Datalogu relacje zapisuje się w postaci symboli zwanych predykatami. Każdemu predykatowi przypisuje się charakterystyczną dla niego liczbę argumentów. a zapis, w którym występuje nazwa predykatu oraz jego argumenty, nazywa się atomem. Syntaktyka atomu jest taka jak syntaktyka wywołania funkcji w konwencjonalnych językach programowania, na przykład P(x\i X2,    v„) oznacza atom złożony / predykatu /’ oraz jego argumentów

Xi,*2> -•*, X„.

Mówiąc krótko: predykat jest nazwą funkcji logicznej. Jeśli w relacji R jest n atrybutów i został ustalony ich porządek, to nazwy R można używać również do oznaczenia predykatu odpowiadającego tej relacji. Wówczas atom <J2,.... (i„) przyjmuje wartość PRAWDA, jeśli (fl|, a2,..., a„) jest krotką, która należy do R, w przeciwnym przypadku wartością tego atomu jest FAł.SZ.

PRZYKŁAD 4.14

Niech będzie dana następująca relacja R z rys. 4-3.

W ówczas /?(1,2) ma wartość PRAWDA, taką samą wartość ma R(3, 4). Natomiast dla wszystkich innych wartości par (x,y), R(.t. y) ma wartość FAŁSZ.

Argumentami predykatu mogą być zarówno stałe, jak i zmienne. Jeśli argumentami predykatu są zmienne, to wartość takiej funkcji logicznej jest wyliczana dla kombinacji wartości wszystkich tych zmiennych.

PRZYKŁAD 4.15

Jeśli R jest predykatem z przykładu 4.14. to funkcja R(x. y) przyjmuje wartość, która określa, czy dla danych wartości .r oraz y krotka R(x, y) należy do relacji R. W konkretnej instancji relacji R z przykładu 4.14 wartością relacji jest PRAWDA wówczas, gdy:

1. x- 1 iy = 2 lub

2.    ,v * 3 i y = 4 a we wszystkich pozostały ch przypadkach wartością tej funkcji jest FAŁSZ. Natomiast atom postaci /?(1. z) zwraca wartość PRAWDA, jeśli r = 2, a dla wszystkich innych wartości zmiennej z przyjmuje wartość FAŁSZ.

4.2.2. Atomy arytmetyczne

W Datalogu występuje jeszcze inny ważny rodzaj atomów, są to atomy arytmetyczne. W takich atomach występuje porównanie dwóch wyrażeń arytmetycznych, na przykład: x < y lub x + I > y + 4 x Dla odróżnienia dwóch rodzajów atomów te, które omawialiśmy poprzednio, będziemy nazywać atomami relacyjnymi, niemniej oba wymienione rodzaje są atomami.

Zauważmy, ż.e wszystkie atomy zarówno arytmetyczne, jak i relacyjne, podstaw iają wartości zmiennych w miejsce argumentów i zwracają w wyniku pewną wartość logiczną. A zatem porównanie arytmetyczne, takie jak „<’* lub daje taki wynik jak relacja, która zawiera wszystkie pary spełniające daną zależność arytmetyczną. Stąd też relację „<” można przedstawiać jako taką, która zawiera wszystkie te krotki, w których pierwsza składowa jest mniejsza od drugiej, np. (1, 2) lub (-1.5, 65.4). Pamiętajmy jednak, żc w bazach danych relacje są zawsze skończone, a poza tym zazwyczaj od czasu do czasu zmieniają się. Natomiast relacje arytmetyczne porównywania argumentów są zarówno nieskończone, jak i niezmienne.

4.2.3. Reguły i zapytania w Datalogu

Operacje w Datalogu. których wynik jest laki sam jak wynik odpowiedniej operacji w algebrze relacji, są przedstawiane w postaci reguł. Reguły składają się z:

ł. atomu relacji, który nazywa się nagłówkiem, a po którym występuje

2.    symbol , który często czytamy jako .jeżeli”, a po którym z kolei występuje

3.    treść, złożona z jednego lub większej liczby atomów, które nazywa się podzadaniumi. Podzndania mogą być zarówno atomami arytmetycznymi, jak i relacyjnymi. Podzadania łączy spójnik logiczny AND (I), a każde z podzadań można poprzedzić symbolem negacji

NOT (NIP.)-

PRZYKŁAD 4.16 Reguły / Datalogu

DługiFilm(t, y) «—    y, 1, c, s, p) AND 1 > 100


Wyszukiwarka

Podobne podstrony:
12165 ullman122 (2) 1 1 -. V 4 DZIAŁANIA W MODELU RELACYJNYM Następne przetwarzanie nic powoduje juz
ullman100 (2) 4______Działania w modelu relacyjnym W bieżącym rozdziale przedstawimy bazy danych z p
53493 ullman117 (2) 4 DZIAŁANIA W MODELU RELACYJNYM A teraz można wprowadzić spójnik NOT do porównan
37648 ullman116 (2) 4 DZIAŁANIA W MODELU RELACYJNYM4.3.5. Selekcja Operacja selekcji jest w przypadk
Kolendowicz4 Rys. 2-11 może być rozłożone na elemencie konstrukcyjnym nierównomiernie. Przyjmuje si
Andrzej Koch do celów nieuczciwych. Zdarza się na przykład, że tworzona jest ona dla ukrycia majątku
18906 ullman104 (2) 214 1 DZIAŁANIA W MODELU RELACYJNYM Jedynym wspólnym atrybutem obu relacji S i R
ullman103 (2) 212 4. DZIAŁANIA W MODELU RELACYJNYM A B 1 2 3 4 Relacja

więcej podobnych podstron