Mida kujutavad endast aegridade andmebaasisüsteemid? Maailmas tehakse aina enam mõõtmisi ja tekib finantsandmeid ning nende tulemusi salvestatakse aegridadena (time-series). Viimastel aastatel on turule tulnud hulgaliselt aegreadtime-seriesaegridade andmebaasisüsteemidPostgreSQLSaaty meetod 21.03.2026 20:07:19 | Erki Eessaar
Mis vahe on GENERATED ALWAYS AS IDENTIY ja GENERATED BY DEFAULT AS IDENTITY ja kumba nendest kasutada? Neid kasutatakse surrogaatvõtmete realiseerimiseks. Need võimaldavad tabeli veeru korral määrata, et tegemist on identiteedi veeruga. Selle määramise tulemusel loob andmebaasisüsteem automaatselt sisemise arvujada generaatori ja seob veeruga. Kui kas... PostgreSQLidentiteedi veergsurrogaatvõtiarvujada generaatorserial 26.12.2025 14:16:10 | Erki Eessaar
Kuidas vältida konkurentsiprobleeme teise tabeli andmete kontrollimisel? Kui andmebaasioperatsiooni lepingus on näiteks kirjas eeltingimus, et uus kauba seisund peab olema aktiivne, siis selle eeltingimuse täidetust saab kontrollida operatsiooni käigus. Eelistada tuleks EXISTS alampäringut, kus on määratud FO... PostgreSQLOraclelukustaminejagatud lukkeksklusiivne lukkFOR UPDATEFOR SHAREpgbench 09.12.2025 19:24:00 | Erki Eessaar
Kuidas katsetada päringut, kui mul ei ole tabeleid, mille põhjal seda teha või ei ole õigust tabeleid luua? Ühise tabeli avaldise (common table expression) abil saab koostada päringus sisevaate (inline view), mille põhjal lause täita. Kõik see on üks näide. Järgnevalt katsetan numbrimärkidest koosnevate stringide sorteerimist.... PostgreSQLühine tabeli avaldisCTEVALUES lausepäringsisevaade 05.12.2025 09:26:14 | Erki Eessaar
Kui kontseptuaalses andmemudelis on üldistusseosed, siis kas neid võiks PostgreSQL andmebaasis realiseerida kasutades tabelite pärimist? See pole soovitav pärimise kaudu tabelite loomise tehniliste piirangute tõttu. Vaatame näidet. Iga isik on mingis täpselt ühes seisundis. Isik võib olla klient või töötaja. Võib olla isikuid, kes on nii klient kui ... PostgreSQLINHERITSpärimineüldistusseosedobjekt-relatsiooniline 22.11.2025 17:25:56 | Erki Eessaar
Kuidas katsetada SQLis päringuid ilma, et mul oleks tabeleid, mille põhjal seda teha? Kasutades lauses ühiseid tabeli avaldisi (common table expression) on võimalik päringu kontekstis koostada tabel, mille põhjal päringut täita.Näide: Oletame, et ma tahan teada, kas tingimus pikkus NOT IN (1... cteühine tabeli avaldistestimineVALUESDB Fiddlevirtuaalne tabelSQL 13.06.2025 14:22:48 | Erki Eessaar
Kuidas SQLite korral realiseerida klassifikaatorite tabeleid, kus on kood ja nimetus? Koodi peaks sisestama inimkasutaja, mitte genereerima süsteem. Katsetasin seda koodi DB Fiddle keskkonnas. CREATE TABLE Tellimuse_seisundi_liik (tellimuse_seisundi_liik_kood INTEGER NOT NULL,... primaarvõtiesmasvõtiarvujada generaatorsurrogaatvõtiSQLiteklassifikaatorautomaatne väärtuskood 03.05.2025 11:26:47 | Erki Eessaar
Millised on üldised soovitused ja tähelepanekud suurte keelemudelite jaoks promptide e viipade koostamisel? Järgnevad soovitused põhinevad tähelepanekutel, mis on tehtud selle aine jaoks tehiste reeglitele vastavuse kontrollimise promptide koostamisel. Osa sellest tekstist on genereeritud Google Gemini 2.5 poolt vastustena küsimustele. Soovitan promptide v... suur keelemudeLLMAITIpromptpromptidviipviibadGeminitemperatuur 18.04.2025 11:34:06 | Erki Eessaar
Kuidas tagada andmebaasioperatsiooni realiseerivas rutiinis, et operatsiooni järeltingimused saavutatakse vaid siis, kui kõik eeltingimused on täidetud? Lepingprojekteerimise (design by contract) kohaselt kirjeldatakse tarkvaraelement kasutades eeltingimusi, järeltingimus... lepingprojekteerimineeeltingimusedjäreltingimusedinvariandidtrigeridkitsendusedrutiinid 21.12.2024 19:25:12 | Erki Eessaar
Kuidas eemaldada SQL lauses stingi e sõne ümbert sulud, kui string peaks olema sulgudes? Andmebaasisüsteemid PostgreSQL ja Oracle pakuvad funktsiooni regexp_replace, mis võimaldab asendada stringis alamstringi, kasutades sealjuures regulaaravaldisi. Lause katsetamiseks saab kasutada regulaaravaldistekstitöötlusregexp_replaceSQLstringidPostgreSQLOracle 24.11.2024 14:48:07 | Erki Eessaar