====== Michal Valenta - závěrečné práce - doplňující informace ====== Oficiální nabídka závěrečných prací je dostupný v [[https://is.fit.cvut.cz|porálu FIT]]. Ne všechno se ale vejde do 1 000 znaků. Doplňující informace proto uvádím zde. Mohou se zde objevit i nabídky, které ještě v aplikaci ZP nenajdete. ===== Využití výrokové logiky při analýze datových toků v SQL ===== Vedoucí: Michal Valenta v rámci: TAČR projektu ve spolupráci s firmou Profinit implementační platforma: Java EE (Spring), Titan (grafová databáze) ==== Kontext ==== V rámci projektu FIT spolupracuje na rozvoji aplikace [[http://www.profinit.eu/produkty/manta.html |Manta]]. Více zde o aplikaci Manta zde: [[http://mantatools.com/ | Mantatools.com]]. Prakticky se jedná o soubor nástrojů, které provádějí syntaktickou analýzu ETL skriptů v různých jazycích a dialektech SQL. Z nich vznikne mapa datových toků (např. sloupec A v tabulce T databaze D1 se stává sloupcem pohledu X v pohledu V databáze D2) uložená v databázi. Nad touto databází pak další nástroje umožňují vizualizaci datových toků a další analýzy. Cílem této práce je zpřesnit zobrazení datových toků na základě vhodně vybraných predikátů v ETL skriptech (typicky částí WHERE klauzulí). ---- **Typická situace (příklad):** V některých návrzích datových skladů existují tabulky, do kterých se slévá velké množství dat z různých zdrojů, aby se následně podle těchto zdrojů znovu rozlévaly do cílových systémů. Zdrojové tabulky jsou A1..An, všechny se slévají do tabulky M, kde každý záznam získává atribut x poukazující na zdroj. Poté se data znovu rozlévají to tabulek C1..Ck, přičemž se využívá atribut x (v ETL skriptu máme něco jako "case ... x = 'A1' then insert ... into C2 ...". S využitím těchto predikátů můžeme zobrazit datový tok z A1 přes M pouze do C2 (nikoliv do všech tabulek C1..Ck). ---- **Diplomová práce se bude zabývat**: - analýzou, výběrem vhodných predikátů - vstupem budou zpracované skripty ve formě AST, - uložením vybraných predikátů do databáze - použitím predikátů z databáze při zobrazování datových toků. Výsledkem práce bude prototyp, který bude fungovat na bázi několika vybraných typů predikátů.