Kuidas teha nii, et Enterprise Architect vahendis ei genereeritaks PostgreSQL andmebaasi disaini mudeli põhjal koodi, mida peab käsitsi parandama? Tuleb muuta malle (template), mille põhjal koodi genereeritakse. Malle tuleb muuta eraldi iga faili puhul, milles olevast mudelist soovitakse koodi genereerida.Järgnevad probleemid esinevad EA12-ga vaikimisi kaasa tulevates mallides... koodi genereerimineSQLCREATE TABLEjutumärgidPostgreSQLkoodi genereerimineSERIALmallandmetüübidjutumärgidEnterprise Architect 29.10.2023 15:14 | Erki Eessaar
Kuidas kiirendada PostgreSQLis päringuid, kus päringu tingimuses kontrollitakse stringi vastavust mustrile (nt leia isikud, kelle perenimi algab M tähega)? Looge tekstilisele veerule indeks ja kasutage selle puhul operaatori klassi, mis pole vaikimisi klass. TEXT tüüpi veeru korral kas... generate_seriestestandmete genereerimineindeksPostgreSQLindeksidmustripõhine otsingjõudlusoperaatoriklassid 27.10.2023 16:28 | Erki Eessaar
Millal võiks olla kasu baastabeli arvutatud veergudest? Arvutatud veeru puhul arvutatakse väljas olev väärtus teiste samas reas olevate väärtuste puhul ja salvestatakse kettale. PostgreSQLarvutatud veerudgenerated columnsjõudlusoptimeeriminedenormaliseeriminekoondandmed 14.10.2023 11:50 | Erki Eessaar
Mul on sellised ja sellised tabelid ning ma pean nende põhjal lahendama sellise ja sellise andmete otsimise ülesande. Milline oleks selle ülesande kõige parema jõudlusega lahendus? Tuleb korraldada eksperiment ja erinevaid lahendusi katsetada. Kui Teil pole käepärast serverit, kus saate "liivakastis" mängida, siis isegi keskkonnas nagu DB Fiddle PostgreSQLjõudlustestidoptimeerimineEXPLAIN ANALYZEmaterialiseeritud vaatedtestandmedeksperiment 10.10.2023 10:19 | 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
Miks mitte kasutada klassifikaatori tabeli, välisvõtme veeru ja sellel oleva välisvõtme kitsenduse asemel loendustüüpi veergu? Sest see: vähendab lahenduse porditavust e ülekantavust, vähendab lahenduse paindlikkust, suurendab keerukust, suurendab PostgreSQL näitel salvestusruumi kasutamist. Kirjutan järgnevalt se... klassifikaatorloendustüüpenumeration typeenumerationreference dataPostgreSQLloendustüüpklassifikaatoridandmebaasi disainporditavus 13.06.2023 19:53 | Erki Eessaar
Kas uuema ühendamise süntaksi korral võib WHERE klauslis olevad lisapiirangud kirjutada FROM klauslis ühendamise tingimusse? Vaatlen näitena andmebaasi, millel on kontseptuaalne struktuur: [Dept]-0..1-----------0..*-[Emp]SIIN on Postgr... tabelite ühendamineJOIN tingimusedWHERE klauselFROM klauselOUTER JOINpäringu optimeerimineloetavus 25.03.2023 12:34 | 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 | 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
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