Dynamický datalog
Dynamic Datalog
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/7120Identifikátory
SIS: 43073
Kolekce
- Kvalifikační práce [11244]
Autor
Vedoucí práce
Oponent práce
Vojtáš, Peter
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové systémy
Katedra / ústav / klinika
Katedra softwarového inženýrství
Datum obhajoby
11. 9. 2006
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Čeština
Známka
Dobře
V tejto práci skúmame možnosti rozšírenia Datalogu o možnosť aktualizácie. Zaoberáme sa tiež možnosťou optimalizácie dotazovania pomocou zexplicitňovania (materializácie) intezionálnych pravidiel. Na základe nášho výskumu predstavujeme návrh nového jazyka D-Datalogu. Náš návrh rozširuje databázu Datalogu o integritné obmedzenia a množinu intenzionálnych faktov (materializáciu intenzionálnej databáze). Zavádzame možnosť aktualizovať extenzionálnu databázu i množinu intenzionálnych faktov, kedy užívateľ môže explicitne určiť, ktoré intenzionálne dôsledky sa majú nachádzať v materializácií. Aktualizácie sa neprevádzajú ihneď po vyhodnotení. Namiesto toho sú uchovávané do okamihu ukončenia vyhodnotenia dotazu a až potom sú premietnuté do databázy (sémantika aktualizácií s odložením). Tento prístup sa približuje sémantike relačných databáz. Použiteľnosť nášho návrhu demonštrujeme prototypovou implementáciou v jazyku Java.
In this study we examine possibilities of integration extensional updates into Datalog. Our research involves also possibility of query evaluation optimization by making intensional rules explicit (materialization). As a result od our approach we present new query language D-Datalog. Our proposal extends Datalog database by set of constraints and set of intensional facts (materialization of intensional database). We introduce possibility of extensional and intensional updates. By intensional updates we mean updates of set of intensional facts so user can directly state, which consequences of intensional clauses should be in materialization. Updates are not executed as soon as they are evaluated. Instead, they are collected and then applied to the database when the query evaluation is completed (non-immediate update semantics). This approach is similar to semantics of relational databases. Prototype implementation of D-Datalog in Java is part of our solution.