Millised kompenseerivad tegevused tuleks määrata üldistusseose alusel tekkivale välisvõtme kitsendusele? Näide: Oletame, et kontseptuaalses andmemudelis on ülatüüp Isik ja selle alamtüüp on Töötaja. Nende alusel luuakse andmebaasis tabelid Isik ja Tootaja. Tabelis Isik on surrogaatvõti (isik_id), ... välisvõtikompenseeriv tegevussurrogaatvõtinaturaalne võtiüldistusseos 14.06.2026 12:15:15 | 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:32 | Erki Eessaar
Kuidas saab kasutada suuri keelemudeleid olemasolevast andmebaasist paremini arusaamiseks? Suuri keelemudeleid saab näiteks kasutada selleks, et klasterdada uuritava, enda jaoks tundmatu, andmebaasi tabeleid ja jaotada need registritesse. Selle eelduseks on, et andmebaasis on deklareeritud välisvõtme kitsendused, sest niimoodi on andmebaas... suur keelemudelLLMAITItehisintellektviippromptGoogle Geminivälisvõtivõõrvõtivälisvõtme kitsendusforeign keyreferential constraintloogiline varukoopiapg_dump 09.10.2025 23:39:52 | Erki Eessaar
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... promptviipsuur keelemudelllmtestiminedokumentiseseisev töö projektCREATE TABLEtabelidbaastabelidvigaveadtüüpveadprobleemidnimetaminenimedkitsendusedvaikimisi väärtuskompenseeriv tegevusgenereeriv TItehisintellektAI 11.03.2025 10:21:51 | 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 muuta PostgreSQLis veeru andmetüüpi? Oletame, et meil on andmebaas kontseptuaalse struktuuriga:[Auto_seisundi_liik]-1-------------0..*-[Auto]Tabelis Auto ja Auto_seisundi_liik on veerg auto_seisundi_liik_kood tüüpi INTEGER, kuid peaks o... PostgreSQLALTER TABLEandmetüübidsõltuvusedrefaktoreeriminevaatedgexec 28.11.2024 11:50:25 | Erki Eessaar
Süsteemi genereeritud võtmeväärtustena saab kasutada nii täisarve kui universaalselt unikaalseid identifikaatoreid (uuid). Millised on kummagi lähenemise eelised ja puudused? Süsteemi genereeritud võtmeväärtustena võib kasutada täisarve. PostgreSQLis saab selleks kasutada SMALLSERIAL/SERIAL/BIGSERIAL notatsiooni või määrata, et vastav veerg on identiteedi veerg. Genereeritud väärtus on täisarv, mis on kas 2 baiti (SMALLSE... PostgreSQLUUIDprimaarvõtijõudlussalvestusruumtäisarvudvõtmed 03.10.2024 10:33:58 | Erki Eessaar
Mis vahe on identifitseerival ja mitteidentifitseerival seosel tabelite vahel? Identifitseeriv seos tähendab, et lapsolemi identiteet sõltub täielikult vanemast. Kui vanemat pole, ei saa laps üldse eksisteerida, sest see on oma olemuselt vanema "osa". Näiteks tellimuse rida pole mõeldav ilma konkreetse tellimuseta, ... identifitseeriv seosmitteidentifitseeriv seosvälisvõtieksistentsiaalne sõltuvusnõrk olemitüüpON DELETE CASCADEandmebaasi disain 15.04.2024 17:12:59 | Erki Eessaar
Kas PostgreSQLis ON DELETE CASCADE kasutamine välisvõtme deklaratsioonis põhjustab halba kustutamise töökiirust e jõudlust? Ei tekita.Põhjendan vastust. Tegin katsetusi PostgreSQL 15 andmebaasis, millel on järgmine kontseptuaalne struktuur:[Facility]-0..1-----------------0..*-[Health_care_visit]Tabel Facility: 50 000 rida... PostgreSQLON DELETE CASCADEjõudluskustutaminevälisvõtiviitamisterviklikkusoptimeerimine 12.06.2023 13:33:28 | Erki Eessaar
Igal isikul on null või rohkem meiliaadressi. Võib juhtuda, et mitu isikut jagavad ühte ja sama meiliaadressi. Kas selliste andmete hoidmiseks peaks tegema kokku kolm tabelit: meiliaadresside tabeli, isikute tabeli ja meiliaadresside ja isikute vahelist M:N seost esitava vahetabeli? Ma arvan, et ei peaks.Kui andmebaasis oleksid tabelid:Isik (isik_id, ...)Primaarvõti (isik_id)E_meil (e_meil_id, e_meil)Primaarvõti (e_meil_id)Alternatiivvõti (e_meil)Isiku_meiliaadres... andmebaasi disainM:N seos1:N seosnõrk olemitüüpliitvõtiandmete modelleeriminevälisvõti 23.02.2023 15:50:41 | Erki Eessaar