Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

ROZMYTE BAZY DANYCH.

Podobne prezentacje


Prezentacja na temat: "ROZMYTE BAZY DANYCH."— Zapis prezentacji:

1 ROZMYTE BAZY DANYCH

2 DEFINICJE

3 ZBIORY ROZMYTE Definicja. Niech X oznacza obszar odniesienia
(uniwersum). Zbiorem rozmytym A elementów obszaru X o funkcji przynależności A(x) nazywamy zbiór uporządkowanych par: A = {<x, A(x)>, xX, A(x):X [0,1]}

4 ZBIORY ROZMYTE Elementy należące do A w stopniu niezerowym
tworzą nośnik zbioru : supp (A) = {x: A(x) > 0} Elementy należące w pełni do A tworzą rdzeń zbioru : Ker (A) = {x: A(x) = 1} Elementy należące do A w stopniu większym lub równym pewnej wartości   [0,1] tworzą  - przekrój zbioru: A= {x: A(x) > }

5 ZBIORY ROZMYTE Jeśli xX A(x) = 0, to A jest zbiorem pustym.
Maksymalną wartość funkcji przynależności nazywamy wysokością zbioru: hgt (A) = sup xX A(x) Jeśli hgt (A) = 1, to zbiór nazywamy normalnym. Sumę wartości funkcji przynależności nazywamy licznością zbioru: card(A) =  xX A(x)

6 OPERACJE MNOGOŚCIOWE Suma: AB(x) = max(A(x), B(x))
Iloczyn: AB(x) = min(A(x), B(x)) Dopełnienie: -A(x) = 1 – A(x) Różnica: A – B(x) = min(A(x), 1 – B(x)) Operacje max i min są często oznaczane przez  i .

7 ZBIORY ROZMYTE Zbiory rozmyte A i B są równe, jeśli xX A(x) = B(x)
Zbiór A zawiera się w B, jeśli xX A(x)  B(x)

8 ZBIORY ROZMYTE Równość zbiorów rozmytych A i B można ocenić za
pomocą miary bliskości  (A, B). Jedną z miar bliskości jest wysokość iloczynu, czyli:  (A, B) = supx min (A (x), B (x)).

9 Liczba rozmyta (7.8, 8.2, 0.2, 0.2) μ 1 7.6 7.8 8.2 8.4 x

10 Liczby rozmyte (7.7, 7.7, 0.2, 0.2) i (7.9, 7.9, 0.2, 0.2) μ 1 0.5 7.5 7.7 7.9 8.1 x

11 IMPLIKATORY W logice dwuwartościowej operator implikacji I (implikator) jest odwzorowaniem: {0, 1}  {0, 1}  {0, 1}. Parze liczb (a, b) należących do {0, 1} odpowiada wartość I (a, b), taka że: I (a, b) = 1, dla a = 0 oraz I (a, b) = 0, dla a =1 i b = 0. Zaproponowano różne wersje rozszerzenia implikacji do postaci [0, 1]  [0, 1]  [0, 1]. Jednym z nich jest implikator Gödela.

12 IMPLIKATORY Jego definicję można przedstawić formalnie w sposób podobny do zapisu definicji implikacji klasycznej, z tą różnicą, że obie liczby a i b mogą przyjmować dowolne wartości z przedziału [0, 1]: IG (a, b) = 1 dla a  b, IG (a, b) = b dla a > b Implikator Gödela spełnia warunki wynikające z implikacji klasycznej, czyli: IG (0, 0) = 1, IG (0, 1) = 1, IG (1, 1) = 1 oraz IG (1, 0) = 0.

13 IMPLIKATORY Ponadto IG ma następujące własności:
a  c  IG (a, b)  IG (c, b) – implikator IG (a, b) jest funkcją nierosnącą a, b  c  IG (a, b)  IG (a, d) – implikator IG (a, b) jest funkcją niemalejącą b, IG (1, b) = b, IG (0, b) = 1, IG (a, 1) = 1, IG (a, IG (b, c)) = IG (b, IG (a, c)), IG (a, b)  min (a, b)

