Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Slajd 1 Maj 1999 Domknięcie przechodnie (również) w bazach danych Andrzej Topolewski slajdów 16+1.

Podobne prezentacje


Prezentacja na temat: "Slajd 1 Maj 1999 Domknięcie przechodnie (również) w bazach danych Andrzej Topolewski slajdów 16+1."— Zapis prezentacji:

1

2 Slajd 1 Maj 1999 Domknięcie przechodnie (również) w bazach danych Andrzej Topolewski slajdów 16+1

3 Slajd 2 Maj 1999 Co to jest domknięcie przechodnie Dwa źródła pojęcia: teoria grafów, teoria mnogości Relacja binarna R R(A,B), R(B,C), R(C,D) R(A,C), R(B,D), R(A,D)

4 Slajd 3 Maj 1999 Inne sformułowanie semantyki Wynik procesu iteracyjnego ŚcieżkiNplus1 = COMPOSE(ŚcieżkiN, graf) Domknięcie = G + COMPOSE(G,G) + COMPOSE(COMPOSE(G,G), G) +...

5 Slajd 4 Maj 1999 Jeszcze inaczej: Rozwiązanie równania stałopunktowego Domknięcie = Graf COMPOSE(Domknięcie, Graf) Co jest typem wyniku? Suma zbiorów?, wielozbiorów?

6 Slajd 5 Maj 1999 Jak podać COMPOSE Definiujemy sposób integracji operatora z językiem CREATE VIEW Połączenie AS DISTINCT FIXPOINT OF Bezpośrednio BY SELECT Połączenie.Od, Bezpośrednio.Do FROM Połączenie, Bezpośrednio WHERE Połączenie.Do = Bezpośrednio.Od Domknięcie = B SELECT(B,B) as s1 SELECT(s1,B) as s2... Schemat: Bezpośrednio SBQL: (Bezpośrednio as P) closed unique by (Bezpośrednio where Od=P.Do) as P Domknięcie = B B.(B where...) B.(B where...).(B where...)...

7 Slajd 6 Maj 1999 Zastosowania: Struktury wyrażające grafy, hierarchie Systemy transportowe, przepływy Systemy równoległe - zależności czasowe Konstrukcja parsera Hierarchie osób, elementów, dekompozycje BOM - Bill of Material

8 Slajd 7 Maj 1999 Zastosowania: BOM Przemysłowe hierarchie Najprostsze wyjaśnienie: dekompozycja produktu. Komplikacje: duża ilość parametrów Zalecenia standaryzacyjne Wplot w produkcję

9 Slajd 8 Maj 1999 Warianty domknięcia: Różne się możliwości i ich konsekwencje Możliwości algorytmu Tylko obieg drzewa Domknięcie grafu Iteracja warstw Definiowanie krawędzi Złączenie naturalne Warunek złączenia Dostęp do ulotnych atrybutów

10 Slajd 9 Maj 1999 Warianty domknięcia (2): Różne modyfikatory i postawienie zadania Modyfikacje semantyki Tylko różne (unique) Liście Iteracja imperatywna Sformułowanie zadania Complete TC Partial TC Iteracja z generowaniem

11 Slajd 10 Maj 1999 Domknięcie przechodnie w SBQL Domknięcie buduje iteracyjnie wynik według podanego zapytania wykonywanego w środowisku obiektów początkowych Operator closed by: q1 closed by q2 1. q1 jest obliczane. Wynik jest przechowywany w tymczasowej tablicy T. 2. Dla każdego wiersza z tablicy T: a. Na stos środowisk odkładane jest nested(r). b. Obliczane jest zapytanie q2. Wynik q 2 jest dodawany do T ponad iteracją. c. Ze stosu środowisk zdejmowana jest sekcja. Proces się kończy, gdy dla ostatniego wiersza T zapytanie q2 daje pustą tablicę. T zawiera wówczas końcowy wynik.

12 Slajd 11 Maj 1999 Domknięcie przechodnie w SBQL (2) Cechy tej wersji operatora Działa tylko dla grafów acyklicznych Pozwala na generację informacji Charakter obliczeniowy - nie wydajnościowy Nie pozwala na rekursję nieliniową Rozpoczyna od dowolnego zbioru

