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
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
Millal kasutada SQLis tabelite ühendamist ja millal alampäringut? SQL on keeleliselt liiane, mis tähendab, et aastate jooksul on SQL keelt täiendatud aina uute keelekonstruktsioonidega... JOINalampäringSQL strateegiaDELETE lauseUPDATE lauseporditavuspäringute optimeerimine 06.04.2024 15:51 | Erki Eessaar
Kuidas arvutada SQLis protsenti nii, et ei peaks sama tabelit mitmekordselt lugema? PostgreSQLis on andmebaas järgmise kontseptuaalse struktuuriga.[Facility_type]-1-------0..*-[Facility]-1---------------0..*-[Health_care_visit]Tabelis Facility_type on 5 rida.Tabelis Facility on 5_000 r... protsentprotsendiarvutusFILTER klauselnulliga jagaminePostgreSQLjõudlusoptimeerimineühine tabeli avaldisCTE 01.04.2024 09:43 | Erki Eessaar
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 | 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 | 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