Kuidas oleks PostgreSQLis töökiiruse mõttes kõige efektiivsem leida andmed ühest tabelist ja väljastada tulemuses ka tõeväärtus, mis leitakse teises tabelis olevate andmete põhjal? Järgnev katsetus on tehtud PostgreSQL (16) põhjal.Andmebaasis on tabelid järgmise kontseptuaalse struktuuriga:[Person]-1----------0..*-[Health_care_visit]Tabelis Person on 70_000 rida.Tabelis Hea... PostgreSQLjõudlusoptimeerimineEXISTSalampäringpäringu plaantäitmiskiirus 22.03.2024 09:11:42 | Erki Eessaar
Kuidas kasutada PostgreSQLi küsitlustulemuste analüüsimiseks sh vabatekstiliste vastuste analüüsimiseks? Moraal on selles, et vaba teksti väljas olevate väärtuste analüüsimine nõuab rohkem tööd ning kui andmebaasis oleks vaja registreerida andmeid millegi kohta, et nende andmete alusel saaks hiljem teha otsinguid, siis vabateksti asemel tuleks eelistada... tekstikaevevabatekstPostgresPostgresuur keelemudelllmpromptviipGeminiväline tabelvälised tabelid 16.02.2024 13:40:07 | Erki Eessaar
Kuidas piirata ridu, mille põhjal kokkuvõttefunktsioon arvutab tulemuse? Oletame, et andmebaasi kontseptuaalne struktuur on selline:[Dept]-1---------0..*-[Emp]Iga osakond (Dept) on seotud null või rohkem töötajaga (Emp).Iga töötaja (Emp) on seotud täpselt ühe osakon... ühine tabel avaldiscommon table expressionctewithfilteragregeeriminekokkuvõttefunktsioondense_rankaknafunktsioonPostgreSQLkokkuvõttefunktsioonidFILTER klauselgrupeeriminetingimuslikud arvutused 10.11.2023 13:41:50 | 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:04 | 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:50 | 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:51 | Erki Eessaar
Kuidas jõustada MS Accessis kitsendus, et kui üks ja sama töötaja omab ühte ja sama rolli mitu korda, siis ei tohi rolli omamise ajaperioodid kattuda? Saan jõustada nõrgema kitsenduse, mille kohaselt andmete registreerimise hetke seisuga ei tohi ühel ja samal töötajal olla ühe ja sama rolli kohta rohkem kui üks kehtiv rolli omamine. Kehtiv rolli omamine on selline, mille puhul hetke aeg jääb rolli ... valideerimisreegelcheckvalidation rulePostgreSQLMS Accesskattuvad perioodidajalised andmedalampäringkitsenduspiirang 05.06.2022 20:17:10 | Erki Eessaar
Kuidas jõustada MS Accessis kitsendus, et mittelõpetatud tubade nimetused peavad olema unikaalsed? Kui andmebaasis defineerida tabelis Tuba unikaalsuse kitsendus UNIQUE (nimetus), siis on nimetus globaalselt unikaalne. Seega, kui tuba on lõpetatud, siis uuesti sama nimetusega tuba registreerida ei saa. Järelikult selline UNIQUE kitsendus ... PostgreSQLMS AccessCHECKalampäringosaline unikaalsusunikaalsuskitsenduspiirang 05.06.2022 12:58:28 | Erki Eessaar
Kuidas leida päringuga koondandmed, kus iga olemi kohta on üks rida ning selles reas on massiiv selle olemiga otseselt või kaudselt seotud olemite andmetest? See, kas seda saab üldse SQLiga lahendada ja kuidas seda lahendada sõltub andmebaasisüsteemist.Järgnev näide on tehtud PostgreSQLis. Oletame, et andmebaasi kontseptuaalne struktuur on:[Hotell]-1------0..*-[Ruum]-1-----------0.... koondandmedmassiivPostgreSQLkoondandmedmassiividarray_aggJSON 01.06.2022 00:00:00 | Erki Eessaar
Kas isiku rollide omamise registreerimise võiks realiseerida nii, et luua loendustüüp rollide nimedega ning kasutajate tabelis luua veerg, mille väärtuseks on seda loendustüüpi väärtuste massiiv? See on võimalik, aga ma ei soovita. Soovitan rollide jaoks luua eraldi klassifikaatori tabeli ja luua eraldi tabeli rollide omamiste kohta.CREATE TYPE t_roll AS ENUM('juhataja','administraator','tavakasutaja'); enumenumeration typePostgreSQLmassiividloendustüüpdisainandmemudelnormaliseerimine 01.06.2022 00:00:00 | Erki Eessaar