Andmebaaside ajaveeb

Mõtteid andmebaasidest, andmebaasisüsteemidest ja nende kavandamisest

Kuidas SQLite korral realiseerida klassifikaatorite tabeleid, kus on kood ja nimetus? Koodi peaks sisestama inimkasutaja, mitte genereerima süsteem.

Katsetasin seda koodi DB Fiddle keskkonnas. CREATE TABLE Tellimuse_seisundi_liik (tellimuse_seisundi_liik_kood INTEGER NOT NULL,...


Kuidas saavad suured keelemudelid (LLM) hakkama SQL koodi kontrollimisega reeglite suhtes?

Tegin katsetuse 11.03.2025.Kontrollisin hulka tabelite loomise lauseid (MS Accessi SQL murdes) 37 erinevat tüüpi üldise (st mitte Accessi-spetsiifilise) vea suhtes. Keelemudelile esitatud küsimus moodustus prompt + laused.Kontrollit...


Kuidas tagada andmebaasioperatsiooni realiseerivas rutiinis, et operatsiooni järeltingimused saavutatakse vaid siis, kui kõik eeltingimused on täidetud?

Lepingprojekteerimise (design by contract) kohaselt kirjeldatakse tarkvaraelement kasutades eeltingimusi, järeltingimus...


Mis on programm pgbench ja kuidas seda kasutada PostgreSQLis toimuvate andmebaasioperatsioonide jõudluse uurimiseks?

Tegemist on utiliidiga (kindla ülesandega programmiga), mis installeeritakse serverisse koos PostgreSQLi andmebaasisüsteemiga. Seda saab kasutada selleks, et hinnata erinevate disainivalikute või keskkonna juhtparameetrite mõju andmebaasioperatsiooni...


Kuidas muuta PostgreSQLis veeru andmetüüpi?

Oletame, et meil on andmebaas kontseptuaalse struktuuriga:[Auto_seisundi_liik]-1-------------0..*-[Auto]Tabelis Auto ja Auto_seisundi_liik on veerg auto_seisundi_liik_kood tüüpi INTEGER, kuid peaks o...


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


Mis vahe on identifitseerival ja mitteidentifitseerival seosel tabelite vahel?

Identifitseeriv seos tähendab, et vanemtabeli reas olev võtmeväärtus aitab identifitseerida lapstabelis olevat rida. Seetõttu on vanemtabeli võti, mis on lapstabelis välisvõtmeks, osaks lapstabeli võtmest. Teiste sõnadega, lapsel pole oma identi...


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.


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


Kas Count(1) ridade arvu loendamiseks on kiirem kui Count(*)?

Oletame, et SQL-andmebaasis on tabel:Isik(isikukood, perenimi)Primaarvõti (isikukood)LauseSELECT Count(*) AS arvFROM Isik;leiab tabelis Isik olevate ridade...