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


Millised on soovitused kasutusjuhtude mudeli nullist loomiseks?


Mis probleem on (PostgreSQL näitel) veeru deklaratsiooniga: registr_aeg TIMESTAMP NOT NULL DEFAULT LOCALTIMESTAMP(0)

SELECT LOCALTIMESTAMP;   Tagastab hetke kuupäeva, kellaaja ja sekundi murdosad kuue koha täpsusega.   Funktsiooni väljakutses saab määrata, kui täpselt või kas üldse sekundi murdosasid...


Kuidas jõustada MS Accessi ja PostgreSQL andmebaasis piirangut, et väärtus ei tohi olla tühi string, tühikutest koosnev string, tühimärkidest koosnev string?

Tühi string, tühikutest koosnev string ja tühimärkidest koosnev string on kõik tekstilised väärtused ning selliseid piiranguid võib olla vaja jõustada tekstiliste veergude põhjal.Need ei ole sama mis NULL. NULL on spetsiaalne tähis, mis o...


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


Kuidas eemaldada SQL lauses stingi e sõne ümbert sulud, kui string peaks olema sulgudes?

Andmebaasisüsteemid PostgreSQL ja Oracle pakuvad funktsiooni regexp_replace, mis võimaldab asendada stringis alamstringi, kasutades sealjuures regulaaravaldisi. Lause katsetamiseks saab kasutada


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 kustutada korraga mitu tabeliga seotud kitsendust?

See on hea näide, kuidas SQLi dialekt e mägimurrak erineb erinevates andmebaasisüsteemides detailide poolest. Järgnev katsetus tehti keskkondades DB Fi...


Kas saate tuua näite sellest, kuidas ebaotstarbekas SQL ülesande lahendus mõjutab vastuse saamise kiirust?

Olgu meil PostgreSQL andmebaas järgmise kontseptuaalse struktuuriga:[Facility]-1---------------0...*-[Health_care_visit] Facility - 50_000 ridaHealth_care_visit - 1_000_000 rida.Järgnevad ka...


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