Millal mitte kirjutada ja millal kirjutada tabelite ühendamise tingimusi ja täiendavaid piiranguid ridadele FROM klauslisse? Vaatame näidet. Kontseptuaalne mudel [Facility]-1---------0..*-[Health_care_visit] Facility – Tervishoiuasutus Health_care_visit – Visiit arsti juurde ühendamineJOINotsingutingimusSQLPostgreSQL 21.02.2026 09:44:45 | 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:44 | Erki Eessaar
Kas ühes ja samas SQL päringus võib segamini kasutada vanemat ja uuemat ühendamise süntaksi? Jah, see on tehniliselt võimalik. Kuid see ei ole soovitav, sest halvendab koodi loetavust.Halvem.SELECT Tudeng.tudkood, Tudeng.perenimi, Oppimine.oppim_algus, Oppimine.oppim_lopp, Aine.aine_kood, Aine.nimetus... puhas koodclean codeSQLjoinühendamineloetavussüntakshea tava 19.03.2023 12:58:12 | Erki Eessaar
Miks on halb mõte kasutada erinevates tabelites ühesuguse nimega (id, kood või code) primaarvõtme veergu? See muudab keerulisemaks tabelites olevatest andmetest arusaamise ja tabelite põhjal päringute tegemise.Sellise nimega primaarvõtme veerud on üks sümptom, mis viitab sellele, et andmebaasi disainis esineb primaarvõtiveergude nimetamineSQL antimustridandmebaasi disainloetavustabelite ühendamineSQL päringud 16.02.2023 15:43:46 | Erki Eessaar
Juhul kui välisühendamist ei ole lause õige tulemuse saavutamiseks vaja, siis kas OUTER JOIN operatsiooni kasutamine INNER JOIN asemel mõjutab lause täitmisplaani valikut ja seega ka lause täitmise kiirust? (2) Sõltub päringust ja andmebaasisüsteemist.Katsetasin Oracles (12.1) ja PostgreSQL (14) põhjal, mis olid samas serverarvutis. Katsetamisel kasutatud andmebaas ja andmed olid ühesugused.Vähemalt konkreetsete süsteemide ja katseta... tabeli elimineerimise teisendusPostgreSQLOracletöökiirusjõudlusvälisühendamineühendamisoperatsioonpäringutöötlustäitmisplaanPostgreSQLOracleJOINjõudlusoptimeeriminevälisühendaminesisemine ühendamine 03.12.2022 14:03:46 | Erki Eessaar
Mis vahe on tabelite ühendamisel (join) ja ühendi leidmisel (union)? Ühendamine (join) on selleks, et saada tabelist loetud ritta juurde uusi andmeid (enamasti mõnest teisest tabelist, ehki ka tabeli ühendamine iseendaga - self-join - on võimalik). Näiteks oletame, et andmebaasis on järgm... tabelite ühendamineJOINUNIONhulkade teooriaSQL süntakspäringudandmete kombineerimine 01.06.2022 00:00:00 | Erki Eessaar
Juhul kui välisühendamist ei ole lause õige tulemuse saavutamiseks vaja, siis kas OUTER JOIN operatsiooni kasutamine INNER JOIN asemel mõjutab lause täitmisplaani valikut ja seega ka lause täitmise kiirust? Sõltub päringust ja andmebaasisüsteemist.Katsetasin Oracles (12.1) ja PostgreSQL (14) põhjal, mis olid samas serverarvutis. Katsetamisel kasutatud andmebaas ja andmed olid ühesugused.Oletame, et andmebaasis on järgnevale konts... tabeli elimineerimise teisendusPostgreSQLOracletöökiirusjõudlusvälisühendamineühendamisoperatsioonpäringutöötlustäitmisplaanPostgreSQLOracleJOINjõudlusoptimeeriminevälisühendaminesisemine ühendamine 01.06.2022 00:00:00 | Erki Eessaar
Kuidas salvestada PostgreSQL andmebaasis tabelite muudatuste ajalugu? Lahendus peaks olema üldine, mitte ühe konkreetse tabeli spetsiifiline. Kas siin artiklis toodud lahendus on mõistlik? https://www.cybertec-postgresql.com/en/tracking-changes-in-postgresql/ Andmebaasi kasutamise (sh andmemuudatuste jälgimist) nimetatakse auditeerimiseks (auditing). Andmebaasisüsteemid pakuvad sageli selleks erinevaid sisseehitatud võimalusi kuid kui neid ei ole või need pole sellised nagu vaja, siis trigerid on... PostgresPostgreSQLauditeerimineajalugutrigerJSONBlogimine 01.06.2022 00:00:00 | Erki Eessaar
Kas Oracle SQL Developer vahendi abil on võimalik töötada PostgreSQL andmebaasiga? Jah on (vt seda artiklit ja allpool kasutamise juhendit).Oracl... Oracle SQL DeveloperPostgreSQLJDBC draiverühendaminetöövahendidmigreerimineseadistamine 01.06.2022 00:00:00 | Erki Eessaar