13 Slajd 12 Maj 1999 Transitive Closure - przykład Schemat: Wszystkie części składające się na silnik: (PART where NAME = engine) closed by (COMPOSITE. MadeFROM. USES. PART) Jak wyżej, zle tylko części podstawowe razem z ilością w silniku: (((PART where NAME = engine) (1 as q)) closed by COMPOSITE. MadeFROM. ((USES. PART) ((q * QUANTITY) as q))) where is_not_null(BASE) Całkowita masa silnika: sum((((PART where NAME = engine) (1 as q)) closed by (COMPOSITE. MadeFROM. ((USES. PART) ((q * QUANTITY) as q)))). ((COMPOSITE.MassINCREMENT BASE.MASS) * q))

14 Slajd 13 Maj 1999 Procedura CostAndMass Procedura może wyznaczać rekursywną perspektywę CostAndMass z wirtualnymi atrybutami name, cost, mass, i parametrem P (kolumna identyfikatorów części) Dla każdej części p w P wyznacza nazwę, całkowity koszt i całkowitą masę p. procedure CostAndMass( var P ) begin return P. ( (NAME as name ) ((BASE.COST COMPOSITE. (AssemblyCOST + sum( MadeFROM.(QUANTITY * (CostAndMass(USES. PART).cost)))) as cost) ((BASE.MASS COMPOSITE. (MassINCREMENT + sum( MadeFROM.(QUANTITY * (CostAndMass(USES. PART).mass)))) as mass)) end CostAndMass; (CostAndMass(PART) where name = engine). (cost / mass) Koszt jednostki masy silnika:

15 Slajd 14 Maj 1999 Transitive Closure - przykład iteracji Możliwość wykonywania iteracji mechanizmem domknięcia (1 as wartość) (1 as numer_iteracji) closed by ((((q/wartość + wartość)/2) as wartość) ((numer_iteracji+1) as numer_iteracji)) where numer_iteracji 9 wartość := 1; numer_iteracji := 1; while numer_iteracji <= 9 { wartość := ( q()/wartość + wartość )/2; numer_iteracji := numer_iteracji + 1; }

16 Slajd 15 Maj 1999 Zadania wymagające różnej mocy podać firmy kontrolowane: Udział kontrola gdy >50%, kontroluje_bezpośrednio Dane jw. Firma jest kontrolowana, gdy posiadacz wspólnie z kontrolowanymi firmami posiada >50% Odległość podać miejsca w promieniu 100 od X (unikalne) Czynnik, podać kombinacje z powtórzeniami czynników o iloczynie < 100

17 Slajd 16 Maj 1999 Firmy słabo kontrolowane Udział Firma jest kontrolowana, gdy posiadacz wspólnie z kontrolowanymi firmami posiada >50% CREATE VIEW posiada(posiadacz, posiadany) AS DISTINCT FIXPOINT OF bezpośrednio BY SELECT u1.posiadacz, u2.posiadany FROM udział AS u1, udział AS u2 WHERE 50 < (SELECT procent_udziałów FROM udział WHERE udział.posiadacz = u1.posiadacz AND udział.posiadany = u2.posiadany + SELECT SUM(udziałPośrednio.ile) FROM posiada, udział AS udziałPośrednio WHERE u1.posiadacz = posiada.posiadacz AND posiada.posiadany = udziałPośrednio.posiadacz AND udziałPośrednio.posiadany = u2.posiadany)

18 Slajd 17 Maj 1999 Algorytmy obliczania domknięcia Mnożenie macierzy lub chodzenie po grafie M - macierz incydencji, to M 2 to macierz ścieżek dł. 2 Obliczanie grafu kondensacji + domykanie drzewa Przechodzenie wgłąb identyfikując sss Reprezentacja wyniku


Pobierz ppt "Slajd 1 Maj 1999 Domknięcie przechodnie (również) w bazach danych Andrzej Topolewski slajdów 16+1."

Podobne prezentacje


Reklamy Google