Andmebaaside ajaveeb

Mõtteid andmebaasidest, andmebaasisüsteemidest ja nende kavandamisest

Kas oleks võimalik saada iseseisvaks harjutamiseks mõeldud SQL ülesandeid?

Kõigepealt on palju selliseid ülesandeid SQL Lahendaja keskkonnas. Mõned ülesanded on seal sellised, mis annavad punkte SQL põhitööle, kuid p...


Kui tekstilist väärtust hoidev väli või olla ka tühi, kas parem on lubada NULL väärtust või tühja stringi? Kas võib olla põhjust lubada ka mõlemat?

Tabeli väljast võivad väärtused puududa erinevatel põhjustel. Näiteks väärtus ei ole veel andmete sisestajateni jõudnud või sellist väärtust kunagi ei tekigi.  Üheks põhjenduseks, miks lubada tekstilises veerus NULLi ja tühja stringi oleks see, et ne...


Meil on küsimus aadressi kohta. Kuidas on parem viis pakiautomaadi (kaupluse/kino/treeningsaali/...) aadressi andmebaasis salvestada? Me nägime, et Omniva lehel näidatakse seda niimoodi: "Ida-Viru maakond, Kohtla-Järve linn, Ahtme linnaosa, Maleva tn, 23". Tundub, et iga koma vahel on eraldi veerg, kuhu kirjutatakse andmed ja veerude nimed oleksid "asukoht_maakond, asukoht_linn, asukoht_linnaosa, asukoht_tänav, asukoht_tänava_nr". Kas me kasutame selle viisi, või saame parema loetavuse jaoks lihtsalt salvestada kogu stringi ühe veergu nimega "asukoht"?

Aadressiandmetel on keeruline struktuur ja palju erinevaid võimalikke komponente (riik, maakond, linn, vald, küla, talu, linnaosa, tänav, korter, hooneosa, ...). Erinevates riikides on võimalike komponentide hulk erinev. Kui ülesanne oleks pakkuda ka...


Milliseid täiendusi tuleb arenduse tulemites (mudelid, andmebaas+rakendus) teha, kui tekivad uued nõuded, mida rakendus peab realiseerima?

Süsteemiarenduse tulemid (artefaktid) on omavahel läbipõimunud. Muutes ühte, on vaja muuta ka paljusid teisi. Toon näite. Vastuvõtuaegade süsteemis lisandus nõue, et vastuvõtt võib toimuda Interneti vahendusel, st mitte enam kindlas ruumi...


Millised on erinevad tabelite võtmete tüübid ja kuidas need on omavahel seotud?

Supervõtmel peab olema: - unikaalsuse omadus.   Kandidaatvõtmel peab olema: - unikaalsuse omadus JA - mitteliiasuse omadus. Mitteliiasus tähendab, et sealt ei saa enam ühtegi veer...


Otsin omale põnevat lugemist andmebaaside (pigem relatsiooniliste, aga miks mitte ka teiste) antimustrite kohta. Mäletan Teiega andmebaaside kursust läbides, et erinevate materjalide nimed käisid läbi, aga mõtlesin küsida soovitust otse allikast. Mida võiks lugeda? Soovitatavalt võiks materjal olla inglise keeles (saaks jagada ka mitte-eestlastega), aga endale huvi pärast lugemiseks oleks eestikeelne materjal ka väga kasulik. Soovitused on teretulnud nii veebilinkide, dokumentide kui raamatusoovituste kujul.

Antimuster klassikalises mõttes on struktuurse kirjutamise viis, kus lisaks probleemile ja selle halvale lahendusele tuuakse välja ka see, kuidas seda probleemi paremal viisil lahendada ning ka see, millisel juhul võib halb lahendus osutuda välj...


Mis on (lihtsalt selgitades) normaliseerimine ja normaalkujud?

Normaliseerimine on nagu mäetipp, mille otsas on auhind. Auhinnaks on see, et andmete liiasust (mis aeglustab ja muudab keerukamaks andmete muutmist) on andmebaasis vähem kui mäe jalamil (aga seda ikkagi on - see pole midagi, millest ühe tipu valluta...


Miks suurte IT-süsteemide arendamine pahatihti ebaõnnestub?

2019. aasta sügisel avaldas riigikontroll


Märkasin et te kirjutate SQL muutujaid eesti keeles, näiteks "nimi VARCHAR(10)". Arvestades et kõik ettevõtted ning arendajad kirjutavad tänapäeval muutujaid ja koodi inglisekeelselt, kas ma võin ka praktikaülesannetes ning iseseisvas töös kasutada inglise keelt?

Kui Te mõtlete iseseisvat tööd, siis loomulikult võite koodis kasutada ingliskeelseid nimesid. Töö tegemisel tuleb juurde lisasamm, kus kontseptuaalsest andmemudelist genereeritud tabelite kirjelduses tuleb nimed tõlkida. Mis puudutab praktikaüle...


Milliseid allikaid soovitate UMLiga tutvumiseks või selle kohta teadmiste värskendamiseks lugeda?

Ma olen ka koostanud ühe eestikeelse konspekti, mida huvilised saavad lugeda lisamaterjalide lehelt (kasutajanimi: SIS2 ja parool: SIS2)