IT juhtimise teabevara

6.2.1. Olemite seosed

Eelmises peatükis kirjeldasime andmeid, olemeid ja erilist võtit. Järgnevalt esitame näite, kuidas saab erilise võtme abil kirjeldada olemite seoseid.

  • Seos üks ühele seose näitel

Lisaks olemile või objektile, milleks on ettevõtja töö­ta­ja, võib-olla veel teisi olemeid. Näiteks ettevõtte bi­lansis olevad autod. Olgu neid lihtsuse mõttes kaks: Ford­ ja Volvo. Tabelis 1 esitatud üheveeruline tabel kir­jeldab ettevõtte autosid.

Tabel 1. Ettevõtte autod

 

Auto nr

1. Volvo

 

2. Ford

 

Kuidas neid andmeid siduda? Kui autol on ainult üks kasutaja ja iga kasutaja kasutab ainult ühte autot, kehtib kasutaja ja auto vahel seos üks ühele. Seega ametiauto omamine on eelmise tingimuse põhjal üks­üheses seoses kahe olemi vahel, milleks on ettevõtte töötajaskond ja ametiautod. Kui leiame, et Toomase ametiauto on Volvo ja Merjel Ford ning kehtib seos üks ühe­le, siis võime tabelile lisada ühe veeru.

Tabel 2. Olemid “Personal” ja “Auto”

ID-nr

Eesnimi

Perekonnanimi

Ametinimetus

Vanus

Auto

1.

Toomas

Tuisk

projektijuht

25

Volvo

2.

Merje

Mets

sekretär

20

Ford

  • Seos üks mitmele seose näitel

Peale üks ühele on veel teisi seoseid. Näiteks üks mitmele ja mitu mitmele seos.

Kui eelmises näiteks oleks Toomasel võimalik kasu­tada veel teist tööautot, siis on kahe olemi vahel üks mit­mele seos. Näiteks on Toomasel võimalik kasutada li­saks Volvole ka Hondat.

Kui lisaksime tabelisse 2 ühe rea, siis ei oleks unikaal- suse tingimus täidetud, sest lisanduva rea ID-numbri väärtus on 1. Üks mitmele seose korral ühes tabelis ei ole võtmeväli unikaalne.

Tabel 3. Üks mitmele seose ühes tabelis

ID-nr

Eesnimi

Perekonnanimi

Ametinimetus

Vanus

Auto

1.

Toomas

Tuisk

projektijuht

25

Volvo

2.

Merje

Mets

sekretär

20

Ford

1. Toomas Tuisk projektijuht 25 Honda

Üks mitmele seose korral on lahenduseks “Autode” ja “Personali” tabelite hoidmine eraldi tabelitena, mis on esitatud tabelis 4.

Unikaalsuse tingimuse täitmisel tuleb üks mitmele seose loomiseks koostada eraldi tabel autode jaoks nimega “Autod”, kuhu on lisatud uus väli “Kasutaja ID”.

Tabel 4. Autod

ID-nr

Eesnimi

Perekonnanimi

Ametinimetus

Vanus

Auto

1.

Toomas

Tuisk

projektijuht

25

Volvo

2.

Merje

Mets

sekretär

20

Ford

 Auto nr

Auto

Kasutaja ID

1.

Volvo

1

2.

Honda

1
3. Ford 2

Tabelite “Personal” ja “Auto” seose saame siis, kui “Personali” tabeli veeru ID-numbri väärtus võrdub” Auto” tabeli veeru “Kasutaja ID” (ID-nr = Kasutaja ID) väärtusega, nii oleme sidunud kaks tabelit – “Perso­nal” ja “Auto”.

Päringu moodustamiseks, kasutades SQL (ingl struc­tu­red query language) päringukeelt esi­ta­tud tabelite põhjal, näeks see välja nii:

SELECT Auto FROM Autod WHERE Kasutaja ID = 1.

  • Seos mitu mitmele seose näitel

Kui ettevõttes on ühel autol mitu omanikku (rohkem kui üks) ja autode arv on suurem kui üks, siis on tegu mitu mitmele seosega. Eelmises näites oli siiski autol üks omanik, kuid ühel omanikul rohkem kui üks auto.

Andmemudelid

Eelmistes näidetes kasutasime tabelikujulist ehk relat­sioo­nilist andmemudelit.

Tuntumad andme­mude­lid on:

  • relatsiooniline

Levinum andmebaasitüüp, kus kõik olemid on ühen­datud re­lat­sioonidega. Relatsioon esitatakse tabe­lina. Tabe­li rida nimetatakse kirjeks, veergu väljaks. Näide re­­latsioonilisest andmebaasist oli teemakäsitluse algu­ses, kus kahte tabelit sai seostada tingimusel ID-nr = Kasutaja ID.

  • hierarhiline

Andmed organiseeritakse puustruktuurina, st puu ma­da­­­­lamatel tasemetel olevatele andmetele pääseb ligi ainult ülemiste tasemete kaudu. Näiteks joonisel ku­ju­tatud olem kirjeldab perso­naliandmeid puukujulisena. Puukujulise andme­mudeliga saab kirjeldada struktureeritud teksti XML-form­aadis. XML (ingl extended markup language) on teksti­formaat, mis sisaldab nii teksti sisu kui ka tun­nu­seid ehk metaandmeid.

Joonis. Hierarhiline andmestruktuur (mudel).

  • objektorienteeritud

Põhineb objektorienteeritud andmemudelil. Objekt­orien­teeritud andmemudel võimaldab kirjeldada keeru­kamaid olemite (objektide) seoseid, näiteks objektide sar­nasusi.

Tabelarvutussüsteemid

Tabelite ja tabelite seostega puutub tavakasutaja ena­masti kokku siis, kui ta kasutab tabelarvutussüsteemi. Liht­samaid tabelid saab kirjeldada nii, et ei ole vaja ka­sutada metaandmeid ja unikaalseid võtmeid, vaid ainult andmeid objekti kohta. Siiski on ülevaatlikkuse hu­vides vajalikud tabeli päised, sest aja jooksul kipume unus­tama, mida andmed tabelites tähistavad.

Tabel­a­rvutussüsteemis on võimalik töödelda mitmeid tu­handeid ridu. Andmete kasutamine on lihtne. Tegu on kasutajasõbralike pro­gram­mi­dega, mis­ lahen­davad lihtsamad andmetöötluse va­ja­dused. Tabel­arvutussüsteemid sobivad ühe kasutaja re­žiimis ja kui tabeli ridade arv jääb kümnete tuhandete pii­resse. Tuntumad tabelarvutussüsteemid on MS Excel, Open­Office.