Mis on omapäringud?

Omapäringud on päringud, mida väljendatakse struktureeritud päringukeele (SQL) kaudu ning need on nii sisutihedad kui ka tüübikindlad C++ ja Java päringuavaldise meetodid. Natiivsete päringute kasutamine on kasulik andmebaaside spetsiifiliste funktsioonide, sealhulgas päringu vihjete ja teatud andmebaasispetsiifiliste funktsioonide kasutamisel. Need on kasulikud ka puhaste migratsiooniteede pakkumisel otse rakendustest, mis kasutavad SQL-i või Java-andmebaasiühendust (JDBC™). Omapäringuid kasutatakse skalaarväärtustest, olemitest või mõlemast koosnevate tulemuste saamiseks. Seda tüüpi päringud toetavad natiivse SQL-i kasutamist sihtandmebaasis.

Seda tüüpi päringud võivad ületada stringipõhise rakendusliidese (API) puudused. Seda tüüpi päringuid kasutatakse objektide andmebaasis, kus objektide püsivus on programmeerijate jaoks tavaline ülesanne ja andmebaasi ühine omadus. Võõrpäringud tunduvad aga objektorienteeritud programmides võõrad, kuna nende väljenditeks on lihtsad stringid ja omavahel põimitud stringe sisaldavad objektigraafikud.

Omapäringud aitavad leevendada andmebaasides esinevaid probleeme, väljendades päringut Java ja C++ keeles. Päringuid saab kirjutada ilma API või kohandatud päringukeeleta. Lisaks võib integreeritud arenduskeskkond (IDE) aidata kirjavigu vähendada. Natiivsed päringud oleksid siis täielikult tüübikindlad ja neile pääseksid juurde IDE ümberkujundamise funktsioonid. Lõpuks saab päringuid käivitada, testida ja prototüüpida tavaliste mälukogude jaoks ilma andmebaasi tagaosata.

Päringud ja nendega kaasnev SQL ei ole tingimata ülekantavad teistesse andmebaasidesse. Kui konkreetse päringu kaudu tagastatakse paljud olemid, tuleks need samad olemid määrata ja vastendada metaandmete definitsiooni vastendamise tarkvaraprogrammis SQL-lausete veerutulemustega. Selle tulemusena saab neid kasutada JDBC tulemuste kaardistamiseks püsiva käitusajaga eeldatavateks objektideks. Nimeparameetrite kasutust ei ole seda tüüpi päringute jaoks kunagi määratletud ja kaasaskantavad rakendused saavad natiivsete SQL-päringute jaoks kasutada ainult asukohaparameetrite sidumist. Ühenduste toetamine piirdub üksikute väärtustega suhetega.

Natiivsete päringute kasutamiseks peab programmeerija kirjeldama SQL-i tulemuskomplekti. Tulemuste komplekti kirjeldamine aitab programmil (nt Entitymanager) kaardistada veerud olemite omadustega. Skalaarseid tulemusi saab ka määratleda ja segada teiste olemitulemustega, mille tulemuseks on pseudonüümi veeru tagastamine. Kui tulemuste komplektid on kirjeldatud, on natiivsete päringute täitmine võimalik.