14 Implikatory Inne implikatory: Łukasiewicz I = min(1, 1-a+b)
Kleene-Dienes I=max(1-a, b) Mamdani I=min(a,b) Zadeha I = max(1-a, min(a,b))

15  (A, B) = infx I (A (x), B (x))
Implikatory Rozmyty implikator można wykorzystać przy określaniu stopnia zawierania się zbiorów rozmytych,  (A, B), czyli określeniu w jakim stopniu jest prawdziwe twierdzenie: jeśli x  A, to x  B:  (A, B) = infx I (A (x), B (x)) Zbiory A i B są równe, jeśli A  B i B  A. Mamy więc: (A, B) = min (infx I (A (x), B (x)), infx I (B (x), A (x))) Przy zastosowaniu implikatora Łukasiewicza otrzymujemy:  (A, B) = infx (1 – A(x) – B (x) ).

16 MODEL ZWIĄZKÓW ENCJI

17 MODEL ZWIĄZKÓW ENCJI M = {E, R, A} E – zbiór typów encji E
R – zbiór typów związków R A = {AE, AR} – zbiór atrybutów encji AE i związków AR

18 POZIOMY ROZMYTOŚCI Model związków encji składa się z trzech poziomów.
Na każdym z nich może występować konieczność zastosowania zbiorów rozmytych. I – Zbiory E, R, A II – Zbiory wystąpień encji i związków III – Atrybuty

19 POZIOM I i II E = {E(E)/E} R = {R(R)/R}
AE = {AE(A)/A} AR = {AR(A)/A} Przyklad E = {1/Pracownik, 1/Projekt, 0.9/Klient} E = {E(e)/e}, R = {R(r)/r} , e – encja, r - związek

20 ZWIĄKI ISA Jeżeli e E2  e E1 , to E2 jest podzbiorem E1,
czyli E2  E1  E2 (e)  E1 (e) Jeżeli E1 , E2 , ... , En są podzbiorami E, to E1  E2  ...  En  E  max(E1 (e) , E2 (e) , ... , En (e) )  E(e)

21 ZWIĄZKI ISA Jeśli podzbiory E1 , E2 , ... , En są rozłączne, to
supp(E1)  supp(E2)  ...  supp(En) = Ø Przynależność częściowa e E(e) > max(E1(e) , E2(e) , ... , En(e) ) = 0 Przynależność całkowita e E(e) > max(E1(e) , E2(e) , ... , En(e) ) > 0

22 ZWIĄZKI ISA Niech A=X będzie warunkiem przynależności do
zbioru niższego rzędu. Wtedy E1(e) = E(e)  Truth(A=X), gdzie Truth(A=X) – stopień spełnienia warunku A=X Ponadto E1(e) = E(e)  AE(A)  Truth(A=X)

23 ZWIĄZKI ISA Dziedziczenie wielokrotne F  E1  E2  ...  En
F(e)  min(E1(e) , E2(e) , ... , En(e) )

24 DZIEDZICZENIE Zbiór atrybutów zbioru encji Ei składa się ze zbioru
atrybutów AE dziedziczonych od zbioru nadrzędnego E i zbioru atrybutów własnych AOi: AEi= AE  AOi  AE(A)  AEi(A)

25 DZIEDZICZENIE ZWIĄZKÓW
R: EF[0,1] <ei, fj, R(i,j)> ei dziedziczy związek między ei oraz fj Stopień przynależności R(i,j)  Truth(p)

26 DZIEDZICZENIE ZWIĄZKÓW
STUDENT, STUD_MAG, STUD_INZ STUDENT – PRZEDMIOT <s1, p7, 0,9>, Truth(TYP=MAG) = 0,8 <s1, p7, min (0,9, 0,8)>

