Andmebaaside ajaveeb

Mõtteid andmebaasidest, andmebaasisüsteemidest ja nende kavandamisest

Kas Oracles saab defineerida vaadetele kitsendusi?

Jah saab. Esiteks saab vaadetele lisada WITH CHECK OPTION (andmemuudatus vaate kaudu peab rahuldama vaate alampäringu tingimusi) ja WITH READ ONLY (vaade on ainult lugemiseks, st kirjutuskaitsega) kitsendused. Neid kitsendusi jõustatakse ...


Kuidas realiseerida see, et põhiobjekti X (nt Auto või Kaup) eksemplari andmete muutmine on võimalik vaid siis, kus see eksemplar on mingis kindlas seisundis?

Kui loote rutiini X andmete muutmiseks, siis kirjutage see kontroll sisse rutiinis sisalduvatesse lausetesse. Näiteks oletame, et kauba andmeid saab muuta (v.a. seisundi muutmine) vaid siis, kui muudetav kaup on seisundis ootel või mitteaktiivne. Ole...


Milliste andmeaida või andmevaka tabelite veergude puhul tasuks Oracles luua bitmap indekseid?

Iga erineva veerus oleva väärtuse kohta luuakse indeksis eraldi bitivektor. Seega, mida vähem on veerus erinevaid väärtuseid (teiste sõnadega, mida väiksem on erinevate väärtuste koguarvu protsent ridade koguarvust), seda vähem tuleb luua erinevaid b...


Loon PostgreSQLis uue andmebaasi, kuid selles on kellegi teise loodud tabelid, domeenid või muud andmebaasiobjektid? Miks see nii on ja mida teha?

PostgreSQLis luuakse uus andmebaas tehes koopia mallandmebaasist (template1). Üli...


Kui muuta PostgreSQL tabeli FILLFACTOR omaduse väärtust, siis kuidas see mõjutab olemasolevaid tabeli plokke?

FILLFACTOR parameetri väärtus määrab kui palju jäetakse tabeli plokkidesse vaba ruumi,...


Kas PostgreSQLi DATE ja TIMESTAMP tüüpi veergude kitsenduste puhul tuleb arvestada spetsiaalväärtusega 'infinity'?

Jah, mõnikord tuleb. Toon näite.PostgreSQLi DATE ja TIMESTAMP tüüpidesse kuuluvad spetsiaalväärtused 'infinity' (suurem kui kõik ülejäänud DATE/TIMESTAMP väärtused) ja '-infinity' (väiksem kui kõik ülejää...


Kuidas saab PostgreSQLis ühe lausega lisada tabelisse puuduvad read ja uuendada olemasolevaid ridu?

Sellist operatsiooni tuntakse ka nime all upsert (kombinatsioon INSERT ja UPDATE operatsiooniks).Selle realiseerimiseks saab PostgreSQLis kasutada INSERT ... ON CONFLICT lauset. Alates PostgreSQL 15 saab selleks kasutada ka


Kui pikad võivad olla isikunimed ja millist väljapikkust kasutada isikunimede puhul andmebaasis?

Erinevates kultuurides on isikunimedel erinevaid komponente (lugege selle kohta lõputööst). Levinud lahenduseks andmeb...


Miks on PostgreSQLis kasulik kasutada DATE ja TIMESTAMP tüüpidesse kuuluvat spetsiaalväärtust 'infinity'?

PostgreSQLi DATE ja TIMESTAMP tüüpidesse kuuluvad spetsiaalväärtused 'infinity' (suurem kui kõik ülejäänud DATE/TIMESTAMP väärtused) ja '-infinity' (väiksem kui kõik ülejäänud DATE/TIMESTAMP väärtused).Ne...


Kas olemasolevates "päriselu" SQL-andmebaasides jõustatakse välisvõtme kitsendusi?

Mitte nii palju kui peaks.B. Karwini SQL-andmebaasi disaini antimustrite raamatu peatükis 5 (Keyle...