2.4.1 Mudeli paindlikkus, skaleeruvus ning liiasuste puudumine

iDevice ikoon 2.4.1 Mudeli paindlikkus, skaleeruvus ning liiasuste puudumine

Parim mudel, või vähemalt kõige edukam/levinum, on relatsiooniline, millises kirjed on asendatud ridadega, grupeeritud tabelitesse, millised omavahel on seotud ridade sisu osadega ridades endis. See, mida kutsutakse olemiks ER mudelis on rida relatsioonilises mudelis ja tabel relatsioonilises tabelis vastab olemite hulgale (grupile) ER mudelis. Relatsioonilise mudeli veerud vastavad ER mudeli atribuutidele. Terminit seos (suhe) kasutatakse mõlema mudeli puhul näitamaks, kuidas olemid/read ja/või olemite grupid/tabelid on omavahel seotud. Ka suhete loomise viis on sarnane, kuna kasutatakse atribuute/veerge nagu tavaliselt kahe tabeli puhul.

Identifikaatoreid defineeritakse nii rea üheseks identifitseerimiseks tabelis, kui ka otsingute kiirendamiseks. Indeks on sarnane ER mudeli võtmele, kuna unikaalsed identifikaatorid (tunnus) on võrdväärsed kandidaatvõtmega. Võivad olemas olla ka mitteunikaalsed tunnused ja nendel pole vastet ER mudelis, kus neid ei kasutata (pole olemas). Mitteunikaalsed tunnused tulenevad mitte sisu kaalutlustest vaid pigem jõudluse kaalutlustest, mis peaksid teoreetiliselt piirduma füüsilise tasandi teostamisega, kuid neid saab efektiivselt defineerida ainult andmete loogilist struktuuri teades.

Enne relatsioonmudeli uurimist on kasulik kokku võtta erinevad liigitused. On kaks relatsiooniliste andmebaasidega seotud fundamentaalset aspekti (põhiseisukohta): formaalne teooria ja mitmesugused praktilised rakendused.

Kuigi need kaks aspekti langevad kokku, lahknevad nad liigituselt nagu on näidatud järgnevas tabelis:

E/R Mudel

Formaalne teooria

Praktiline rakendus

Olemite hulk

Suhe (!)

Tabel

Olem

Korteež (Tuple)

Rida (kirje)

Attribuut

Attribuut

Veerg (väli)

 

Kandidaatvõti

Unikaalne indeks

Haldusala (Domain)

Lubatav väärtus

Relatsiooniline andmebaas koosneb tabelitest, millistest igaüks esindab "subjektide" rühmaga seotud informatsiooni, näiteks firma klient (ostja). Tabel koosneb ridadest, millistest igaüks sisaldab informatsiooni, mis on seoses täpselt defineeritud subjektiga, näiteks konkreetne ostja. Tabel koosneb ka veergudest, mis esindavad mitmesugust ühetüübilist informatsiooni (ärinimi , rahaline kood, ...) subjektide kohta. Unikaalnet indeksit (samuti tuntud, kui primaarvõti ehk esmane võti) kasutatakse spetsiifiline rea eristamiseks tabeli sees. Kaks tabelit võivad olla teineteisega seotud mõlemas tabelis eksisteerivate sama sisuga veergude kaudu, näiteks tabel "ostja" ja "arve" võivad omada suhet läbi veeru, mis sisaldab ostja koodi, kuna need andmed on olemas mõlemas tabelis.

Hästi projekteeritud relatsioonilisel andmebaasil on rida olulisi ja kasulikke tunnuseid:

  • Puudub andmete liiasus. See tähendab, et andmebaasis olemasolevaid andmeid ei saa tuletada sama andmebaasi muude andmete ühendamise või kombineerimise teel. Liiasuse näiteks on veerud või read korduvate andmetega. On mitmesuguseid tehnikaid ja samme liiasuse kaotamiseks ja neid vaadeldakse lähemalt "normaalkujude" lõigus. Ilmselgelt võivad eksisteerida soovitud või vajalikud dubleerimised, aga need on seotud andmebaasi varundamise või RAID-süsteemis salvestamisega. Selline dubleerimine ei puuduta loogilist taset vaid sõltumata sellest, kuidas see on tekitatud, on see seotud füüsilise tasandiga.
  • Vähendatud dubleerimine. Teatud dubleerimise tase on vajalik suhete ehk seoste loomiseks. Heaks näiteks on ostja koodi veeru olemasolu tabelis nagu ülaltoodud näites: see on olemas nii ostjate tabelis, eristamaks üht rida teisest kui ka arvete tabelis, osutamaks millisele ostjale iga arve on esitatud.
  • Viiteline terviklus. Peab olema võimatu kustutada informatsiooni, mis on vajalik teise informatsiooni kvalifitseerimiseks. Kasutades jälle eelmist näidet viiteline terviklus väldib ostja kustutamist, kellele arve on välja kirjutatud, vältimaks arveid olematutele ostjatele. Viiteline terviklus võib töötada ka pööratud viisil, tühistades kõik arved konkreetsele ostjale, kui ostja ennast on tühistanud (tavaliselt kirjeldatud juhtum ei ole teostatav olemasoleva seaduse tõttu, mis keelab aruandluse andmete tühistamise).
Andmete uuringu suur kiirus, mis saadakse indeksite defineerimisega. Mitte ainult unikaalne indeks (või unikaalne võti) pole kasulik otsingute kiiruse suurendamiseks, vaid ka mitteunikaalne indeks on kasulik kiirendamaks otsinguid. Mitteunikaalse indeksi näiteks on indeks, mis on loodud näiteks firma juhataja perekonnanime abil: see ei ole unikaalne kuna erinevad juhatajad võivad omada sama perekonnanime. Vaatamata sellele lubab see indeks firma andmete kiiret leidmist, kui ainult juhataja perekonnanimi on teada.