Kumb on parem - kas trigeri käivitamise piiramine WHEN klausli abil või IF lausete kasutamine trigeri funktsioonis? Kõigepealt käsitlen jõudluse aspekti. PostgreSQL 18 (ja ka varasemate versioonide) puhul on teooria selline: WHEN klausel: Kontroll toimub enne trigeri protseduuri (funktsiooni) väljakutsumist. Kui tingimus on v... PostgreSQLtrigerWHEN klauselIF lausePL/pgSQLpgbenchjõudlushallatavusGemini 01.12.2025 14:44 | Erki Eessaar
Millal kasutada andmebaasis EAV disaini või JSONB tüüpi veergu? Analüüsime konkreetset näidet.Kontekst: Tegemist on PostgreSQL andmebaasiga, kus muuhulgas hakatakse hoidma andmeid keelemudelite kohta. See andmebaas on osa süsteemist, mis võimaldab teha andmebaaside suhtes eestikeelse... universaalne disainEAVJSONJSONBPostgreSQLandmebaasi disainEAVJSONBPostgreSQLpaindlikkusjõudlus 17.11.2025 11:28 | Erki Eessaar
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ä... CHECK kitsendusdeterministlik funktsioonCURRENT_DATESQL standardandmete terviklikkusandmebaasisüsteemidretrospektiivne 22.11.2024 14:57 | Erki Eessaar
Kuidas on seotud andmebaasid ja tehisaru (AI)? Andmebaasisüsteemid on seotud tehisaruga erinevates aspektides. Treeningandmed võivad tulla andmebaasist. Mingisugune osa tehisaru süsteemidest saab olla realiseeritud andmebaasisüsteemi vahendeid kasutades – mitte and... tehisintellektAITImasinõpetransformerRAGvektorandmebaasOraclePostgreSQLagentMCPSELECT AI 17.10.2024 09:32 | Erki Eessaar
Kas otsingutingimus x<1 AND x>10 saab olla täidetud, st kas sellise otsingutingimusega päringu tulemuses saab olla ridu? Ei saa.AND tähendab, et mõlemad alamtingimused peavad olema täidetud - vaadake AND operatsiooni tõeväärtustabelit. Ol... loogikaavaldisedAND operaatorSQL tingimusedtühi hulkloogikaveadpäringu tulemustõeväärtustabel 07.04.2024 09:24 | Erki Eessaar
Kuidas töötavad SQLis tingimused IN ja NOT IN? Oletame, et meil on sellise kontseptuaalse struktuuriga andmebaas:[Hotell]-1------------0..*-[Reserveerimine]Ülesanne: Leia reserveerimised, mis on tehtud Tallinna linnas olevas hotellis. IN operaatorNOT IN operaatorNULL väärtusalampäringkolmene loogikaSQL tingimusedhulgad 06.04.2024 11:06 | Erki Eessaar
Kas SQL-andmebaasis saab jõustada deklaratiivsete kitsendustena assotisatsioonireegleid? Jah saab. Vaatame konkreetset näidet. Oletame, et SQL-andmebaasis on tabel Kaup:Kaup(kauba_kood, hind, on_aktiivne)Primaarvõti(kauba_kood)Oletame, et kehtib reegel: Kui kaup on aktiivne, siis selle h... assotsiatsioonireegelimplikatsioontingimuslauseCHECK kitsendusloogikakitsendusandmebaasi disainreeglid 10.02.2024 10:37 | Erki Eessaar
Kas on mingit vahet selles osas, kui otsingutingimusse kirjutada IS TRUE või =TRUE? Tegelikult ei ole. Teen väikese katsetuse PostgreSQLis (ver 16).CREATE TABLE Bool_test (bool_test_id SERIAL,flag BOOLEAN NOT NULL,CONSTRAINT pk_bool_test PRIMARY KEY (bool_tes... PostgreSQLBOOLEANtõeväärtusSQL süntaksNULLkolmene loogikaNOT NULL 16.01.2024 19:00 | Erki Eessaar
Mille poolest erineb MS Accessi andmetüüp BIT (YESNO) SQL standardis ettenähtud andmetüübist BOOLEAN? MS Accessis on BIT tüüp selline, mille korral tehakse teisendus NULL=>FALSECREATE TABLE Toode (toode_kood INTEGER,on_aktiivne BIT DEFAULT TRUE,CONSTRAINT pk_toode PRIMARY KEY (toode_kood)); PostgreSQLMS AccessBITBOOLEANYESNOtõeväärtusNULL 16.02.2023 15:24 | Erki Eessaar
Kuidas realiseerida see, et põhiobjekti X (nt Auto või Kaup) eksemplari andmete muutmine on võimalik vaid siis, kus see eksemplar on mingis kindlas seisundis? Kui loote rutiini X andmete muutmiseks, siis kirjutage see kontroll sisse rutiinis sisalduvatesse lausetesse. Näiteks oletame, et kauba andmeid saab muuta (v.a. seisundi muutmine) vaid siis, kui muudetav kaup on seisundis ootel või mitteaktiivne. Ole... andmebaasiserveris talletatud rutiinfunktsioonprotseduurrutiinidandmemuudatusedpiirangudtrigeridolekkontroll 27.11.2022 14:19 | Erki Eessaar