Andmebaaside ajaveeb

Mõtteid andmebaasidest, andmebaasisüsteemidest ja nende kavandamisest

Kuidas saavad suured keelemudelid (LLM) hakkama SQL koodi kontrollimisega reeglite suhtes?

Tegin katsetuse 11.03.2025.Kontrollisin hulka tabelite loomise lauseid (MS Accessi SQL murdes) 37 erinevat tüüpi üldise (st mitte Accessi-spetsiifilise) vea suhtes. Keelemudelile esitatud küsimus moodustus prompt + laused.Kontrollit...


Kuidas jõustada MS Accessi ja PostgreSQL andmebaasis piirangut, et väärtus ei tohi olla tühi string, tühikutest koosnev string, tühimärkidest koosnev string?

Tühi string, tühikutest koosnev string ja tühimärkidest koosnev string on kõik tekstilised väärtused ning selliseid piiranguid võib olla vaja jõustada tekstiliste veergude põhjal.Need ei ole sama mis NULL. NULL on spetsiaalne tähis, mis o...


Millistes SQL-andmebaasisüsteemides saab kasutada SQL standardis ettenähtud skeemi INFORMATION_SCHEMA, milles on süsteemikataloogi tabelite põhjal loodud vaated ja millistes ei saa?

INFORMATION_SCHEMA on SQL standardis kirjeldatud skeem, mis sisaldab süsteemikataloogi tabelite põhjal loodud vaateid. Süsteemikataloogi ...


Millistes SQL-andmebaasisüsteemides saab kasutada SELECT lauset, kus puudub FROM klausel ning millistes ei saa?

Kasutasin katsetamiseks keskkondi DB Fiddle, SQL Fiddle ja 


Kas CHECK kitsendustes saab kasutada mittedeterministlikke funktsioone?

Deterministlik funktsioon tagastab samade argumentidega  (sisendandmetega) alati samasuguse väärtuse. Mittedeterministlik funktsioon võib tagastada samade argumentidega erinevatel ajahetkedel erineva tulemuse. Mittedeterministlikud funktsioonid on nä...


Kuidas kustutada korraga mitu tabeliga seotud kitsendust?

See on hea näide, kuidas SQLi dialekt e mägimurrak erineb erinevates andmebaasisüsteemides detailide poolest. Järgnev katsetus tehti keskkondades DB Fi...


Kas erinevates andmebaasisüsteemides on tekstiotsing vaikimisi tõstutundlik või tõstutundetu?

SELECT * FROM Isik WHERE perenimi='Mets';Tõstutundetu (case insensitive) otsingu korral leitakse nii isik perenimega Mets kui ka isik perenimega mets.Tõstutundliku (case sensitive) ot...


Kuidas tuleb erinevates andmebaasisüsteemides esitada tekstilisi väärtuseid?

SQL standard näeb ette, et väärtus peab olema ühekordsete ülakomade e apostroofide vahel ('tekst'). Jutumärkidesse võib panna andmebaasiobjektide nimesid e identifikaatoreid ("tekst").Kuidas käituvad erinevad andmebaasisüsteemid?


Miks mõnikord peab koos kokkuvõttefunktsiooni kasutamisega kasutama GROUP BY klauslit ja mõnikord ei pea?

Järgnevad koodinäited põhinevad enamasti MS Accessil, kuid kirjeldatud põhimõtted kehtivad SQLis üldiselt.Oletame, et ülesandeks on leida iga aasta kohta, millal on alanud mõni reserveerimine, sellel aastal alanud reserveerimiste arv.


Millal kasutada SQLis tabelite ühendamist ja millal alampäringut?

SQL on keeleliselt liiane, mis tähendab, et aastate jooksul on SQL keelt täiendatud aina uute keelekonstruktsioonidega...