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
Milliseid soovitusi annavad teadusuuringut selles osas, kuidas suurte keelemudelite abil SQL koodi genereerida? Chang ja Lussier (2023) katsetavad erinevaid võimalusi ja annavad soovitusi suurte keelemudelite promptimiseks ... OpenAIChatGPTLLMsuur keelemudeltehisintellektAITIpromptviipSQL genereerimine 01.11.2024 12:17 | 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 | Erki Eessaar
Milliseid täiendusi SQL standardisse tegi SQL:2023 ja millised nendest võimalustest on ka PostgreSQL'is (kuni versioonini 16) olemas? 2023. aastal tuli peale pikka ootamist välja SQL standardi uus versioon - SQL:2023. Eelmine versioon oli SQL:2016 - nimes on viide aastale. SQL:2023PostgreSQL 16SQL standardJSONANY_VALUEliteraaliduued võimalused 22.09.2023 12:50 | Erki Eessaar
Kui tabelis Riik on (nimetus) alternatiivvõti, siis miks ei piisa selle jõustamiseks UNIQUE kitsendusest? Miks on vaja veerule nimetus ka NOT NULL kitsendust? Hästi kavandatud tabelis peaks olema üks või rohkem kandidaatvõtit. Kandidaatvõtme väärtus + kandidaatvõtme veergude nimed + tabeli nimi on loogiline aadress, mille järgi andmebaasist tabeli rida üles leida. Kui aadressi pole või see on väärtuste puu... alternatiivvõtiUNIQUE kitsendusNOT NULL kitsenduskandidaatvõtiprimaarvõtiandmete terviklikkustabeli disain 23.02.2023 01:01 | Erki Eessaar
Miks ei ole hea mõte kasutada kõikides tabelites surrogaatvõtit? Surrogaatvõti on lihtvõti, mille väärtused on süsteemi genereeritud unikaalsed täisarvud. Need väärtused on kasutusel tarkvara siseselt ridade identifitseerimiseks, kuid andmebaasi kasutavatele inimestele ei tähenda need väärtused mi... surrogaatvõtisisuline võtiprimaarvõtivälisvõtiandmebaasi disainpäringute kiirusindeksid 20.02.2023 17:41 | Erki Eessaar
Kas olemasolevates "päriselu" SQL-andmebaasides jõustatakse välisvõtme kitsendusi? Mitte nii palju kui peaks.B. Karwini SQL-andmebaasi disaini antimustrite raamatu peatükis 5 (Keyle... võõrvõtivälisvõtiforeign keyfkdeklaratiivne kitsendusdeclarative constraintWordpressWooCommercetehniline võlgantimuster 27.09.2022 01:49 | Erki Eessaar
Mis erinevus on primaarvõtme ja kandidaatvõtme vahel? See on nagu organisatsioonile juhi valimised. Oletame, et on kolm kandidaati. Üks valitakse peadirektoriks. Tema saab ametiauto ja eraldi kabineti. Ülejäänud kaks ei saa peadirektoriks, kuid saavad asedirektori tiitli ning samuti ametiauto ja eraldi ... primaarvõtikandidaatvõtiesmasvõtivõtmekandidaatalternatiivvõtiNOT NULLunikaalsustabeli disain 01.06.2022 00:00 | Erki Eessaar
Mida kujundab endast elementaarvõtme normaalkuju (EVNK)? Kui ma vaatan C.J Date ja J. Celko töid, siis nad mainivad seda normaalkuju lühidalt, ajaloolise tagasivaate ja esitluse täielikkuse huvides. C.J. Date osundab, et EVNK-le viidatakse kirjanduses vähe.EVNK on kolmanda normaalkuju (3N... elementary key normal formEKNDnormaliseeriminenormalizationBCNK3NKliitvõtiandmete liiasussõltuvused 01.06.2022 00:00 | Erki Eessaar
Millised on erinevad tabelite võtmete tüübid ja kuidas need on omavahel seotud? Supervõtmel peab olema: - unikaalsuse omadus. Kandidaatvõtmel peab olema: - unikaalsuse omadus JA - mitteliiasuse omadus. Mitteliiasus tähendab, et sealt ei saa enam ühtegi veer... kandidaatvõtivõtmekandidaatsupervõtiprimaarvõtiesmasvõtialternatiivvõtivõti 01.06.2022 00:00 | Erki Eessaar