EcoSoft Linux
Baasiohjesüsteem IX

1. Sissejuhatus

       Andmebaasijuhtimissüsteem (ABJS) IX on tarkvarasüsteem, mis on mõeldud andmebaasiga (AB) töötavate, eelkõige kiiret väljundit eeldavate, rakendusülesannete loomiseks. IX on realiseeritud ja töötab operatsioonisüsteemide (OS) UNIX, MS-DOS, WINDOWS ja LINUX keskkonnas.

2. Süsteem IX

       Süsteemi IX võib tarbija soovil häälestada tööks nii üksik- kui ka mitmekasutaja reziimis, st. et IX võimaldab töötada paljudel kasutajatel samaaegselt ühe ja sama AB-iga.
       Süsteem IX oskab töötada mitmekasutaja reziimis kas fail-server või klient-server põhimõttel, olles seejuures sõltumatu konkreetsest võrgutarkvarast.
       Süsteem IX tagab andmete täieliku sõltumatuse füüsilisel tasemel, st. et muudatused AB-i kirjelduses ja/või selle organisatsioonis ei too endaga kaasa muutusi juba olemasolevatesse AB-iga töötavatesse rakendusprogrammidesse.
       Süsteem IX lubab ühel rakendusprogrammil töötada paralleelselt mitme AB-iga ja kasutada nii kirje- kui ka elementedastust.
       Süsteem IX võib töötada kasutajatega eesti- või ingliskeelses dialoogis.

3. Kasutaja

       Kasutaja on süsteemis IX registreeritud tarbija. Igal kasutajal on nimi ja parool, mis kaitseb tema andmeid AB-des mittesanktsioneeritud juurdepääsu eest. Üks kasutaja võib töötada paljude AB-dega süsteemis IX ja vastupidi, ühe AB-iga on võimalus töötada mitmel kasutajal. Suhte konkreetse AB-iga töötamisel määrab kasutaja AB-i grupp.

4. Andmebaas

       AB on omavahel seotud andmete ühtselt juhitav kogum. See koosneb mitut tüüpi kirjetest ja relatsiooonidest. Igal AB-il on nimetus, kasutaja ja tema grupp ning kolm osa, millest kahes paiknevad AB-i kirjed ja ühes relatsioonid. Iga osa on määratud konkreetset nimetust ja tüüpi omava OS-i failiga. Fail võib olla lihtne (paikneb OS-i failisüsteemis) või spetsiaalne (on seotud konkreetse välisseadmega, st. kettaga). Lisaks sellele iseloomustavad igat AB-i osa veel andmepiirkonna algusploki number failis, plokkide arv ja ploki suurus baitides.
       Eelöeldust järeldub, et süsteemi IX AB võib paikneda kuni kolmel eraldiseisval kettal.

5. Andmebaasi skeem

       AB skeem on AB-is paiknevate andmete loogiline kirjeldus. See võib koosneda tabelite, indeksite ja seoste kirjeldustest.
       Tabel on ühetüübiliste, st. samasuguse struktuuriga kirjete kogum AB-is. Igal tabelil on nimetus, kasutaja ja kaitse. Viimane määrab õigused seitsmele erinevale AB-i kasutajate grupile. Kaitse võib kehtestada igale nimetatud kasutajate kategooriale õigused kirjutamiseks ja lugemiseks, ainult lugemiseks või õigusi üldse mitte anda. Kirje koosneb primaarsest võtmest ja/või sisust. Võtme väärtus identifitseerib tabeli kirje üheselt, st. et samaaegselt ei saa tabelis olla kahte ühesuguse võtme väärtusega kirjet. Võti ja sisu koosnevad omakorda ühest või mitmest elemendist, mis määravad kirje struktuuri. Igal elemendil on nimetus, tüüp, formaat, kaitse, minimaalne ja maksimaalne väärtus. Tüübiks võib olla kas täisarvu-, ujupunktarvu-, kuupäeva-, kellaaja- või märgi(stringi)tüüp. Formaadi määravad pikkus ja täpsus. Kaitse olemus on analoogiline tabeli enda kaitsega, st. et süsteem IX tagab andmekaitse mittesanktsioneeritud juurdepääsu eest kahel - tabelite ja kirjeelementide tasemel. Võtmega kirjed on andmebaasis igal ajahetkel võtme väärtuste järgi sorteeritud sõltumata nendega teostatavatest operatsioonidest. Lisaks sellele on tabeli kirjed veel nende laekumisele vastavas järjestuses.
       Indeks on ühetüübiliste relatsioonide kogum AB-is, millega määratakse tabeli kirjetele sekundaarne võti. Igal indeksil on nimetus, tabel, kasutaja ja kaitse. Tabel, mis osaleb indeksis on indekstabel ja selle kirjed indekskirjed. Indeksi kasutaja ja kaitse määratakse indekstabeli vastavate näitajatega. Indeksi relatsioon koosneb võtmest ja ühest või mitmest indekskirjest, mis sisaldavad nimetatud võtme väärtust. Võti koosneb ühest või mitmest indekskirje elemendist sõltumata nende asukohast kirjes. Üks tabel võib osaleda korraga mitmes indeksis, st. et kirjel võib eksisteerida mitu sekundaarset võtit. Indekskirjed on andmebaasis igal ajahetkel indeksi võtme väärtuste järgi sorteeritud sõltumata nendega teostatavatest operatsioonidest.
       Seos on indeks, mis realiseerib suhte kahe tabeli vahel. Igal seosel on nimetus, tüüp, omanik- ja liikmestabel, kasutaja ja kaitse. Omaniktabeli kirje osaleb seose relatsioonides omanikkirjena, millele seatakse vastavusse null, üks või mitu liikmeskirjet seose liikmestabelist. Seose relatsioonide võtmeks on omanikkirjete võti, mille elemendid peavad sisalduma ka liikmeskirjes. Seose kasutaja ja kaitse määravad omaniktabeli vastavad näitajad. Seos võib olla kas reaalset või fiktiivset tüüpi. Viimasel juhul puuduvad seosel andmebaasis relatsioonid, mis tagab märkimisväärse välismälu kokkuhoiu ja selles seoses osalevaid tabeleid modifitseerivate operatsioonide suurema kiiruse seose liikmeskirjete lugemiskiiruse arvel. Üks tabel võib korraga kuuluda mitmesse seosesse omanik- või liikmestabelina. Seose omanik- ja liikmeskirjed on andmebaasis igal ajahetkel seose võtme väärtuste järgi sorteeritud sõltumata nendega teostatavatest operatsioonidest.
       Süsteem IX tagab andmebaasi kirjete ja relatsioonide omavahelise vastavuse igal ajahetkel sõltumata nendega teostatavatest operatsioonidest.
       Tabeleid, indekseid ja seoseid võib AB-i skeemi alati juurde kirjeldada, st. et süsteem IX tagab andmete osalise sõltumatuse loogilisel tasemel. Samuti eksisteerib võimalus juba olemasolevaid objekte ümberkirjeldada ja eemaldada.
       Süsteemis IX eksisteerib veel alamskeemi mõiste. See on AB-i skeemi osa, mis võib koosneda erinevate AB-de tabelitest. Alamskeemi kirje on kasutaja poolt vabalt määratav ja koosneb alamskeemis osalevate tabelite suvalistest elementidest ning arvutatavatest elementidest. Igal alamskeemil on veel nimetus, tüüp, töötlusviis, programmfail ja juhttekstid. Programmfail sisaldab kasutaja poolt lihtsate reeglite järgi kirjutatud programmi, mis juhib alamskeemi kirjete töötlust. Ühte ja sama alamskeemi võib kasutada nii sisestamiseks kui väljastamiseks, erinevatel eesmärkidel ja erinevate programmfailidega töötades.

