Andmebaaside ajaveeb

Mõtteid andmebaasidest, andmebaasisüsteemidest ja nende kavandamisest

Kas CHECK kitsendustes saab kasutada mittedeterministlikke funktsioone?

Deterministlik funktsioon tagastab samade argumentidega  (sisendandmetega) alati samasuguse väärtuse. Mittedeterministlik funktsioon võib tagastada samade argumentidega erinevatel ajahetkedel erineva tulemuse. Mittedeterministlikud funktsioonid on nä...


Kuidas on seotud andmebaasid ja tehisaru (AI)?

Andmebaasisüteemid on seotud tehisaruga erinevates aspektides. Treeningandmed võivad tulla andmebaasist. Mingisugune osa tehisaru süsteemidest saab olla realiseeritud andmebaasisüsteemi vahendeid kasutades – mitte andm...


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...


Kas ja millised probleemid võivad tekkida andmebaasirakenduse tegemisel kasutades mõnda ORM (Object-Relational Mappers, objekt-relatsioonvastenduse) vahendit?

SIIN (Sulaoja, K.M., Saarep, A. Cognate kasutajamugavuse parandamine ja arendustöö lihtsustamine) on 2024. aasta bakal...


Miks mõnikord peab koos kokkuvõttefunktsiooni kasutamisega kasutama GROUP BY klauslit ja mõnikord ei pea?

Järgnevad koodinäited põhinevad enamasti MS Accessil, kuid kirjeldatud põhimõtted kehtivad SQLis üldiselt.Oletame, et ülesandeks on leida iga aasta kohta, millal on alanud mõni reserveerimine, sellel aastal alanud reserveerimiste arv.


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...


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...


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...


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),


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...