27 ZWIĄZKI Definicja związku rozmytego:
R={(u, v, ) u  E, v  F,   <0,1>} Uczestnictwo całkowite: e  E e  {u(u, v, )  R,  > 0} Uczestnictwo częściowe e  E e  {u(u, v, )  R,  > 0}

28 R f1 f2 ... fm e1 r11 r12 r1m e2 r21 r22 r2m en rn1 rn2 rnm

29 REF {f1} {f2} ... {fm} {f1, f2} {f1, ..., fm} e1 r11 r12 r1m r1,m+1 r1k e2 r21 r22 r2m r2, m+1 r2k en rn1 rn2 rnm rn,m+1 rn,k

30 PODEJŚCIE PODSTAWOWE

31 TRZY PODEJŚCIA Podejście podstawowe: wartości atrybutów są precyzyjne, przynależność krotki do relacji jest liczbą z przedziału [0,1] Podejście oparte na teorii możliwości: wartości atrybutów są podane za pomocą rozkładów możliwości Podejście oparte na podobieństwie: dla dziedzin atrybutów definiuje się macierz podobieństwa, wartości atrybutów są podzbiorami swoich dziedzin

32 RELACJE ROZMYTE Definicja. Niech X i Y oznaczają obszary odniesienia
(uniwersum). Relacją rozmytą R nazywamy zbiór rozmyty na iloczynie kartezjańskim X  Y : R = {<x, y, A(x,y) >, xX, yY, A(x,y): X  Y [0,1]}

33 RELACJE ROZMYTE Klasyczna relacja jest podzbiorem
iloczynu kartezjańskiego dziedzin jej atrybutów D1  D2 …  Dn . Przynależność krotek jest liczbą należącą do zbioru {0,1}. Relacja rozmyta jest zbiorem rozmytym na D1  D2 …  Dn . Każdej krotce r = (d1 , d2 , ... , dn), gdzie di  Di , przyporządkowano liczbę z przedziału [0, 1] określającą, w jakim stopniu należy ona do relacji lub, inaczej mówiąc, w jakim stopniu są przez nią spełnione warunki integralności. Zbiór {0,1} został zastąpiony przedziałem [0,1].

34 RELACJE ROZMYTE DUŻE_PROJEKTY Numer Nazwisko Buddżet Miasto µ 1 Kredyt
Łódź 2 Finn 50 000 Warszawa 0,8 3 Polisa 40 000 Paryż 0,4 4 Makler 30 000 Rzym 0,3 5 Visa 6 Agent 20 000 0,2

35 RELACJE ROZMYTE Wartości funkcji przynależności mogą być zadane
z góry lub wynikać z przeprowadzonych operacji. Relacja DUŻE_PROJEKTY mogła powstać w wyniku selekcji wykonanej na relacji PROJEKTY warunkiem rozmytym BUDŻET = ‘DUŻY’.

36 ALGEBRA RELACJI ROZMYTYCH

37 ALGEBRA RELACJI ROZMYTYCH
Definicje operacji algebraicznych na rozmytych relacjach są rozszerzeniem operacji klasycznych o sposób obliczania funkcji przynależności.

38 OPERACJE MNOGOŚCIOWE R, S – relacje, r, s, t - krotki
Suma: RS(t) = max(R(t), S(t)) Iloczyn: RS(t) = min(R(t), S(t)) Różnica: R-S(t) = min(R(t), 1 – S(t)) Iloczyn kartezjański: RS(r, s) = min(R(r), S(s))

39 OPERACJE RELACYJNE Selekcja: F(R)(r) = min(R(r), F(r)),
gdzie F(r) oznacza stopień spełnienia warunku selekcji F Projekcja: X (t) = sup r(X) = t(X) R (r). Złaczenie: R*S (t) = min(R (r), S (s))

