Andmebaaside ajaveeb

Mõtteid andmebaasidest, andmebaasisüsteemidest ja nende kavandamisest

Milliseid andmebaaside kursustes käsitletud teemasid puudutavaid järeldusi saab teha 2017. aasta suvel nurjunuks kuulutatud pensionide ja sotsiaaltoetuste maksmise infosüsteemi uue versiooni SKAIS2 arendusprojekti alusel?

Väga sageli ei tea süsteemi tulevased kasutajad ja selle arenduse eest maksjad (ei pruugi olla üks ja sama isikute ring), milline täpselt peaks uus süsteem olema. Tulemuseks võivad olla lepingud, mida on ebareaalne täita. Sõltub tellija poo...


Kas isiku rollide omamise registreerimise võiks realiseerida nii, et luua loendustüüp rollide nimedega ning kasutajate tabelis luua veerg, mille väärtuseks on seda loendustüüpi väärtuste massiiv?

See on võimalik, aga ma ei soovita. Soovitan rollide jaoks luua eraldi klassifikaatori tabeli ja luua eraldi tabeli rollide omamiste kohta.CREATE TYPE t_roll AS ENUM('juhataja','administraator','tavakasutaja');


Kas PostgreSQLi loendustüüpi võiks kasutada väga harva muutuvate klassifikaatorite (näiteks seisundite liigid) realiseerimiseks?

See on võimalik, aga ma ei soovita. Soovitan nende asemel luua ja kasutada klassifikaatorite tabeleid.CREATE TYPE t_tellimuse_seisundi_liik AS ENUM('loodud','kinnitatud','tühistatud','täidetud');CREATE TABLE...


Kuidas saaks vaadata olemasoleva PostgreSQL andmebaasi tabelite kirjeldust diagrammina?

Kui Teil on andmete modelleerimise CASE vahend, siis see võib toetada pöördprojekteerimist (reverse engineering) olemasolevast andmebaasist.Leidub ka eraldi andmebaaside haldusvahendeid, mis sellist funktsionaalsust pakuvad. Tõst...


Kas oleks otstarbekas siduda domeeniga mingi veeru omadus ja lisada sellele täiendav tabelipõhine piirang? Näiteks andmetüüp, NOT NULL ja tühikutest koosnemise piirang tulev domeeni poolt ja tabelis lisan täiendava piirangu pikkusele.

Tehniliselt oleks see võimalik. Ma mõtlen, et hallatavuse mõttes pole see kõige parem, sest pakutud juhul tuleb veerule rakenduvaid CHECK kitsendusi otsida (ja vajadusel muuta kahes kohas) - domeenis ja otse tabeli veeru küljes.


Käivitan läbi psqli PostgreSQL andmebaasis CREATE TABLE lauseid. Saan ühe lause peale veateate:

ERROR: syntax error at or near "CONSTRAINT" LINE 29: SET CONSTRAINT FK_Isik_Riik FOREIGN KEY (isikukoodi_riik) RE...

Samas selles lauses ei ole SET CONSTRAINT fraasi. Milles on viga ja kuidas seda parandada?

Vea põhjus on CREATE TABLE lauses olevas tabeldusmärgis. See probleem esines kuni PostgreSQL 14 (kaasa arvatud). PostgreSQL 15 see probleem lahendati. Näiteks saan sellise veateate, kui käivitan lause tabeli C loomiseks (ko...


PostgreSQLis saab luua/kasutada veergudeta (null veeruga) tabeleid. Miks ma peaksin tahtma sellist tabelit luua/kasutada?

PostgreSQLis saan luua baastabeli, kus on null veergu (aste on null) ja lisada sinna null või rohkem rida (tabeli võimsus on null või rohkem). CREATE TABLE on_avatud(); INSERT INTO on_avatud DE...


PostgreSQLis NULL || tekstiline väärtus = NULL. Kuidas luua PostgreSQLis sarnane operaator MS Accessi stringide konkatenatsiooni operaatorile &, mille korral NULL & tekstiline väärtus = tekstiline väärtus?

Järgneva koodi võite käivitada oma andmebaasis ja see loob operaatori & mis käitub nii: NULL & tekstiline väärus = tekstiline väärtus NULL & NULL = tühi string CREATE FUNC...


Ühes õppematerjalis on öeldud "Objekt-relatsiooniliste andmebaasisüsteemide loomine tuleneb lõppkokkuvõttes sellest, et tänapäeva SQL-andmebaasisüsteemid ei realiseeri täies ulatuses relatsioonilist mudelit ja see tekitab probleeme." Millist osa relatsioonilisest mudelist SQL andmebaasisüsteemid ei realiseeri? Miks nõnda?

Põhinemine hulkade asemel multihulkadel (korduvad read ja veerud on lubatud),tühjade võtmete ja ilma veergudeta tabelite mitte lubamine (kuigi ka tühi hulk on hulk),NULLide kasutamine puuduvate andmete esitamiseks, liigsete piirangu...


Kuidas Mauruse otsing täpsemalt töötab? Millist tuge pakkus selle realiseerimiseks andmebaasisüsteem, mida Maurus kasutab?

Mauruse kasutajad soovisid sageli, et seal oleks otsingu funktsionaalsus. Lisasin Maurusesse selle funktsionaalsuse. Otsing on võimalik kodulehe piires. Leiate võimaluse seda teha iga aine kodulehe paremast ülaservast. Otsing toimub üle a...