Dynamický datalog
Dynamic Datalog
diploma thesis (DEFENDED)

View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/7120Collections
- Kvalifikační práce [9114]
Author
Advisor
Referee
Vojtáš, Peter
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Software systems
Department
Department of Software Engineering
Date of defense
11. 9. 2006
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
Czech
Grade
Good
Keywords
Keywords not foundV 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.