40 OPERACJE RELACYJNE PRZYKŁAD
PRACOWNICY Numer Nazwisko Zarobki Wiek Miasto 1 Arski 8 000 30 Łódź 2 Barski 20 000 45 Warszawa 3 Carski 1 000 21 Paryż 4 Darski 1 500 43 Rzym 5 Farski 4 000 40 Praga

41 OPERACJE RELACYJNE PRZYKŁAD
Precyzyjny warunek selekcji R (pracownicy mieszkający w Polsce) Numer Nazwisko Zarobki Wiek Miasto 1 Arski 8 000 30 Łódź 2 Barski 20 000 45 Warszawa

42 OPERACJE RELACYJNE PRZYKŁAD
Rozmyty warunek selekcji: WIEK = ‘Młody’ Młody 1 24 34 WIEK

43 OPERACJE RELACYJNE PRZYKŁAD 1
Rozmyty warunek selekcji: WIEK = ‘Młody’ S ( młodzi pracownicy) 1 Arski 8 000 30 Łódź 0.4 3 Carski 1 000 21 Paryż

44 RS 1 Arski 8 000 30 Łódź 1(1 0.4) 2 Barski 20 000 45 Warszawa 1(1 0) 3 Carski 1 000 21 Paryż 1(0 1) RS 0.4(1 0.4) 0(1  0) 0(0  1) R - S 0.6(1 (1-0.4)) 1(1 (1-0)) 0(0(1-1))

45 OPERACJE RELACYJNE PRZYKŁAD 2 - PROJEKCJA
DUŻE_PROJEKTY Numer Nazwisko Buddżet Miasto 1 Kredyt Łódź 2 Finn 50 000 Warszawa 0,8 3 Polisa 40 000 Paryż 0.4 4 Makler 30 000 Rzym 0.3 5 Visa 6 Agent 20 000 0.2

46 OPERACJE RELACYJNE PRZYKŁAD 2 - PROJEKCJA
Miasto(DUŻE_PROJEKTY) Miasto Łódź 1 Warszawa 0,8 Paryż 0,4 Rzym

47 Numer Nazwisko Zarobki Wiek Miasto 1 Arski 8 000 30 Łódź 2 Barski 20 000 45 Warszawa 3 Carski 4 000 21 0,05 4 Darski 23 Poznań 0,1 5 Farski 40 Łodź 0,6 6 Jarski 35 Kraków 0,5

48 Zarobki 8 000 1 20 000 4 000 0,05 0,1 0,6 0,5 Zarobki(R) Zarobki 8 000 1 20 000 4 000 0,6

49 OPERACJE RELACYJNE PRZYKŁAD 3 - ZŁĄCZENIE
S Nazwisko Projekt Budżet Arski 1 100 Barski 2 200 0.8 Carski 3 0,05 300 0.6 Darski 0,1 Farski 0,6 Jarski 0,5

50 OPERACJE RELACYJNE PRZYKŁAD 3 - ZŁĄCZENIE
R*S Nazwisko Projekt Budzet Arski 1 100 Barski 2 200 0.8 Carski 3 300 0.05 Darski 0,1 Farski 0,6 Jarski 0,5

51 OPERACJE RELACYJNE PRZYKŁAD 4
Podać pary miast pracownika i projektu, w którym bierze on udział R S Name Pr Rtown Stown Arski 1 Łódź W-wa Barski 2 0.8 Carski 3 0,05 K-ów 0.6 Darski P-nań 0,1 Farski 0,6 Jarski 0,5

52 Rtown Stown Łódź W-wa 1 0.8 K-ów 0.05 0.6 P-nań 0.1 0.5

53 Dzielenie Iloraz R  S relacji rozmytych R i S określa, w jakim
stopniu wymagania zawarte w S są uwzględnione przez R . Do jego wyznaczenia należy wziąć pod uwagę krotki relacji R postaci (a, b), gdzie a ma ustaloną wartość oraz b obejmuje wszystkie wartości występujące w S (S (b) > 0). Stopień przynależności a do ilorazu jest równy najmniejszej wartości stopnia spełnienia wymagań przez krotki (a, b).

