Kodulehed
[384] - Andmebaasid I (ITI0206) (kevad 2023)
Esiletöstetud Kiirvalik
Lisainfo Kõige olulisemate tegevuste kiirvalik. Failide saatmiseks valige Vastamine alt sobiv ülesanne.
Üldist
Materjalid
LisainfoMaterjalide kataloogid
Isiklik
Lisainfo Info ainult Sulle - teised kasutajad seda ei näe
Abi
Lisainfo Võimalus küsida õppejõult abi (nagu foorum, kus saab küsida küsimusi ja kommenteerida vastuseid)
Mitmesugust
Abi / Kasutajatugi / Andmebaasi kavandamise sisulised küsimused

Avalikud küsimused ja vastused:

Küsimuste teemade nimekiri

Erki Eessaar:
Kas saaksite tuua mõne näite valesti valitud väljapikkustest ja selle põhjustatud probleemidest?
Vastus (12.10.2023 11:28): Valed valikud võivad põhjustada kannatusi, segadust, lisatööd ja mainekadu (süsteemi omanikule): https://reisile.postimees.ee/4484884/reisija-pidi-lisatasu-maksma-sest-tema-nimi-ei-mahtunud-lennupiletile. Antud näite korral oli isikunimede registreerimiseks mõeldud tekstiväljades lubatud maksimaalne märkide arv liiga väike.

Andmebaasis võiks veergude eesnimi ja perenimi maksimaalne väljapikkus olla 50 märki. See võimaldaks registreerida ka pikemaid nimesid. Teatavasti on mõned isikunimed väga pikad. Kui arvestada väljapikkuste määramisel selliste nimedega, siis peaks nende veergude väljapikkus MS Accessi andmebaasis olema 255 märki (maksimaalne lubatud väljapikkus VARCHAR tüüpi veergude korral) ning andmebaasisüsteemides PostgreSQL ja Oracle võibolla isegi 1000 märki (sest seal pole 255 märgi piirangut nagu MS Accessis). Leian, et sellised väga suured väljapikkused pole siiski mõistlikud, sest:
  • ülipikkade nimedega inimesi on väga vähe,
  • neil on oma nimest ka lühivorm,
  • liiga suur väljapikkus annaks kliendiks registreerijale võimaluse registreerida kahjulikku sisu nagu ründeskripti,
  • kasutajaliideses tuleb sisestusvälja näidata suuremana kui valdava enamiku nimede puhul on vajalik.
Leian, et oleks vale kasutada kõikide tekstitüüpi veergude puhul järjekindlalt maksimaalset võimalikkus väljapikkust või suurimat väärtust võimaldavat andmetüüpi ilma täiendavate kitsendusteta. Kui näiteks veerg perenimi on PostgreSQLis tüüpi Text ilma kitsenduseta, et maksimaalne väärtus selles veerus võib olla näiteks kuni 50 märki, siis see jätab skeemi lugejale (programmid, inimesed) vale mulje sellesse veergu oodatavatest andmetest.

Rusikareegel: valige iga veeru jaoks selline andmetüüp + täiendavate kitsenduste komplekt, et kõik vajalikud väärtused saaksid sellesse veergu salvestatud, kuid suurim võimalik väärtus oleks võimalikult väike.

Hinda vastust:

Keskmine hinne : Pole veel hinnanguid!