VISUAL - Grafický dotazovací jazyk - PowerPoint PPT Presentation

visual grafick dotazovac jazyk n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
VISUAL - Grafický dotazovací jazyk PowerPoint Presentation
Download Presentation
VISUAL - Grafický dotazovací jazyk

play fullscreen
1 / 69
VISUAL - Grafický dotazovací jazyk
91 Views
Download Presentation
gyala
Download Presentation

VISUAL - Grafický dotazovací jazyk

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. VISUAL-Grafický dotazovací jazyk David Hoksza

  2. Obsah • Model systému, práce se systémem • VISUAL do OQL • VISUAL do Komplexní algebry • D-VISUAL

  3. Vlastnosti • Vizuální návrh dotazů • Objektový návrh • Převod do OQL • Prostorové dotazy

  4. Význačné prvky VISUAL • Objektově orientovaný specifikační model • Klient-server model dotazů • Jednotná interpretace a násobné vykonání • Jednotné vyhodnocení metod, agregačních funkcí a množinových operací

  5. OOS model • I dotazy jsou objekty • Při vyhodnocování spolu komunikují objekty

  6. Výhody OOS modelu • Jednotnost • Sdílení dotazů • Paralelní/Distributivní zpracování dotazů • Omezení času zpracování dotazu • Synchronizované zpracování dotazu • Bezpečnost • Hierarchie, dědičnost, přetěžování, …

  7. Klient-server model dotazů • Objekt jehož služby jsou využívány – server • Objekt, který vyžaduje služby jiného dotazu – klient • Každý dotaz (mimo hlavního) – server i klient

  8. Jednotná interpretace, násobné vykonání • Vykonání (pod)dotazu lze provést několika způsoby – komplexní algebra, OQL, … (a to v rámci jednoho dotazu)

  9. Jednotné vyhodnocení • Společné vlastnosti metod, agregačních funkcí, množinových operátorů • Existence operátoru “Method Aplier” pracující s těmito vlastnostmi • Jednotná metoda optimalizace

  10. Objekt • Základní primitivum • Skládá se z: • Atomických objektů (integer, …) • Komplexních objektů • Kolekcí (množina, sekvence, …)

  11. Oblast zájmu (doména) (1) • V této prezentaci – vlastnosti materiálu • Termíny: • Částice (Perticles) • Porucha (Fracture) • Dělení částic (Particle splitting) • Mřížka (Grid) – plocha rozdělena mřížkou • Rámeček (Frame) – mikrosnímek v mřížce • Shluk (Cluster) – velikost, hustota, okraje • Experiment navíc obsahuje • grafy, histogramy, audio, video, komentáře, sekvence mřížek, čas počátku a konce experimentu

  12. Doména (2) • Každý rámeček obsahuje čas vzniku (z mřížky) • Částice se mohou dělit (singleEvolve), nebo spojovat (splitEvolve) v průběhu času

  13. Schéma DB

  14. Dotazy • Typy dotazů: • Hlavní dotaz • Externí dotaz • Interní dotaz • Části dotazů: • Objekt hlavičky dotazu • Objekt tělo dotazu • V jednom okně může být více ikon dotazů se stejným jménem, pak je výsledkem jejich sjednocení

  15. Hlavička dotazu • Obsahuje: • Jméno dotazu • Parametry (seznam vstupních a výstupních atributů) • Specifikaci výstupního typu • Vstupní parametry se liší podle typu dotazu: • Interní dotazy • Nemá vstupní parametry (pouze implicitní) • Hlavní a externí dotazy • Parametry v závorce za jménem spolu s typy (VISUAL je silně typovaný jazyk)

  16. Tělo dotazu • Může obsahovat: • Ikonizované objekty • Podmínkové okénka • Reference na interní a externí dotazy • Podmínkové okénka obsahují • Aritmetické výrazy • Za operandy mohou mít agregační funkce operující na dotazech • Množinové výrazy • Mohou se odkazovat na výstupy dotazů

  17. Příklad dotazu

  18. Ikonizované objekty • Čtyři typy ikonizovaných objektů: • Doménové objekty – obsahuje: • Jméno proměnné • Specifikaci typu • Doménu (volitelně) • Grafickou reprezentaci • Objekty metod • Rozsahové objekty (range objects) • Prostorové objekty (spatial enforcement region objects)

  19. Vztahy mezi objekty • Typy vztahů: • Prostorový vztah • Kompoziční vztah (compostition membership) • Vztah kolekce (collection membership) – nastává: • Vnější objekt reprezentuje volání dotazu • Vnější objekt má atribut, který je kolekcí vnitřních objektů

  20. Prostorové vztahy (1) • Prostorový atribut • Atribut doménového objketu specifikující geometrické souřadnice objektu • Prostorový objekt • Objekt obsahující prostorový atribut • Neprostorový objekt • Objekt, který není prostorový

  21. Prostorové vztahy (2) • Prostorové vztahy mezi prostorovými objekty jsou vyjádřeny zvýrazněnou oblastí uvnitř těla dotazu • Pro různé domény se zvýrazněné oblasti mohou různě uživatelsky definovat podle jejich významu • Tyto oblasti nazýváme “prostorovými oblastmi” (spatial-enforcement region)

  22. Příklad prostorových vztahů F …rámeček (frame) P …částice (particle) W …okno (window) A …anotace (neprostorový objekt)

  23. Kompoziční vztah E …experiment A’ …anotace

  24. Vztah třída-podtřída

  25. Příklad prostorový a kompozičních vztahů

  26. Neúplná cesta • V případě, kdy neexistuje nejednoznačnost v cestě k objektu, je možno nezadávat celou cestu, např.:

  27. Operátor odhnízdění • V minulém příkladě pouze neklastrované částice • Zavedení operátoru odhnízdění, který “zploští” hierarchii:

  28. Externí dotazy • Podobný koncept jako procedury a funkce • Jsou volány z těla dotazu ikonou s názvem externího dotazu • Při volání musí být předávané parametry svázané s nějakou proměnnou volajícího dotazu

  29. Interní dotazy • Má pouze výstupní parametry • Vstupní parametry jsou implicitně děděné z dotazu, ve kterém je interní dotaz definován

  30. Příklad interního dotazu

  31. Metody • Uživatelské metody vyjádřeny ikonami a čárami, které je spojují • Ikona metody je spojena s jejími parametry tlustou čarou

  32. Metody – příklad

  33. Množinové operátory (1)

  34. Množinové operátory (2)

  35. VISUAL do OQL • Lze provést mapování VISUALu do OQL • VISUAL jako front-end k OQL

  36. Mapování do OQL • Je třeba vyřešit mapování: • Objektu hlavního dotazu • Externích a interních dotazů • Návratových typů • Podmínkových okének • Grafických objektů

  37. Mapování hlavního dotazu • V OQL nejsou metody pro explicitní předávání parametrů • Parametry externích objektů musí být konstruovány jako nově vytvořené objekty v hlavním dotazu • Atributy interních dotazů budou přístupné v interním dotazu jako vázané, díky tomu, že v OQL je viditelnost z podbloků

  38. Mapování externích a interních dotazů • Všechny vstupní parametry konstruovány v hlavním dotazu • Externí dotazy jsou konvertovány na interní dotazy • Výstupní parametry jsou ukládány do objektu vytvořeného vnějším objektem

  39. Mapování návratových hodnot • VISUAL povoluje různé návratové typy, stejné jako OQL • Sémantika návratových typů a operací mezi nimi je stejná

  40. Mapování podmínek • Různé typy podmínek mapovány do různých struktur OQL • Aritmetické výrazy • Mapovány do “where” části výrazu ”select from where” • Výrazy náležení • Náležení je mapováno do operátoru “in” • Nenáležení mapováno jako kombinace unárního operátoru “not” a testování náležení • Množinový výrazy • VISUAL obsahuje , , ,  • Existuje více způsobů mapování

  41. Mapování množinových výrazů • Mapování pomocí binárních množinových operací (union, intersect, except): • A  B na (((A - B) ={}) and ((B - A) != {})) • A  B na ((A - B) ={}) • A  B na (((A - B) ={}) and ((B - A) = {})) • Mapování pomocí univerzálního a existenčního kvantifikátoru • A  B na (for all x in A:(x in B)) and (exists x in B:(not (x in A)))) • A  B na (for all x in A:(x in B)) • A  B na ((for all x in A:(x in B)) and ((for all x in B:(x in A))

  42. Mapování grafických objektů • Vztahy a objekty, které je třeba mapovat: • Doménový grafický objekt uvnitř doménového grafického objektu • Doménový grafický objekt uvnitř dotazového grafického objektu • Ikony metod, prostorová okna, prostorové ikony

  43. Doménový objekt uvnitř doménového objektu • Kompoziční hierarchie • Oba objekty jsou v kartézském součinu (za “from”) a určení náležení je v “where” • Př.: • Select … from …e:Experiment, F:Frame where F.experimentIn( ) = e

  44. Doménový objekt uvnitř dotazu • Typy objektů určují návratovou hodnotu dotazu • Mapováno pomocí “select from where” • from a where určují tělo dotazu • select odpovídá doménovým objektům • Počet selectů je určen počtem vnitřních objektů

  45. Ikony metod, prostorová okna, prostorové oblasti • Metody jsou mapovány do booleovských funkcí, které se uplatňují ve “where” části dotazu • Prostorová okna mají smysl pouze tehdy, když jsouv prostorové oblasti • Prostorové vztahy jsou mapovány na funkce v OQL (porovnávají souřadnice)

  46. Příklad převodu do OQL

  47. Převod z VISUAL do komplexní algebry (1) • Komplexní algebra vyhodnocuje odspoda nahoru • Kvůli efektivitě • Tři fáze: • Překlad hlavičky dotazu • Překlad těla dotazu • Připojení poddotazů

  48. Převod z VISUAL do komplexní algebry (2) • Před převodem je vytvořen orientovaný graf, kde vrcholy jsou dotazy a hrany vedou do poddotazů • Graf je topologicky setříděn • Je-li nalezen cyklus => chyba • Dotazy jsou vyhodnocovány v opačném pořadí k topologickému setřídění

  49. KA - Kompoziční hierarchie (1) • Pro převod kompozičních hierarchií je vytvořen graf z grafické reprezentace

  50. KA - Kompoziční hierarchie (2) • Aplikace odhnízdění na každou větev grafu {f}ÎF {c1,c2} Î C {p1,p2,p3} ÎP1 {p4,p5} Î c1 {p6,p7}Î c2 Cesta (F-C-P2) = {(f, c1, p4), (f, c1, p5), (f, c2, p6), (f, c2, p7)} Cesta (F-P1) = {(f, p1), (f, p2), (f, p3)}