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 | Erki Eessaar
Kuidas luua TI abil interaktiivseid õpinäiteid? Üheks strateegiaks on paluda genereerida keelemudelil väike interaktiivne näide, mis oleks üks html fail ja kus võib kasutada HTMLi, CSSi, jQueryt, JavaScripti ja Bootstrapi. Sellise lehe vaatamiseks piisab, kui see html fail kettale salvestada ... AITIpromptviiptehisintellektGeminiõppematerjalidHTMLJavaScriptinteraktiivsus 14.11.2025 13: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 | Erki Eessaar
Mis probleem on (PostgreSQL näitel) veeru deklaratsiooniga: registr_aeg TIMESTAMP NOT NULL DEFAULT LOCALTIMESTAMP(0) SELECT LOCALTIMESTAMP; Tagastab hetke kuupäeva, kellaaja ja sekundi murdosad kuue koha täpsusega. Funktsiooni väljakutses saab määrata, kui täpselt või kas üldse sekundi murdosasid... PostgreSQLTIMESTAMPLOCALTIMESTAMPandmekvaliteetandmetüübidsekundi murdosadvaikeväärtus 21.02.2025 09:18 | 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 | 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 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... kitsenduste kustutamineALTER TABLESQL süntaksDDLandmebaasisüsteemidporditavusDROP CONSTRAINT 14.11.2024 11:52 | Erki Eessaar
Kas korduste eemaldamine IN/NOT IN alampäringus muudab lause täitmise kiiremaks või mitte? Sõltub andmebaasisüsteemist. Näiteks PostgreSQLis on sellel suur mõju, MySQLis ei ole mõju. PostgreSQLis aeglustab korduste eemaldamine alampäringus IN päringu täitmist kolm korda kuid muudab NOT IN päringu täitmise absurdselt palju kiiremaks... optimeerimineIN operaatorNOT IN operaatoralampäringDISTINCTPostgreSQLpäringu plaan 14.04.2024 15:56 | 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
Kuidas kasutada õigesti TOP (MS Access) ja FETCH FIRST n ROWS WITH TIES (PostgreSQL) predikaate väärtuste jadas kohal x olevate väärtuste leidmiseks? TOP n - saab kasutada MS Accessis (samaväärset TOP ... WITH TIES saab kasutada MS SQL Serveris). SQL standard ei kirjelda. LIMIT n - Saab kasutada nt PostgreSQLis (ja ka nt LibreOffice Ba... TOP nLIMITFETCH FIRSTWITH TIESjärjestaminepingereadalampäring 28.03.2024 11:30 | Erki Eessaar