Mis vahe on identifitseerival ja mitteidentifitseerival seosel tabelite vahel? Identifitseeriv seos tähendab, et lapsolemi identiteet sõltub täielikult vanemast. Kui vanemat pole, ei saa laps üldse eksisteerida, sest see on oma olemuselt vanema "osa". Näiteks tellimuse rida pole mõeldav ilma konkreetse tellimuseta, ... identifitseeriv seosmitteidentifitseeriv seosvälisvõtieksistentsiaalne sõltuvusnõrk olemitüüpON DELETE CASCADEandmebaasi disain 15.04.2024 17:12:59 | Erki Eessaar
Kas korduste eemaldamine IN/NOT IN alampäringus muudab lause täitmise kiiremaks või mitte? Sõltub andmebaasisüsteemist. Näiteks PostgreSQLis on sellel suur mõju, MySQLis ei ole mõju. PostgreSQLis aeglustab korduste eemaldamine alampäringus IN päringu täitmist kolm korda kuid muudab NOT IN päringu täitmise absurdselt palju kiiremaks... optimeerimineIN operaatorNOT IN operaatoralampäringDISTINCTPostgreSQLpäringu plaan 14.04.2024 15:56:09 | Erki Eessaar
Kas otsingutingimus x<1 AND x>10 saab olla täidetud, st kas sellise otsingutingimusega päringu tulemuses saab olla ridu? Ei saa.AND tähendab, et mõlemad alamtingimused peavad olema täidetud - vaadake AND operatsiooni tõeväärtustabelit. Ol... loogikaavaldisedAND operaatorSQL tingimusedtühi hulkloogikaveadpäringu tulemustõeväärtustabel 07.04.2024 09:24:22 | 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:48 | Erki Eessaar
Kuidas töötavad SQLis tingimused IN ja NOT IN? Oletame, et meil on sellise kontseptuaalse struktuuriga andmebaas:[Hotell]-1------------0..*-[Reserveerimine]Ülesanne: Leia reserveerimised, mis on tehtud Tallinna linnas olevas hotellis. IN operaatorNOT IN operaatorNULL väärtusalampäringkolmene loogikaSQL tingimusedhulgad 06.04.2024 11:06:21 | Erki Eessaar
Kuidas teistes andmebaasisüsteemides realiseerida PostgreSQLi FILTER predikaati, mida saab kasutada koos kokkuvõttefunktsiooniga? PostgreSQLis saab kokkuvõttefunktsioonidega (nt Count, Min, Max, Sum, Avg) koos kasutada FILTER klaus... FILTER klauselkokkuvõttefunktsioonidPostgreSQLMS AccessCASE avaldistingimuslik loendamineiif 01.04.2024 14:37:16 | 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:54 | Erki Eessaar
Kuidas kasutada õigesti TOP (MS Access) ja FETCH FIRST n ROWS WITH TIES (PostgreSQL) predikaate väärtuste jadas kohal x olevate väärtuste leidmiseks? TOP n - saab kasutada MS Accessis (samaväärset TOP ... WITH TIES saab kasutada MS SQL Serveris). SQL-standard ei kirjelda. LIMIT n - Saab kasutada nt PostgreSQLis (ja ka nt LibreOffice Ba... TOP nLIMITFETCH FIRSTWITH TIESjärjestaminepingereadalampäring 28.03.2024 11:30:59 | Erki Eessaar
Kuidas konkateneerida MS Accessis, PostgreSQLis ja LibreOffice Baseis tekstilisi väärtuseid, kui üks väärtus puudub (on NULL)? Oletame, et andmebaasis on tabel, kuhu on lisatud kaks rida andmeid. Ühel isikul perenimi puudub (on NULL).CREATE TABLE Isik(isik_id INTEGER,eesnimi VARCHAR(50) NOT NULL,perenimi VARCHAR(50), stringide liitminekonkatenatsioonNULL väärtusCoalesceMS AccessPostgreSQLConcat 23.03.2024 16:53:47 | 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:42 | Erki Eessaar