54 Dzielenie Jeżeli dla każdej wartości b występującej w S istnieje
w R krotka (a, b), dla której S (b)  R (a, b), to wymagania są całkowicie spełnione i a w pełni należy do R, czyli  R  S (a) = 1. Jeżeli przyjmiemy, że dla sytuacji przeciwnej, czyli gdy istnieją krotki (a, b), takie, że S (b) > R (a, b), wartość R  S (a) jest równa najmniejszej wartości R(a, b), to funkcja przynależności wyraża się wzorem:

55 Dzielenie RS (a) = minb I(S(b), R (a, b)), gdzie I jest
implikatorem Gödela.

56 DZIELENIE – PRZYKŁAD R A B µ S a1 b1 1 0.7 b2 0,6 0,9 b3 0,8 0,5 a2
0,7 a3 0,4

57 DZIELENIE – PRZYKŁAD A B µ a1 b1 1 0.7 0,6 b2 0,9 a2 b3 0,8 0,5 0,7 a3
0,4

58 ALGEBRA RELACJI ROZMYTYCH - PRZYKŁADY
Podane przykłady dotyczą następującej bazy danych: PROJ(P#, NAZWA, BUDŻET, MIASTO) PRAC(E#, NAZWISKO, ZAWÓD, WIEK) KONTR(P#, E#, KWOTA)

59 PRZYKŁAD 1 Numery pracowników mających kontrakty o wysokości
około 5000 za udział w realizacji projektu P1

60 PRZYKŁAD 1 Numery pracowników mających kontrakty o wysokości około 5000 za udział w realizacji projektu P1 Wykonujemy selekcję na relacji KONTR z warunkiem F = (P# = ‘P1’  KWOTA = ‘Około 5000’): R1 =  F( KONTR) Stopień przynależności wartości krotki r do relacji R1 wynosi: R1(r) =  KONTR(r)   Około 5000(r(‘P1’,KWOTA))

61 PRZYKŁAD 1 2. Następnie rzutujemy R1 na E#: R2 =  E#( R1)
Stopień przynależności krotki t do relacji R2 wynosi: R2(t) = sup t(E#) = r(E#)R1(r)

62 PRZYKŁAD 1 Ostatecznie otrzymujemy: R =  E#( F (KONTR))
Stopień przynależności krotki t do relacji R wynosi: R(t) = sup t(E#) = r(E#)(KONTR(r)  Około_5000(r(‘P1’,KWOTA)))

63 PRZYKŁAD 2 Nazwiska młodych pracowników mających kontrakty
o wysokości około 5000 za udział w realizacji projektu P1

64 PRZYKŁAD 2 Nazwiska młodych pracowników mających kontrakty
o wysokości około 5000 za udział w realizacji projektu P1 Selekcja na PRAC z warunkiem WIEK = ‘Młody’: R1 = WIEK=‘Młody’ (PRAC) . Przynależność krotki r1 do R1 wynosi:  R1(r1) =  PRAC(r1)   Młody(r1(WIEK))

65 PRZYKŁAD 2 2. Selekcja na KONTR z warunkiem F (poprzedni przykład)
R2 = F (KONTR) , Przynależność krotki r2 do R2 wynosi:  R2(r2) =  KONTR(r2)   Około_5000(r2(‘P1’,KWOTA)) 3. Złączenie R1 i R2 R3 = R1* R2 Przynależność krotki r3 do R3 wynosi:  R3(r3) = R1(r1)  eq(r1(E#), r2(E#))  R2(r2) eq (a,b) = 1 jeżeli a = b oraz eq (a,b) = 0, jeżeli a  b

66  R4(r4) = sup r4(NAZWISKO) = r3(NAZWISKO) R3(r3)
PRZYKŁAD 2 4. Projekcja na NAZWISKO R4 =  NAZWISKO( R3 ) Przynależność krotki r4 do R4 wynosi:  R4(r4) = sup r4(NAZWISKO) = r3(NAZWISKO) R3(r3)

67 R =  NAZWISKO(WIEK=‘Młody’ (PRAC) * F (KONTR) )
PRZYKŁAD 2 Ostatecznie otrzymujemy R =  NAZWISKO(WIEK=‘Młody’ (PRAC) * F (KONTR) ) Przynależność krotki t do R wynosi:  R(t) = sup t(NAZWISKO) = r(NAZWISKO) ( PRAC(r)   Młody(r(WIEK))  eq(r(E#),s(E#))   KONTR(s)  Około_5000(s(‘P1’,KWOTA)))

68 PRZYKŁAD 3 Zawody młodych pracowników mających kontrakty
o wysokości około 5000 za udział w realizacji projektu P1

69 PRZYKŁAD 3 Zawody młodych pracowników mających kontrakty
o wysokości około 5000 za udział w realizacji projektu P1 Wykorzystamy wynik z poprzedniego przykładu R1 = WIEK=‘Młody’ (PRAC) * F (KONTR) Przynależność krotki r1 do R1 wynosi:  R(r1) =  PRAC(r)   Młody(r(WIEK))  eq (r(E#),s(E#))  KONTR(s)   Około_5000(s(‘P1’,KWOTA))

70  R2(t) = sup t[ZAWÓD] = r[ZAWÓD]  R3(r)
PRZYKŁAD 3 2. Wykonujemy projekcję R2 =  ZAWÓD( R1) Przynależność krotki r2 do R2 wynosi:  R2(t) = sup t[ZAWÓD] = r[ZAWÓD]  R3(r)

71 PRZYKŁAD 3 Ostatecznie otrzymujemy:
R =  ZAWÓD (WIEK=‘Młody’ (PRAC) * F (KONTR) ) Przynależność krotki t do R wynosi: R (t) = sup t[ZAWÓD] = r[ZAWÓD] (PRAC(r)   Młody(r(WIEK))  eq(r(E#),s(E#))   KONTR(s)  Około_5000(s(‘P1’,KWOTA)))

72 PRZYKŁAD 4 Numery młodych pracowników, którzy nie mają
żadnego kontraktu wyższego niż około 5000

73 PRZYKŁAD 4 Numery młodych pracowników, którzy nie mają
żadnego kontraktu wyższego niż około 5000 1. Wyznaczamy numery młodych pracowników R1 =  E#( WIEK = ‘Młody’ (PRAC)) Przynależność krotki r1 do R1 wynosi:  R1(r1) = supr1(E#)=r(E#) (PRAC(r)   Młody(r(WIEK)))

74  R3(r3) =  R1(r3)  (1 -  R2(r3))
PRZYKŁAD 4 2. Wyznaczamy numery pracowników którzy mają przynajmniej jeden kontrakt wyższy niż około 5000 R2 =  E#( KWOTA> ‘Około_5000’ (KONTR)) Przynależność krotki r2 do R2 wynosi:  R1(r2) = supr2(E#)=r(E#) (KONTR(s)   wyższy niż około_5000(s(KWOTA))) 3. Wyznaczamy odpowiedź R3 = R1 – R2 Przynależność krotki r3 do R3 wynosi:  R3(r3) =  R1(r3)  (1 -  R2(r3))

75 PRZYKŁAD 4 Ostatecznie otrzymujemy:
R =  E#( WIEK = ‘Młody’ (PRAC)) –  E#( KWOTA> ‘Około_5000’ (KONTR)) Przynależność krotki t do R wynosi:  R(t) = supt(E#)=r(E#) (PRAC(r)   Młody(r(WIEK)))  (1 – supt(E#)=s(E#) (KONTR(s)   wyższy niż około_5000(s(KWOTA)))

76 PRZYKŁAD 5 Numery pracowników, którzy uczestniczą w realizacji
wszystkich projektów o wysokich budżetach i każdy ich kontrakt dotyczący takiego projektu jest większych niż około 5000 PLN.

77 PRZYKŁAD 5 1. Wyznaczenie kluczy kontraktów większych niż około 5000
dotyczących projektów o wysokich budżetach R1 =  P#, E#(  KWOTA > ‘Około 5000’ (KONTR) * BUDŻET = ‘Wysoki’ (PROJ)) Przynależność krotki r1 do R1 wynosi:  R1(r1) = supr1(P#,E#)=s(P#,E#) (PROJ (r)  wysoki(r(BUDŻET)   eq(r(P#),s(P#))  KONTR (s)   Większy niż około_5000(s(KWOTA)))

78 R2 =  P#( BUDŻET = ‘Wysoki’ (PROJ))
PRZYKŁAD 5 2. Wyznaczenie numerów projektów o wysokich budżetach R2 =  P#( BUDŻET = ‘Wysoki’ (PROJ)) Przynależność krotki r2 do R2 wynosi:  R2(r2) = supr2(P#)=r(P#) (PROJ (r)  wysoki(r(BUDŻET))) 3. Wyznaczanie odpowiedzi R3 = R1  R2 Przynależność krotki r3 do R3 wynosi:  R3(r3(e#)) = minp# IG ( R2 (r2(p#)),  R1 (r1(e#, p#))

79 Ostatecznie otrzymujemy:
R =  P#, E#(  KWOTA > ‘Około 5000’ (KONTR) * BUDŻET = ‘Wysoki’ (PROJ))   P#( BUDŻET = ‘Wysoki’ (PROJ))  R(e#) = minp#IG ( R2 (p#),  R1 (e#, p#)) gdzie  R2(p#) = supp#=r(P#) (PROJ (r)  wysoki(r(BUDŻET))) oraz  R1(e#,p#) = sup(p#,e#)=s(P#,E#) (PROJ (r)  wysoki(r(BUDŻET)   eq(r(P#),s(P#))  KONTR (s)   Większy niż około_5000(s(KWOTA)))

80 ZAPYTANIA NIEPRECYZYJNE W SQL
Język SQLf

81 ZAPYTANIA NIEPRECYZYJNE W SQL
Podobnie jak w SQLu główną konstrukcją języka SQLf jest blok o następującej strukturze: SELECT DISTINCT A1, A2, …, An FROM R1, R2, …, Rm WHERE Wf; gdzie Wf oznacza rozmyty (fuzzy) warunek.

82 F (f(A1, A2, …, An)) = W wyniku realizacji bloku otrzymujemy rozmytą
relację Rf. Operacja SELECT DISTINCT jest złożeniem algebraicznych operacji selekcji i projekcji. Przynależność krotki f do Rf jest więc równa: F (f(A1, A2, …, An)) = sup r(Ai) = f(Ai) , i = 1, 2, …n (R (r)  Wf (r)) Dla pojedynczego atrybutu otrzymujemy: SELECT DISTINCT A FROM R WHERE Wf (a) = maxr.A=a (fc(r)  R(r)) (a) = maxrR  r.A=a (fc(r)) (przy R(r) = 1)

83 Kwerenda z wykorzystaniem dwóch relacji:
R(A, B), S(C, D) SELECT DISTINCT A, C FROM R, S WHERE Wf1 AND WF2 AND B  D; Wf1 – warunek rozmyty dotyczący R, Wf2 – warunek rozmyty dotyczący S, B  D –rozmyty warunek złączenia Rf(a, c) = maxr.A= a  s.C=c (fc1(r)  fc2(s)  R(r), S(s)  (r.B, s.D))

84  IN (a) = sup r.b=a (R (r)  Wf (r))
OPERATOR IN A IN SELECT B FROM R WHERE Wf  IN (a) = sup r.b=a (R (r)  Wf (r)) PREDYKAT EXISTS EXISTS (SELECT * FROM R WHERE Wf)  EXISTS (Z) = sup r Z (r), gdzie Z (r) = R (r)  Wf (r), czyli  EXISTS (Z) = supr(R (r)  Wf (r))

85 PRZYKŁAD 1 Numery pracowników mających kontrakty o wysokości około
5000 za udział w realizacji projektu P1

86 PRZYKŁAD 1 (e#) = max r.E#=e#  r.P#=‘P1’ (fc(r)  KONTR(r) )
Numery pracowników mających kontrakty o wysokości około 5000 za udział w realizacji projektu P1 SELECT DISTINCT E# FROM KONTR WHERE P# = ‘P1’ AND KWOTA = ‘Około 5000’; (e#) = max r.E#=e#  r.P#=‘P1’ (fc(r)  KONTR(r) )

87 PRZYKŁAD 2 Nazwiska młodych pracowników mających kontrakty
o wysokości około 5000 za udział w realizacji projektu P1

88 PRZYKŁAD 2 Nazwiska młodych pracowników mających kontrakty o
wysokości około 5000 za udział w realizacji projektu P1 SELECT NAZWISKO FROM PRAC WHERE WIEK = ‘Młody’ AND E# IN (SELECT E# FROM KONTR WHERE P# = ‘P1’ AND KWOTA = ‘OKOŁO 5000’) (nazwisko) =maxnazwisko=r.NAZWISKO min ( PRAC(r),  Młody(r.WIEK), sup r.E#=s.E# min ( KONTR(s),  Około 5000(s.KWOTA))

89 PRZYKŁAD 3 Numery młodych pracowników, którzy nie mają
żadnego kontraktu wyższego niż około 5000

90 PRZYKŁAD 3 Numery młodych pracowników, którzy nie mają
żadnego kontraktu wyższego niż około 5000 SELECT E# FROM PRAC WHERE WIEK = ‘Młody’ AND NOT EXISTS (SELECT * FROM KONTR WHERE E# = PRAC.E# AND KWOTA > ‘OKOŁO 5000’) (e#) = maxe#=r.E#( PRAC(r)   Młody(r.WIEK), 1 – sup r.E#=E# min ( KONTR(r),  Większy niż około 5000(r.KWOTA))

91 PRZYKŁAD 4 Numery pracowników, którzy uczestniczą w realizacji
wszystkich projektów o wysokich budżetach i każdy ich kontrakt dotyczący takiego projektu jest wyższy niż około 5000 PLN.

92 PRZYKŁAD 4 Numery pracowników, którzy uczestniczą w realizacji
wszystkich projektów o wysokich budżetach i każdy ich kontrakt dotyczący takiego projektu jest wyższy niż około 5000 PLN. SELECT DISTINCT E# FROM KONTRAKTY K WHERE KWOTA > ‘OKOŁO 5000’ AND NOT EXISTS (SELECT P# FROM PROJEKTY WHERE BUDZET = ‘WYSOKI’ AND P# NOT IN (SELECT P# FROM KONTRAKTY WHERE K.E# = E# AND KWOTA > ‘OKOŁO 5000’))

93 SELECT DISTINCT E# FROM KONTRAKTY K
WHERE KWOTA > ‘OKOŁO 5000’ AND NOT EXISTS (SELECT * FROM PROJEKTY WHERE BUDZET = ‘WYSOKI’ AND P# NOT IN (SELECT P# FROM KONTRAKTY WHERE K.E# = E# AND KWOTA > ‘OKOŁO 5000)) (e#) = supe#=s[E#] min ( KONTR(s),  Większy niż 5000(s), 1 – supr min ( PROJ(r),  Wysoki(r.BUDZET), 1 – sups’[E#] = e# r’[P#] = s[P#] min ( KONTR(r’),  Większy niż 5000(r’)))


Pobierz ppt "ROZMYTE BAZY DANYCH."

Podobne prezentacje


Reklamy Google