'Simple Object Query Language in PersiJ'
Authors
Jensen, Rolf Njor ; Sönder, Peter
Term
4. term
Education
Publication year
2006
Abstract
Når software skrevet i statisk typede, objektorienterede sprog som Java skal arbejde med relationelle databaser, opstår der en "impedance mismatch": de to teknologier modellerer data på forskellige måder, hvilket gør især forespørgsler besværlige. Denne afhandling fokuserer på forespørgsler og analyserer, via metodegennemgang og litteraturstudie, svagheder i de eksisterende tilgange. Målet er at gøre forespørgsler lettere ved at designe et nyt forespørgselssprog, Simple Object Query Language (SOQL), som integrerer med værtsproget, kan statisk kontrolleres (dvs. tjekkes ved kompilering), har samme syntaks og meget lignende semantik som værtsproget og samtidig kan modulariseres og optimeres. Afhandlingen beskriver SOQL og hvordan det kan oversættes til SQL, og argumenterer for, at det opfylder de fleste af målene. Med en compiler og et omkringliggende rammeværk kunne SOQL være et lovende alternativ, fordi det muliggør statisk kontrol og stadig kan modulariseres og optimeres. Imidlertid bevarer SOQL ikke fuldt ud samme semantik som Java; forskellene er komplekse, og det er usikkert, om sproget faktisk gør det lettere at formulere forespørgsler.
When software written in statically typed, object-oriented languages like Java interacts with relational databases, an "impedance mismatch" arises: the two technologies model data differently, which makes querying difficult. This thesis focuses on querying and, through analysis and a literature review, examines weaknesses in existing methods. The goal is to make queries easier by designing a new query language, Simple Object Query Language (SOQL), that integrates with the host language, is statically checkable (i.e., validated at compile time), shares the host language’s syntax and closely related semantics, and supports modularization and optimization. The thesis describes SOQL and how it can be translated to SQL, arguing that it meets most of these aims. With a compiler and supporting framework, SOQL could be a promising alternative because it enables static checking while remaining modular and optimizable. However, SOQL does not fully preserve Java’s semantics; the differences are intricate, and it is uncertain whether the language actually makes expressing queries easier.
[This abstract was generated with the help of AI]
Documents
