Implementation of a declarative query and data manipulation language for X-Ray
- Art: Diplomarbeit
- Autor: Christian Hiebl
- Abgabedatum: Oktober 2002
- Umfang: 135 Seiten
- Dateigröße: 813,1 KB
- Note: 1,0
- Institution / Hochschule: Johannes Kepler Universität Linz Österreich
- ISBN (eBook): 978-3-8324-7580-2
-
ISBN (Paperback) :
978-3-8324-7580-2 P - ISBN (CD) :978-3-8324-7580-2 CD
- Sprache: Englisch
- Prämierung:
- Arbeit zitieren: Hiebl, Christian Oktober 2002: Implementation of a declarative query and data manipulation language for X-Ray, Hamburg: Diplomica Verlag
- Schlagworte: XML, Relationale Datenbank, Meta Datenbank, Abbildung, Datenmanipulationssprache
In den Warenkorb
68,00 €
Diplomarbeit von Christian Hiebl
Abstract:
Nowadays, database management systems (DBMS) play a central role in the realization of modern information systems for efficient storage, management and retrieval of large amount of data. At the same time, the eXtensible Markup Language (XML) is emerging fast as de facto standard for electronic data exchange. In order to be able to benefit from both technologies, a number of approaches have already been developed, aiming at the integration of XML and DBMS. They allow processing XML data on the basis of declarative query languages, don’t pay however much attention to the manipulation of XML data.
The objective of this diploma thesis is to implement X-Ray QL, a declarative query and data manipulation language for X-Ray, an integration approach using the idea of a meta database. X-Ray QL allows besides creating, editing and deleting XML data in a declarative way, to retrieve the XML data using simple select queries.
The implementation of X-Ray QL consequently provides an operative runtime part of the X-Ray architecture with features like session management, authorisation mechanism and transaction control. An additional Web Service demonstrates the practical use of the X-Ray QL implementation.
Zusammenfassung:
Datenbankmanagementsysteme (DBMS) spielen heutzutage eine zentrale Rolle bei der Realisierung moderner Informationssysteme zur effizienten Speicherung, Verwaltung und Verarbeitung großer Datenmengen. Gleichzeitig steht mit der eXtensible Markup Language (XML) eine erweiterbare Auszeichnungssprache zur Verfügung, die unter anderem als Quasi-Standard für den elektronischen Datenaustausch gilt. Um die Vorteile beider Technologien nutzen zu können, existiert bereits eine Reihe von Ansätzen, die eine Integration von XML und DBMS zum Ziel haben. Diese Ansätze erlauben es XML Datenbestände auf Basis deklarativer Abfragesprachen zu verarbeiten, jedoch wurde das Verändern von bestehenden Datenbeständen noch nicht genauer behandelt ([KIM02]).
Ziel dieser Diplomarbeit ist es X-Ray QL, eine deklarative Abfrage- und Datenmanipulationssprache für X-Ray, ein Integrationsansatz unter Verwendung einer Metadatenbank, zu implementieren. X-Ray QL ermöglicht, neben dem deklarativen Erzeugen, Ändern und Löschen von XML Datenbeständen, auch einfache Abfragen durchzuführen.
Durch die Implementierung von X-Ray QL entsteht der Laufzeitteil der X-Ray Architektur, welcher sich durch Sessionmanagement, Autorisierungsmechanismus und Transaktionskontrolle auszeichnet. Ein Web Service dient zur praktischen Demonstration der X-Ray QL Implementierung.
Inhaltsverzeichnis:
| 1. | Introduction | 9 |
| 1.1 | Motivation | 9 |
| 1.2 | Goals of this Thesis | 10 |
| 1.3 | Structure of this Thesis | 11 |
| 2. | X-Ray Architecture | 12 |
| 2.1 | Motivation | 12 |
| 2.2 | X-Ray Architecture in Detail | 12 |
| 2.2.1 | The Definition Part | 13 |
| 2.2.2 | The Runtime Part | 14 |
| 2.2.3 | The Meta Database Interface | 15 |
| 2.3 | Architectural Terminology | 16 |
| 2.3.1 | X-Ray Source | 16 |
| 2.3.2 | XML Document | 16 |
| 2.3.3 | Repository | 18 |
| 3. | X-Ray Runtime Implementation | 23 |
| 3.1 | Authorisation | 23 |
| 3.1.1 | Motivation | 23 |
| 3.1.2 | Authorisation Engine | 23 |
| 3.2 | Session Management | 25 |
| 3.3 | QL Engine | 27 |
| 3.3.1 | X-Ray QL Query Execution | 28 |
| 3.3.2 | X-Ray QL Query Verification | 31 |
| 3.4 | Syntax Check | 31 |
| 3.5 | XPath Engine | 34 |
| 3.6 | SQL Engine | 37 |
| 3.7 | SQL Queries | 38 |
| 3.7.1 | Select Query | 39 |
| 3.7.2 | Update Query | 41 |
| 3.7.3 | Insert Query | 42 |
| 3.7.4 | Delete Query | 42 |
| 3.8 | Select Engine | 42 |
| 3.8.1 | Initialisation | 43 |
| 3.8.2 | Execution | 44 |
| 3.8.2.1 | Target Attributes | 45 |
| 3.8.2.2 | Query Source | 48 |
| 3.8.2.3 | Predicates | 49 |
| 3.8.2.3.1 | Predicates with Position Information | 50 |
| 3.8.2.3.2 | Predicates without Position Information | 51 |
| 3.8.2.4 | Query Processing | 51 |
| 3.8.2.5 | Query Result | 52 |
| 3.9 | Update Engine | 52 |
| 3.9.1 | Simple Update | 53 |
| 3.9.2 | Cascading Update | 54 |
| 3.10 | Insert Engine | 56 |
| 3.10.1 | Direct Insert Operations | 56 |
| 3.10.2 | Indirect Insert Operation | 58 |
| 3.11 | Delete Engine | 60 |
| 3.11.1 | Direct Delete Operation | 60 |
| 3.11.2 | Indirect Delete Operation | 61 |
| 3.12 | Transaction Control | 62 |
| 3.12.1 | Commit | 62 |
| 3.12.2 | Rollback | 64 |
| 4. | X-Ray Language Definition | 65 |
| 4.1 | Commit / Rollback | 66 |
| 4.2 | Select | 66 |
| 4.2.1 | XPath Expression | 66 |
| 4.2.2 | X-Ray Source | 68 |
| 4.3 | Update | 69 |
| 4.4 | Insert | 69 |
| 4.5 | Delete | 73 |
| 5. | X-Ray QL Web Service | 75 |
| 5.1 | X-Ray QL Deployment Descriptor | 75 |
| 5.2 | Web Service Client | 77 |
| 6. | Outlook | 81 |
| 6.1 | Extension of the X-Ray Runtime Part | 81 |
| 6.1.1 | Authorisation Engine | 81 |
| 6.1.2 | Document-oriented Data | 82 |
| 6.2 | Extension of the Web Service Client | 82 |
| 6.3 | Extension of X-Ray QL | 83 |
| 6.3.1 | X-Ray Architecture Extensions | 83 |
| 6.3.2 | XML Mixed Content Types | 84 |
| 6.3.3 | X-Ray QL Rename Operation | 84 |
| 6.3.4 | X-Ray QL Assign Operation | 84 |
| 7. | Conclusion | 86 |
3.8.2.2 Query Source In the second step of the execution process the source of the query is processed. The source (see section 2.3.1) of the X-Ray QL query is a XML document defined on a repository. Therefore the associated XML document is retrieved from the source of the X-Ray QL select operation and used for building an XRaySource object. The X-Ray source contains the XML document, on which a X-Ray QL operation operates, in case of the select engine, the XML document the select operation operates on. The database attributes and values contained in the XML document object (see section 2.3.2 about “XML Document”) are therefore used to contain the result set of the SQL select query. So they are added to the where clause of the target select query. So if the source of our example was the XML document “europe” with the following definition, the target SQL query would then contain a where clause that selects only result rows with the database attribute AUTHOR.Id set to the value “author1” and “author2”. [...]
The X-Ray select operation is executed on the XML document with the name “europe”, which is defined in the repository “literature”. So the source for the select operation is the repository “literature” with the XML document “europe”. This X-Ray source is used to construct the select engine. The XPath engine is then executed by the QL engine to find the predicate [name/lname=”Mann”], which is added to the select engine, and the target XML element born_year, which is also added to the select engine. After the XPath engine was executed, the QL engine will execute the select engine to process the X-Ray QL select operation. 3.8.2 Execution [...]
The SQL engine is a static abstract super class that holds information passed by the XPath engine. This information consists of predicates extracted from the XPath expression of an XRay QL query, and the target XML element of the XPath expression. The QL engine for every new X-Ray QL query initialises the SQL engine. Therefore the source (see section 2.3.1) of the X-Ray QL query is passed to the SQL engine’s init method. The XML document name of the source is used to retrieve the XML document the X-Ray QL query operates on. With the alias name of the source a repository is associated. This repository is fetched from the repository cache or from the meta database. The SQL engine opens a connection to the relational database of the repository. This database connection is used for the execution of several SQL queries. [...]
In den Warenkorb
68,00 €
Link zur Arbeit:
http://www.diplom.de/ean/9783832475802
Arbeit zitieren:
Hiebl, Christian Oktober 2002: Implementation of a declarative query and data manipulation language for X-Ray, Hamburg: Diplomica Verlag
Schlagworte:
XML, Relationale Datenbank, Meta Datenbank, Abbildung, Datenmanipulationssprache



