Kuidas leida andmebaasist andmeid, mida seal justkui ei ole? Näiteks on andmebaasis andmed külaliste ja nende hotellide reserveerimiste kohta ja pean leidma külalised, kes EI OLE, 2014. aastal ühegi reserveerimist alustanud. Andmebaasi kontseptuaalne struktuur on antud juhul järgmine.[Külaline]-1----------------0..*-[Reserveerimine] Võimalik ülesande lahendus on selline. puuduvad andmedNOT INalampäringSQL strateegiaandmete otsiminehulgadvälistamine 01.06.2022 00:00:00 | 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
Käivitan MS Accessis päringu (query), mis ei ole SELECT lause. Tulemuseks on teade: Päringul peab olema vähemalt üks sihtväli/Query must have at least one destination field. Mida ma teen valesti? Te olete avanud ekraanil päringu (query) ning käivitamiseks teete topeltklõpsu selle päringu ikoonil Accessi objektide nimekirjas (vt lisatud pilti). Selle peale arvab MS Access, et tahate käivitada SELECT lauset ja tulemuseks on nimetatud v... MS Accessveateadepäringkujundusvaadekäivitamine 01.06.2022 00:00:00 | Erki Eessaar
Töökiiruse tõstmiseks ei kirjuta andmebaasisüsteemid andmemuudatusi kohe kettale, küll aga kirjutavad kohe kettale andmemuudatuse kohta käiva logi. Kuidas see töökiirust tõstab? Logi kirjutamine on ju samuti kõvaketta poole pöördumine. Kirjeldasite, et bloki kettale salvestamisel kustutatakse see muutmälust ära. Seega proovid süsteem salvestamist edasi lükata, kuna blokki võib kohe järgmistes päringutes jälle vaja olla ning oleks hea, kui see oleks muutmälus olemas. Miks mitte blokki kettale kirjutada, kuid jätta see ka muutmällu alles? Logi kirjutamine enne muudatusi sisalduvate plokkide (räpaste plokkide) kettale kirjutamist pakub paindlikust, sest andmebaasisüsteem saab nende plokkide kettale kirjutamist edasi lükata ja valida selleks selleks endale sobivaima aja. Meetodit, kus e... WALjõudluslogiminepuhvermäluACIDkettakirjutaminePostgreSQL 01.06.2022 00:00:00 | Erki Eessaar
Millal kasutada kontseptuaalses andmemudelis kompositsiooniseost (seose ühes otsas on täidetud romb e täidetud teemant)? Kompositsioon tähistab osa-terviku seost, kus osad sõltuvad eksistentsiaalselt tervikust e terviku kadumine/hävimine tähendab ka osade kadumist/hävimist.Romb oleks selle olemitüübi poolel, millesse kuuluva olemi kustutamine tingib seotud olemit... kompositsioonUMLolemi-suhte diagrammosa-tervikeksistentsiaalne sõltuvuskustutamineON DELETE CASCADEmodelleerimine 01.06.2022 00:00:00 | Erki Eessaar
Tooge palun mõni andmebaasisüsteemi poolt tehtava semantilise teisenduse näide?! Andmebaasisüsteemi poolne päringu lihtsustamine tähendab, et andmebaasisüsteem asendab kasutaja poolt ette antud päringu lihtsama, kuid alati samasuguse tulemuse andva päringuga (loogiliselt samaväärse päringuga) ja täidab selle uue päringu. Lih... semantiline teisendusoptimeeriminetabeli elimineerimineOraclePostgreSQLkitsendusedpäringu lihtsustamine 01.06.2022 00:00:00 | Erki Eessaar
Miks kasutab PostgreSQL unikaalsuse kitsenduse jõustamiseks B+ puu (tasakaalustatud puu) indeksit, aga mitte hash (räsiväärtustel põhinevat) indeksit? Võtmeveergudele loob PostgreSQL ja ka teised andmebaasisüsteemid automaatselt B+ puu (B+ tree) indeksi ( räsiväärtusräsiindeksindekseerimineindeksi tüüpPostgreSQLindeksidHash indeksB+ puuunikaalsusjõudlus 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
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