Andmebaaside ajaveeb

Mõtteid andmebaasidest, andmebaasisüsteemidest ja nende kavandamisest

Kuidas teha nii, et Enterprise Architect 12 vahendis ei genereeritaks MS Accessi andmebaasi disaini mudeli põhjal koodi, mida peab käsitsi parandama?

Tuleb muuta malle (template), mille põhjal koodi genereeritakse. Malle tuleb muuta eraldi iga faili puhul, milles olevast mudelist soovitakse koodi genereerida.Järgnevad probleemid esinevad nii EA12-ga kui ka EA16-ga vaikimisi kaasa tu...


Kuidas kiirendada PostgreSQLis päringuid, kus päringu tingimuses kontrollitakse stringi vastavust mustrile (nt leia isikud, kelle perenimi algab M tähega)?

Looge tekstilisele veerule indeks ja kasutage selle puhul operaatori klassi, mis pole vaikimisi klass. TEXT tüüpi veeru korral kas...


Millised on kontrollpäringute süsteemile sarnased süsteemid?

Kontrollpäringute süsteem võimaldab andmebaasides sarnast analüüsi kui rakendustes programmid SonarQube ja


Kuidas saaks katsetada Oracle andmebaasisüsteemi uuemaid võimalusi, mida ülikooli serveris olev andmebaasisüsteemi versioon ei paku?

Oracle pakub katsetamiseks Oracle 23ai põlvkonna andmebaasisüsteemi - Oracle 23ai Free. Selle saab tööle panna Dockeri konteineris, kuid veel lihtsam on ...


Kas uuema ühendamise süntaksi korral võib WHERE klauslis olevad lisapiirangud kirjutada FROM klauslis ühendamise tingimusse?

Vaatlen näitena andmebaasi, millel on kontseptuaalne struktuur: [Dept]-0..1-----------0..*-[Emp]SIIN on Postgr...


Millest alustada, kui sooviks õppida (PostgreSQLis) päringute optimeerimist?

Minu arvates võiks alustada sellest, et õppida kirjutama mitte-ebaefektiivseid päringuid (lihtsustamata tingimused, üleliigsete tabelite lugemine, samade andmete mitmekordne lugemine jne)....


Kas ühes ja samas SQL päringus võib segamini kasutada vanemat ja uuemat ühendamise süntaksi?

Jah, see on tehniliselt võimalik. Kuid see ei ole soovitav, sest halvendab koodi loetavust.Halvem.SELECT Tudeng.tudkood, Tudeng.perenimi, Oppimine.oppim_algus, Oppimine.oppim_lopp, Aine.aine_kood, Aine.nimetus...


Igal isikul on null või rohkem meiliaadressi. Võib juhtuda, et mitu isikut jagavad ühte ja sama meiliaadressi. Kas selliste andmete hoidmiseks peaks tegema kokku kolm tabelit: meiliaadresside tabeli, isikute tabeli ja meiliaadresside ja isikute vahelist M:N seost esitava vahetabeli?

Ma arvan, et ei peaks.Kui andmebaasis oleksid tabelid:Isik (isik_id, ...)Primaarvõti (isik_id)E_meil (e_meil_id, e_meil)Primaarvõti (e_meil_id)Alternatiivvõti (e_meil)Isiku_meiliaadres...


Kui tabelis Riik on (nimetus) alternatiivvõti, siis miks ei piisa selle jõustamiseks UNIQUE kitsendusest? Miks on vaja veerule nimetus ka NOT NULL kitsendust?

Hästi kavandatud tabelis peaks olema üks või rohkem kandidaatvõtit. Kandidaatvõtme väärtus + kandidaatvõtme veergude nimed + tabeli nimi on loogiline aadress, mille järgi andmebaasist tabeli rida üles leida. Kui aadressi pole või see on väärtuste puu...


Miks ei ole hea mõte kasutada kõikides tabelites surrogaatvõtit?

Surrogaatvõti on lihtvõti, mille väärtused on süsteemi genereeritud unikaalsed täisarvud. Need väärtused on kasutusel tarkvara siseselt ridade identifitseerimiseks, kuid andmebaasi kasutavatele inimestele ei tähenda need väärtused mi...