6. Kasutaja liides

       Kasutaja liidese moodustavad IX-i menüü ja süsteemi programmid (utiliidid), mis võimaldavad töötada AB-idega rakendusprogramme kirjutamata.
       Menüü on hierarhiline ja koosneb alammenüüdest, mis omakorda moodustuvad täidetavatest töödest. Viimased töötavad tarbijaga dialoogis ja kasutavad konkreetsete tegevuste sooritamiseks IX-i utiliitide teeneid. Menüüd juhib viimasest sõltumatu universaalne menüüprogramm.
       Utiliidid on programmeerimiskeeles C kirjutatud programmid, mis on sõltumatud konkreetsest AB-i skeemist ja andmetest. Igal utiliidil on nimetus ja formaat, mis määrab sellele edastatavate argumentide võimaliku loetelu. Utiliidid võimaldavad sooritada järgmisi töid:

Enamik IX-i utiliitide poolt võimaldatavatest tegevustest on tarbijatele kättesaadav ka menüüga töötades.

7. Programmeerija liides

       Süsteemil IX on programmeerimiskeele C liides rakendusprogrammidele. Liidese moodustab pakett IX, mis koosneb keeles C kirjutatud alamprogrammide (funktsioonide) objektmoodulitest. Funktsioonid võimaldavad

       Pakett IX koos süsteemsete funktsioonidega moodustab süsteemi tarkvara tuuma, mis on baasiks ka kõikidele IX-i utiliitidele.

8. Arengusuunad

       Süsteemi IX arenguperspektiivi peamiseks tagatiseks on asjaolu, et kaugeltki mitte kõik selle tarkvara tuuma poolt pakutavatest võimalustest ei realiseeru momendil kasutaja liideses. Seda silmas pidades laieneb edaspidi eelkõige nn. lõpptarbijale orienteeritud vahendite komplekt ning suurenevad utiliitide ja menüü poolt pakutavad võimalused.

9. Kokkuvõte

       Süsteemi IX projekteerides ja realiseerides on püütud luua paindlik ja mugav tööriist AB-idega töötavate rakendussüsteemide realiseerimiseks. Paindlikkus on saavutatud UNIX-i ideoloogiat järjekindlalt rakendades, st. et on loodud kogum töövahendeid, mis omavahel ja OS-i vahenditega kombineerides võimaldavad lahendada paljud andmetöötlusülesanded ilma ridagi traditsioonilistes programmeerimiskeeltes kirjutamata.
       Süsteem IX töötab praegu IBM-iga ühilduvatel personaalarvutitel OS-is MS-DOS, WINDOWS, UNIX ja LINUX, kuid võib töötada suvalisel arvutil eeldades ainult programmeerimiskeele C translaatori olemasolu.
       Momendil on süsteemi IX baasil realiseeritud majandustarkvara RAMIX, materjalide laoarvestus, normatiivse kulu arvestus toodetele ja palgaarvestus ning töötajate, klientide ja rokkmuusika infosüsteemid. Süsteemi IX andmebaasi organisatsiooni juhtiva tarkvara baasil on realiseeritud geodeetilise andmebaasi juhtimissüsteem VERAMAP, mis on JERTEC OY kaubamärk.

Autorid: Ivar Jung
Vallo Heinluht