• Ei tuloksia

The data management system of the Hard Rock Aggregate Studies project

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "The data management system of the Hard Rock Aggregate Studies project"

Copied!
62
0
0

Kokoteksti

(1)

PROSESSI- JA MATERIAALITEKNIIKAN OSASTO MATERIAALI- JA KALLIOTEKNIIKAN LAITOS

Leo Salminen

KIVIAINESTUTKIMUSPROJEKTIN TIEDONHALLINTAOHJELMISTO

Diplomityö, joka on jätetty opinnäytteenä tarkastettavaksi diplomi-insinöörin tutkintoa varten Espoossa T. f f. f990

Työn valvoja ja ohjaaja

Markku Peltoniemi apulaisprofessori

(2)

Tekijä ja työn nimi : Leo Salminen

Kiviainestutkimusprojektin tiedonhallintaohjelmisto

Päivämäärä : 10.9.1990 Sivumäärä : 50

Osasto : Prosessi- ja materiaalitekniikan osasto Professuuri : Mak-33

Materiaali- ja kalliotekniikan laitos Tai. geologia

Työn valvoja : Apulaisprofessori Markku Peltoniemi Työn ohjaaja : Apulaisprofessori Markku Peltoniemi

Kiviainestutkimus on Tie- ja vesirakennushallituksen (TVH), Ympäristöministeriön (YM) ja Geolo­

gian tutkimuskeskuksen (GTK) yhteisrahoitteinen tutkimusprojekti Suomen kiviainekseltaan korkealuokkaiseksi murskeeksi sopivien kallioalueiden inventoimiseksi. Sen tuloksena syntyy tässä työssä laadittu ja kuvattu ATK-pohjainen kiviainesrekisteri viranomaiskäyttöön.

Rekisteri perustuu GTK: n VAX-tietokoneeseen suunniteltuihin RDB-tietokanta- ja Fingis-karttatie- tokantasovelluksiln. Lisäksi käytössä on mikrotietokoneessa toimiva tallennusohjelma, jonka avulla maastohavainnot voidaan tallentaa välittömästi, vaikkapa tukikohdassa, ja siirtää myöhemmin RDB-kantaan.

Kustakin kartoitetusta muodostumasta tallennetaan kiven käyttötarkoitusten kannalta olennaiset geologiset tiedot ja sijaintitiedot.

Tietokanta on rakenteeltaan yksinkertainen, mikä nopeuttaa sekä tiedonsiirtoa mikron ja keskus­

koneen välillä että lopulliseen tulostukseen liittyviä haku- ja lajitteluoperaatioita. Tietojen yhtenäi­

syys ja oikeellisuus varmistetaan mahdollisimman pitkälle ohjelmallisesti tallennuksen yhteydes­

sä.

Tulosteina saadaan halutuin kriteerein valikoituja ja lajiteltuja kirjallisia raportteja, joita on laajuu­

deltaan kolmea tyyppiä, sekä karttoja, joiden alue, mittakaava ja elementit ovat valittavissa.

Ohjelmistoa on käytetty projektin koealueena olleen pääkaupunkiseudun ja ympäristökuntien kartoitustietojen tallennukseen ja tulostamiseen, jolloin sen on havaittu toimivan suunnitellulla tavalla. Ohjelmistoa tullaan jatkossa laajentamaan parhaista kohteista poimituille kivinäytteille tehtävien laboratoriotutkimustulosten tallentamiseen soveltuvaksi.

(3)

Author and name of the thesis : Leo Salminen

The data management system of the Hard Rock Aggregate Studies project

Date : September 10, 1990 Number of pages : 50

Department : Department of Materials Science and Professorship : Mak-33 Rock Engineering

Supervisor : Associate professor Markku Peltoniemi Instructor : Associate professor Markku Peltoniemi

The Hard Rock Aggregate Studies is a project for establishing the potential of particular rock units as sources for high quality crushed aggregate. The project is financed by the National Board of Roads and Waterways, Ministry of Environment and the Geological Survey of Finland. The project will result in a computer based rock unit register to be used by the authorities.

The software consists of the applications of the RDB-database and the Fingis-map-database in the VAX computer of the Geological Survey. In addition there is a storing program running in micro computers for input and preliminary storage to be carried out in a field base.

The geological parameters important for future use as well as some location information are stored for each type of mapped formation.

The structure of the database is simple, which speeds up both data transfer between PC and the central computer, and the searching and sorting processes associated to final output. The program secures the compatibility and accuracy of the data during input as far as possible.

As an output there are printed reports of three sizes, which can be selected and sorted according to wanted criteria, and also maps whose area, scale and elements can be defined by the user.

The software has now been used for processing the data of a test area which consists of Helsinki city and neighbouring districts; it has proved to work properly. In future, the software will be extended for storing the results of laboratory measurements of rock samples collected from the best study areas.

(4)

Tiivistelmä Abstract

1. Johdanto ... 5

2. Relaatiotietokannan teoriaa... 7

2.1. Käsitemalli ... 7

2.2. Relaatiomalli... 9

2.3. Normalisointi... 12

2.4. Tietokannan hallintaohjelmisto ... 16

3. Tiedonhallintatarpeiden määritys... 17

4. Tietokannan rakenne ... 19

5. Tiedon tallennus... 26

5.1. dBase IV -tietokantaohjelma... 26

5.2. Sovellus... 28

6. Tiedon haku ja tulostus VAXissa... 33

6.1. Kehitysohjelmat... 33

6.2. Sovellus... 34

7. Graafisen tiedon käsittely ... 37

7.1. Pingis ... 37

7.2. Sovellus... 41

8. Tiedonsiirto ... 45

9. Yhteenveto 47

(5)

Kiitosmaininnat 50

Liitteet

i

(6)

1. Johdanto

Ympäristöministeriön johtamien esiselvitysten seurauksena käynnistyi vuoden 1989 alussa kymmenvuotinen projekti kiviainekseltaan arvokkaiden kallioalueiden inventoi- miseksi. Projektin rahoitus jakautuu TVH:n (50 %), YM:n (20 %) ja GTK:n (30%) kesken. Tämän yhteisrahoitteisen inventointihankkeen toteuttajaksi tuli GTK (Geolo­

gian tutkimuskeskus), joka perusti tätä varten projektiorganisaation.

Inventointiprojektin tuloksena syntyy ATK-pohjainen kallion kiviainesrekisteri viran­

omaiskäyttöön. Rekisterin ylläpitoon tarvittavan tiedonhallintaohjelmiston kehittämi­

seksi GTK teki Teknillisen korkeakoulun insinöörigeologian ja geofysiikan laboratori­

on kanssa tutkimussopimuksen, jonka puitteissa on syntynyt tässä esiteltävä ohjelmis­

to.

Ohjelmiston tehtävänä on luoda mahdollisuudet havaintoaineiston välittömään tallentamiseen tukikohdassa sekä kirjalliseen ja karttamuotoiseen tulostamiseen keskustietokoneella. Siksi se on koottu kolmesta varsin itsenäisestä osasta: mikrotieto­

koneessa toimivasta tallennusohjelmasta sekä GTK:n VAXissa olevista RDB-tietokan- nasta ja Fingis-karttatietokannasta.

Tallennusohjelma mahdollistaa havaintolomakkeiden tietojen rutiininomaisen kopioinnin mikrotietokoneen tietokantaan sekä yksinkertaiset listaukset tallennettujen tietojen tarkastamiseksi. Se voidaan tarpeen mukaan kopioida useampaan mikroon.

RDB-tietokannan hallintaohjelmisto ei sisällä (ainakaan toistaiseksi) lainkaan tietojen tallennusmahdollisuutta, vaan ainoastaan kopioinnin mikrojen tietokannoista. Sen tehtävänä on toimia lopullisena tietovarastona ja tulostusohjelmana.

Pingis on kuvänkäsittelyohjelmisto, joka on tarkoitettu vektorimuotoisen karttatiedon käsittelyyn. Sen sovellusta käytetään kiviainesprojektin kartoittamien muodostumien esittämiseen niiden sijaintien, muotojen ja pinta-alasuhteiden havainnollistamiseksi.

Tiedonhallintaohjelmiston ja sen käyttämien tietokantojen päärakenteet tehtävineen on kuvattu menemättä kuitenkaan ohjelmointiteknisiin yksityiskohtiin. Varsinaisia

(7)

ohjelmadokumentteja lähdekoodilistoineen /6, 7 ja 8/ ei niiden laajuuden vuoksi ole otettu mukaan. Käytetyt laitteet on mainittu ja kehitysohjelmista tärkeimmät on esitelty pääpiirteittäin.

Alun relaatiotietokantojen teoriaa käsittelevässä osassa on määritelty keskeisimmät jatkossa esille tulevista termeistä. Useimmat asiat on kuvattu esimerkkien avulla, jotka sisällöltään sivuavat tulevaa aihetta.

(8)

2. Relaatiotietokannan teoriaa

ATK-sanakirjaa /1/ lainaten tietokanta on kokoelma tiettyä kohdetta kuvaavia tietoja, joita yksi tai useampi tietosysteemi käyttää ja päivittää. Ollakseen hyödyllinen tietokanta tarvitsee rinnalleen ohjelmiston, jolla ihminen saa kannasta toiminnassaan tarvitsemansa tiedot ja ylläpitää niitä. Tällaista ohjelmistoa kutsutaan tietokannan hallintajärjestelmäksi /5/.

2.1. Käsitemalli

Se asiakokonaisuus, jota kuvaavia tietoja kantaan talletetaan, on määriteltävä täsmällisesti, jotta tietokanta voidaan suunnitella rakenteeltaan mahdollisimman hyvin nykyisiä ja tuleviakin tarpeita vastaavaksi. Nykyisin yleisesti käytetty määrittelytapa perustuu käsitemalliin. Siinä kuvattava asiakokonaisuus esitetään käsitekaaviona, joka koostuu yksilöistä ja niiden välisistä yhteyksistä. Yksilöillä on ominaisuuksia, jotka saavat erilaisia arvoja. Aluksi määritellään kaikki kyseeseen tulevat

yksilötyypit, ominaisuustyypit, arvotyypit ja yhteystyypit.

Yksilöitä (entity, käytetään myös nimitystä "kohde", esim /9/) ovat ne konkreettiset tai abstraktit kohteet, joihin liittyvää tietoa kantaan talletetaan. Sellainen voi olla vaikkapa jokin geologinen muodostuma tai geofysikaalinen mittaussarja. Tietokannas­

sa samalla tavalla käsiteltävät yksilöt kuuluvat samaan yksilötyyppiin. Sama yksilö voi kuulua myös useampaan yksilötyyppiin; tällöin sisällöltään laajinta tyyppiä kutsutaan kantatyypiksi ja sen osajoukkoja rooleiksi.

Kaikki tiettyyn yksilöön liittyvät sitä kuvaavat asiat ovat sen ominaisuuksia. Geologi­

sen muodostuman ominaisuus voisi olla esimerkiksi korkeus. Tällöin kaikilla yksilö- tyyppiä "geologinen muodostuma" olevilla yksilöillä on ominaisuustyyppiä "korkeus"

oleva ominaisuus.

(9)

Kukin ominaisuus saa jonkin arvon. Arvotyypin avulla määritellään ne arvot, joita jokin ominaisuustyyppi voi saada ja mitä ne merkitsevät. Kuhunkin ominaisuustyyppiin liittyy yksi arvotyyppi, mutta samaa arvotyyppiä voidaan käyttää useamman ominai- suustyypin yhteydessä. Muodostuman korkeuden ilmoittamiseen voidaan käyttää arvotyyppiä "pituusyksikkö", joka määritellään positiiviseksi reaalisuureeksi, jonka yksikkö on metri. Samaa arvotyyppiä voitaisiin käyttää geofysikaalisen mittaussarjan mittauslinjan pituuden ilmoittamiseen.

Ominaisuus voi olla ehdollinen: jos geologisiin muodostumiin kuuluu joki, sille ei kenties ole mielekästä antaa korkeusarvoa. Tällöin korkeus saa arvon "puuttuva"

(null). Toisaalta ominaisuus voi olla moniarvoinen: muodostumalle voidaan mitata suurin ja pienin korkeus tai kymmenen erillisen huipun korkeudet.

Yhteys on jokin kahden yksilön välinen kiinnostava suhde, relaatio. Kaikki tiettyjen yksilötyyppien väliset samoin määritellyt yhteydet muodostavat yhteystyypin. Jos geo­

fysikaalinen mittaussarja suoritetaan geologisen muodostuman alueella, näiden yksilöiden välille voidaan määritellä yhteys "suorituspaikka". Myös yhteys voi olla ehdollinen tai moniarvoinen (kompleksinen). Yhteyksien tyypin määrittely on tietokannan rakennetta määriteltäessä aivan keskeisellä sijalla, mutta niiden nimeämi­

nen ei ole mitenkään välttämätöntä.

Yksilöiden väliset yhteydet voidaan kuvata käsitekaaviona. Kukin yhteys kuvataan yksilöiden välisenä nuolipäisenä yhdysjanana. Yhteyden tyyppi osoitetaan kuvassa 1 esitetyin lisämerkein.

<—O------- EHDOLLINEN YHTEYS

<4--- ---- YKSI YHTEYS

<—<--- ---- YKSI TAI USEAMPI YHTEYS

Kuva 1: Yliteystyypit graafisin merkein

(10)

Edellä esimerkkinä käytettyjen yksilöiden välinen yhteys voidaan osoittaa kuvassa 2 esitetyllä tavalla.

GEOFYS-MITTAUS GEOL-MUODOSTUMA

Kuva 2: Kahden yksilön välinen yhteys

Kukin geofysikaalinen mittaussarja suoritetaan tämän määrittelyn mukaan tasan yhden muodostuman alueella. Yhteys on määritelty pakolliseksi, sillä ei olisi mielekäs­

tä suunnitella mittaussarjaa, jota ei edes teoriassa aiota suorittaa missään. Toiseen suuntaan yhteys on sekä moniarvoinen, että ehdollinen: yhden muodostuman alueella voidaan suorittaa useampia mittaussarjoja, mutta toisaalta muodostuma voi olla kannassa jonkin muun tutkimuksen vuoksi, jolloin yhteyttä geofysikaalisiin mittauksiin ei lainkaan ole.

Yhteyden tyyppi moniarvoisuuden suhteen voidaan ilmoittaa lyhyesti seuraavin merkinnöin: "1:1" merkitsee molempiin suuntiin yksiarvoista yhteyttä, "1:N" toiseen suuntaan moniarvoista yhteyttä, kuten kuvassa 2 ja "N:M" molempiin suuntiin moniar­

voista yhteyttä.

2.2. Relaatiomalli

Nykyisin uusista tiedonhallintajärjestelmistä valtaosa perustuu relaatiomalliin /5/.

Relaatiomalli on käsitteenä jonkin verran epämääräinen, sillä se on useasta lähteestä alkaneen, yhä jatkuvan kehitysprosessin tämänhetkinen tulos.

Relaatiomallin mukainen tietokanta muodostuu relaatioista, joiden voidaan ajatella olevan kaksiulotteisia taulukoita /4/. Taulukon sarakkeita kutsutaan attribuuteiksi ja

(11)

rivejä monikoiksi. Yleensä yksi relaatio edustaa yhtä käsitemallin yksilötyyppiä; tällöin relaation kukin monikko vastaa yhtä ko. yksilötyypin yksilöä ja jokainen attribuutti yhtä ominaisuustyyppiä. Taulukon alkiot siis sisältävät yksilöiden ominaisuuksien arvoja.

Kullakin relaatiolla on perusavain, joka muodostuu yhdestä tai useammasta attribuu­

tista. Perusavaimen tulee olla yksilöivä, mikä merkitsee, että relaation kahdella monikolla ei voi olla samaa avaimen arvoa. Toisaalta avaimen on oltava minimaali­

nen: siihen ei saa kuulua attribuutteja, jotka eivät yksilöivyyden kannalta ole välttä­

mättömiä. Kaikki monikon täysin yksilöivät attribuuttiyhdistelmät ovat avainehdokkai- ta. Ehdokkaista yksi valitaan perusavaimeksi, jolloin muut ovat vaihtoehtoisia avai­

mia. Tarvittaessa relaatioon voidaan sisällyttää avaimena toimiva tunnusluvunomai- nen attribuutti, joka saa toistumattomia arvoja, vaikkapa kokonaislukuja juoksevasti talletusjärjestyksen mukaan.

Relaatiotietokannan relaatioiden eli siis yksilötyyppien väliset yhteystyypit toteutetaan viiteavainten avulla. Viiteavain on attribuutti, jonka arvotyyppi on sama, kuin viittauksen kohteena olevan relaation jonkin avainehdokkaan arvotyyppi. Tällaisen viiteavaimen sisältävä relaatio on lapsirelaatio ja viittauksen kohde vastaavasti isärelaatio /5/. Kumpi relaatioista määritellään isäksi ja kumpi lapseksi, riippuu yhteystyypistä. 1:1 -tyyppisen yhteyden tapauksessa viiteavain voidaan sijoittaa kumpaan relaatioon tahansa. Jos yhteystyyppi on 1:N, viiteavain sijoitetaan N:ää yksilöä edustavaan relaatioon. N:M -tyyppinen yhteys esitetään välittävän apurelaation avulla; sen ainoat attribuutit ovat kumpaankin isään osoittavat viiteavaimet.

Relaation rakenne voidaan esittää kuvasta 3 ilmenevällä tavalla.

GEOFYS_MITTAUS (Menetelmä. Aika. Paikka^

GEOL_MUODOSTUMA (Muod-Tunnus. Paikannimi, Karttalehti)

Kuva 3: Relaatioiden esitystapa

(12)

Edellä käytetty käsitekaavion esimerkki on kuvattu kahtena relaationa. Relaation nimi on isoin kirjoimin ja sen perässä suluissa attribuutit, joista perusavaimeen kuuluvat on alleviivattu. "Geofys_mittaus" relaation attribuutti "paikka" on sekä osana perusavain- ta, että viiteavain, joka saa "geoljnuodostuma" relaation avaimen arvoja. Muodostu­

mille on annettu tunnukset "muod_tunnus", jotka toimivat perusavaimina; yksiosaiseen avaimeen on helpompi viitata, kuin useammasta attribuutista koottuun.

Relaatioista voidaan tarpeen mukaan koota ns. näkymiä (view). Se merkitsee useam­

man relaation halutuista riveistä ja sarakkeista viiteavainten avulla koottavaa uutta taulukkoa. Esimerkiksi voitaisiin haluta kaikkien VLF-mittausten ajankohta, suoritus­

paikan nimi ja karttalehti. Tällöin näkymään otetaan relaatiosta "geofys_mittaus" rivit, jotka toteuttavat ehdon "MENETELMÄ = VLF" ja näistä riveistä vain "aika" -sarake.

"Geol_muodostuma" relaatiosta viiteavaimen välityksellä valituiksi tulevista riveistä poimitaan sarakkeet "paikannimi" ja "karttalehti". Kuvan 4 kaavio esittää tätä proses­

sia.

RELAATIO GEOFYS-MITTAUS RELAATIO GEOL-MUODOSTUMA

Kuva 4: Näkymän määrittelyn periaate

(13)

2.3. Normalisointi

Tietokannassa kuvattavan asiakokonaisuuden jakamiseen yksilöiksi, ominaisuuksiksi ja suhteiksi on yleensä olemassa useita erilaisia mahdollisuuksia. Tietokannan olisi hyvä olla rakenteeltaan sellainen, että sitä on helppo käyttää ja ylläpitää. Ylläpidon helppous merkitsee lähinnä sitä, että talletettujen tietojen ristiriidattomuus taataan mahdollisimman pitkälle jo tietokannan rakenteen avulla. Tällaisen rakenteen suunnittelussa voidaan käyttää apuna ns. normalisointisääntöjä. Niiden avulla tieto­

kanta voidaan saattaa johonkin normaalimuodoista, joita on määritelty viisi astetta.

Tietojoukko on rakenteeltaan sitä laadukkaampi, mitä korkeampi sen normaalimuo­

don aste on. Seuraavana käsitellään esimerkkien avulla normalisoinnin tärkeimmät vaiheet kolmanteen asteeseen saakka, mihin tietokannat yleensä pyritään vähintään saattamaan.

Taulukossa 1 on normalisoimaton esimerkkirelaatio, jossa nähdään seuraavia tehotto­

muutta aiheuttavia piirteitä. Johtuen "mineraali" attribuutin moniarvoisuudesta kivilajia ja raekokoa on toistettu, mikä vie tilaa ja altistaa relaation ristiriitaisuuksille.

"Raekoko" attribuuttina on tietokooste, joka sisältää raekokoluokan nimen sekä luokkarajat. Vaikkapa alle 5 mm raekokoa edustavien kivilajien hakeminen tällaisesta relaatiosta tuntematta luokkien nimiä on vaikeaa. Relaation ainoa avainehdokas käsittää sen kaikki attribuutit, mikä tekee relaatioon viittaamisen hankalaksi.

Taulukko 1: Normalisoimaton mallirelaatio

KIVILAJI RAEKOKO MINERAALI

GRANIITTI KESKIRAKEINEN 1 - 5 mm KMAA GRANIITTI KESKIRAKEINEN 1 - 5 mm KVAR GRANIITTI KESKIRAKEINEN 1 - 5 mm BIOT PEGMATIITTI KARKEARAKEINEN 20 - 50 mm KMAA PEGMATIITTI KARKEARAKEINEN 20 - 50 mm KVAR

(14)

Mainituista ongelmista päästään eroon jakamalla relaatio kolmeen osaan (taulukko 2), jotka ovat ensimmäisessä normaalimuodossa (1 NM). Niiden väliset suhteet voidaan esittää kuvan 5 kaaviolla.

Taulukko 2: Ensimmäinen normaalimuoto

KIVILAJIT:

KIVILAJIN KOODI KIVILAJI RAEKOKOLUOKKA

1 GRANIITTI KESKI RAKEINEN

2 PEGMATIITTI KARKEARAKEINEN

RAEKOOT:

RAEKOKOLUOKKA ALARAJA YLÄRAJA

KESKIRAKEINEN 1 5

KARKEARAKEINEN 5 20

MINERAALIT:

KIVILAJIN KOODI MINERAALI

1 KMAA

1 KVAR

1 BIOT

2 KMAA

2 KVAR

MINERAALIT «O l> KIVILAJIT «O [> RAEKOOT

Kuva 5: Relaatioiden väliset yhteydet

(15)

Relaatio on ensimmäisessä normaalimuodossa, kun /5/

siinä ei ole toistuvia attribuutteja,

jokainen attribuutti on edelleen jakamaton kokonaisuus ja viittaukset muihin relaatioihin perustuvat avainviitteisiin.

Relaatioilla "mineraalit" ja "raekoot" on nyt oleellinen ero: "raekoot" on kattava luettelo raekokoluokista, kun taas "mineraalit" on välittävä apurelaatio kivilajikohtais- ten ja mineraalikohtaisten tietojen välillä; mineraalikohtaista relaatiota ei tässä ole esitetty.

Luonnollisesti tietoa halutaan tallettaa useamman, kuin yhden muodostuman kivila­

jeista. Taulukossa 3 on sarakkeet havaintonumerolle, kunnalle ja läänille. Avain koostuu nyt havaintonumerosta ja kivilaadun koodista.

Taulukko 3: Useamman muodostuman kivilajit

HAVJJO KIVILAA­

DUN KOODI

KUNTA LÄÄNI KIVILAJI RAEKOKOLUOKKA

00001 1 SIPOO UUDENMAANLÄÄNI GRANIITTI KESKI RAKEINEN

00001 2 SIPOO UUDENMAANLÄÄNI PEGMATIITTI KARKEARAKEINEN

00002 1 HÄMEENLINNA HÄMEENLÄÄNI GRANIITTI KESKI RAKEINEN

00002 2 HÄMEENLINNA HÄMEENLÄÄNI PEGMATIITTI KARKEARAKEINEN

Voidaan havaita, että osa attribuuteista ("kunta" ja "lääni") on riippuvainen vain havaintonumerosta, kun taas osa on riippuvainen koko avaimesta. Se osoittaa, että relaatiossa on tietoa kahdesta eri kohdetyypistä: muodostumasta ja kivilajista. Ilmei­

nen ratkaisu on jakaa tiedot kahteen relaatioon (taulukko 4), jotka ovat nyt toisessa normaalimuodossa (2 NM).

(16)

Taulukko 4: Toinen normaalimuoto

MUODOSTUMAT:

HAV_NO KUNTA LÄÄNI

00001 SIPOO UUDENMAANLÄÄNI

00002 HÄMEENLINNA HÄMEENLÄÄNI

KIVI LAADUT:

HAV_NO KIVI LAADUN KOODI KIVILAJI RAEKOKOLUOKKA

00001 1 GRANIITTI KESKIRAKEINEN

00001 2 PEGMATIITTI KARKEARAKEINEN

00002 1 GRANIITTI KESKIRAKEINEN

00002 2 PEGMATIITTI KARKEARAKEINEN

Relaatio on toisessa normaalimuodossa, kun /5/

se on 1 NM ja

relaation avainehdokkaisiin kuulumattomat attribuutit ovat täysin funktionaalisesti riippuvaisia avainehdokkaasta.

Relaatiossa Muodostuma attribuutti Lääni on avaimesta täysin riippuvainen, mutta sen määrää yksikäsitteisesti myös avaimeksi kelpaamaton attribuutti Kunta; onhan läänin raja aina myös kunnan raja. Jälleen tilanne selkiytyy tallentamalla kuntien ja läänien väliset suhteet omaan relaatioonsa (taulukko 5).

Taulukko 5: Kolmas normaalimuoto

MUODOSTUMAT : KUNNAT:

HAV_NO KUNTAJCOOOI KUNTAJCOOOI KUNTA LÄÄNI JCOODI

00001 753 .

00002 109 109 HÄMEENLINNA 03

753 SIPOO 01

LÄÄNIT:

LÄÄNI JCOODI LÄÄNI

01 UUDENMAANLÄÄNI

03 HÄMEENLÄÄNI

:

(17)

Jos nyt jonkin läänin rajakunta muutetaan kuuluvaksi naapurilääniin, kuten toisinaan on tapahtunut, koko tietokanta saadaan ajantasalle muuttamalla yhden relaation yhtä kenttää. Relaatio on kolmannessa normaalimuodossa, kun /5/

se on 2 NM ja

avainehdokkaisiin kuulumattomien attribuuttien välillä ei esiinny täydellistä funktionaalista riippuvuutta.

2.4. Tietokannan hallintaohjelmisto

Tietokannan toteuttamiseen ja käyttöön tietokoneessa tarvitaan tietokannan hallinta- ohjelmisto. Sen tärkeimpiä tehtäviä ovat

tietokannan määrittely- ja käsittelymahdollisuuksien tarjoaminen,

tietojen suojaus laite- ja operointivirheiltä sekä luvattomalta käytöltä ja useamman käyttäjän samanaikaisen käytön hallinta.

Tietokannan määrittelyä ja käsittelyä varten on yleensä jonkinlainen komentokieli, jolla kannan rakenteisiin voidaan viitata. Merkittävin tähän tarkoitukseen suunnitel­

luista kielistä on tällä hetkellä laitteistoriippumaton SQL (Structured Query Langu­

age).

Yksinkertaisimpiin sovelluksiin riittää komentokielen (kyselykielen) käyttö sellaise­

naan vuorovaikutteisesti, mutta laajoihin sovelluksiin tarvitaan yleensä tarkoitukseen suunniteltu sovellusohjelmisto. Sovellusohjelmointi tavalla tai toisella kuuluukin nykyaikaisen hallintaohjelmiston käsittelymahdollisuuksiin. Vaihtoehtoisia ratkaisuja ovat hallintaohjelmistoon kuuluva itsenäinen ohjelmointikieli kääntäjineen tai esikääntäjä, jolla jonkin yleisen ohjelmointikielen koodiin sisällytetyt tietokannan käsittelykomennot saatetaan kielen normaalin määrittelyn edellyttämään muotoon.

Tietojen suojaus laite- ja operointivirheiltä perustuu usein käytäntöön, jossa tietokan­

nan päivityksen alaisena olevasta osasta otetaan kopio, johon tehdään halutut muutokset. Saatettuaan muutostyön loppuun käyttäjä voi hyväksyä tai hylätä sen, jol­

loin vastaavasti joko päivitetty kopio tai alkuperäinen tiedosto astuu voimaan. Samalla periaatteella voidaan myöskin hallita useamman käyttäjän samanaikaiset prosessit.

(18)

Yhden käyttäjän tekemä päivitys ei vaikuta muiden hakuihin kesken prosessien, jol­

loin tieto saattaisi olla puolittain muutettua ja siksi virheellistä. Suojaus luvattomalta käytöltä perustuu salasanojen käyttöön, hakemistokohtaisten käyttöoikeuksien määrittelyyn sekä tiedostojen koodaamiseen "salakieliseen" muotoon.

3. Tiedonhallintatarpeiden määritys

Kiviainesprojektin tiedonhallinnalliset tarpeet voidaan kiteyttää seuraavasti: ohjelmis­

to geologisen maastohavaintoaineiston tallentamiseen ja luokiteltuun tulostamiseen kirjallisessa ja graafisessa muodossa.

Tallennettavien tietojen luonne selvinnee liitteinä la ja Ib olevasta havaintolomak­

keesta. Lomakkeen alkuosa on varattu muodostumakohtaisille tiedoille ja loput kivilajikohtaisille; sivun 2 rakoiluprofiilit ovat kuitenkin muodostumakohtaisia.

Kultakin muodostumalta tallennetaan korkeintaan viiden kivilajin tiedot. Useimmat kentät täytetään lomakkeen täyttöohjeen (liite 2) luetteloista valituilla lyhenteillä.

Sivulla 2 on tila muodostuman vapaamuotoiselle yleiskuvaukselle.

Ennen maastotyövaihetta kartoitettavat muodostumat piirretään peruskartoille, jolloin asutusalueiden suojavyöhykkeet ja suojelualueet on helppo huomioida.

Ohjelmiston toteuttamiseksi oli käytettävissä päätetyöskentelymahdollisuus VAX- tietokoneella, digitointipöytä sekä AT-luokan mikrotietokone. Koneissa on tiedonhal­

lintaohjelmiston suunnitteluun tarvittavat ohjelmistot, jotka kuvataan tarkemmin tuonnempana. Lisäksi apuna oli kiviainesprojektin geologinen ja GTK:n ATK- toimiston ohjelmointitekninen asiantuntemus.

Tiedonhallintaohjelmiston jakaminen kolmeen varsin itsenäiseen ohjelmaan oli projektin sisällä päätetty perusperiaate, jonka pohjalta ohjelmisto on suunniteltu.

Tieto tallennetaan aluksi mikrotietokoneeseen erillisellä ohjelmalla ja siirretään myöhemmin isoon tietokoneeseen lopulliseen tietokantaan. Tällä menettelyllä saavutetaan seuraavat edut. Mikroon oli käytettävissä olleiden ohjelmien puitteissa mahdollista tehdä joustavampi ja helppokäyttöisempi tallennusohjelma, kuin isoon

(19)

koneeseen. Tallennusohjelma voidaan tarvittaessa kopioida kannettavaan mikroon, jolloin tallennus voidaan tehdä jo tukikohdassa välittömästi tiedonkeruun jälkeen.

Käytössä oleva iso tietokone on usein niin kuormitettu, että päätetyöskentely sillä on hitaampaa kuin mikron käyttö. Järjestelyn huono puoli on siitä aiheutuva suurempi ohjelmointityön määrä.

Vaikka koko projektin aikana kerättävä tieto nykytekniikalla mahtuukin mikron massamuistiin, on tiedon siirto ja lopullinen tallentaminen isoon koneeseen kuitenkin perusteltavissa. Rakenteeltaan yksinkertaisessakin tietokannassa laajat tulostukset haku-jajärjestelytoimenpiteineen ovat epäkäytännöllisen hitaita AT-mikrolla tehtyinä.

Jos tallennusohjelmaa käytetään samanaikaisesti useammassa koneessa, on tietojen kokoaminen johonkin, oli se sitten mikro tai isompi kone, joka tapauksessa tehtävä.

Isossa koneessa tieto on paremmin saatavilla, haluttaessa jopa haltijaorganisaation ulkopuolella. Saannin tiukka kontrolli on kuitenkin tietosuojan vuoksi tarpeen.

Tietokannan käsittelyyn isossa koneessa on oma ohjelmansa. Sen avulla tietoa voidaan hakea ja tulostaa halutuin kriteerein. Ohjelman käyttö on mahdollista vain sallituilla käyttäjätunnuksilla.

Geologinen maastohavaintoaineisto on usein selkeimmin esitettävissä karttamuotoise- na. Tutkittujen alueiden koko, muoto ja sijainti voidaan esittää kerralla esimerkiksi yhden peruskarttalehden alueelta, jolloin kokonaisuus on helppo hahmottaa. Projektin tarpeisiin ohjelmiston kolmanneksi osaksi tehtiin graafisen tiedon käsittelyohjelma, jonka avulla voidaan tallentaa ja tulostaa karttamuotoista tietoa. Se tallennetaan digitointipöydän avulla peruskartalta ja tulostetaan grafiikkapäätteelle tai piirturilla paperille.

Koko ohjelmiston tehtävänjakoa on havainnollistettu kuvassa 6.

(20)

Havaintolomakkeet Täydennetyt peruskartat

Alustava tallennus

Haut ja tekstimuotoinen

tulostus

VAX

käsittely Graafisen

tiedon

Teksti- Kartta-

tulosteet tulosteet

Kuva 6: Ohjelmiston pääosat

4. Tietokannan rakenne

Projektin puitteissa kerättävä maastohavaintoaineisto on selkeästi jaettavissa kahteen ryhmään: muodostumakohtaisiin ja kivilajikohtaisiin tietoihin. Muodostumakohtaisia ovat paikka- ja päivämäärätiedot sekä mm. kivilajirajoista riippumattomat rakoi- lutiedot. Kivilajikohtaisia tietoja ovat kultakin muodostumalta erikseen tallennettavat 1 - 5 kivilajin ominaisuudet ja rakenteet. Tarkemmin nämä selviävät liitteinä la ja Ib olevasta havaintolomakkeesta.

(21)

Kun kaikki moniarvoiset ominaisuudet määritellään kohteiksi ja poiminnat täyttöoh­

jeen luetteloista osoitetaan välittävien apukohteiden avulla, saadaan lomakkeen aineistolle kuvassa 7 esitetty teoreettinen käsitemalli. Se voidaan edelleen esittää taulukon 6 mukaisena relaatiojoukkona. Huomataan, että kolmanteen normaalimuo­

toon saattaminen voi tuottaa yksikertaisestakin kohteesta varsin monimutkaisen tietokantamallin: relaatioita on peräti kaksikymmentäkolme.

KÄYTTÖÄ RAJOITTAA

PÄÄEAKO—

SUUNNAT <<p > <3 O»

KUNNAT

YLEISKUVAUS

NÄYTE

VÄRIT

TEKTONIKEN RAKENNE

RAOT TYYPPIÄ

ASU TEKT-RAK

TYYPIT

RAKOILU- TYYPIT

WNERAAU-

LUETTELO

ASU- TYYPIT

Kuva 7: Teoreettinen käsitemalli

(22)

Taulukko 6: Teoreettinen tietokantarakenne

Muodostuma (Muo-Tunn, Kunta-Avain, (yksiarvoiset ominaisuudet)) Paljastumaa-Rajaa (R-E-Avain, Muo-Tunn)

Rajaavat-Element it (R-E-Avain, Raiaava-Elementti) Käyttöä-Rajoittaa (R-T-Avain, Muo-Tunn)

Rajoittavat-Teki jät (R-T-Avain. Raioittava-Tekijä)

Päärakosuunnat (Muo-Tunn. Rako-No. Kaade. Kaateen-Suunta)

Rakomittaukset (Muo-Tunn. Mitt-No, Suunta, Pituus, Rakoja, Luokka)

Kunnat (Kunta-Avain. Kunta. Lääni. Seutukaava. TVL)

Yleiskuvaus (Muo-Tunn. Rivi-No. Rivi)

Kivilaj i (Muo-Tunn. K-L-No. {kivilajin yksiarvoiset ominaisuudet)) Tektoninen-Parametri (Muo-Tunn, K-L-No. T-P-No. Tyyppi. Kaade. Kaateen-Suunta)

Näyte (Muo-Tunn. KL-No. N-No, Koodi, X, Y)

Raekokoluokat (R-K-Avain, Nimi, Yläraja, Alaraja)

Väri t (Väri-Avain, Nimi)

Rakennetyypit (Rakenne-Avain, Rakenne) Raot-Tyyppiä (Muo-Tunn. K-L-No. Rako-Avain) Rakoilutyypit (Rako-Avain. Rakoilutyyppi) Päämineraalit (Muo-Tunn. K-L-No. Miner-avain) Mineraali luettelo (Miner-Avain, Mineraali)

Asu (Muo-Tunn. K-L-No. Asu-Avain)

Asutyypit (Asu-Avain, Asu)

Tektoninen-Rakenne (Muo-Tunn. K-L-No. Tekt-R-Avain) Tekt-Rak-Tyypit (Tekt-R-Avain. Tekt-Rakenne)

Tilaajan toivomuksesta /А/ tietokanta toteutettiin kuitenkin rakenteellisesti yksinker­

taisempana, jolloin myös tallennus ja erityisesti tiedonsiirto mikrosta VAXiin yksin­

kertaistuu. Tarkastelemalla tallennettavaa tietojoukkoa voidaan havaita seikkoja, jotka mahdollistavat relaatioiden lukumäärän vähentämisen. Myös erillisen tallennusohjel- man käyttö edesauttaa tällaista ratkaisua.

Mikään moniarvoisista ominaisuuksista ei saa yli viittä arvoa, joten apurelaatioiden tarve voidaan kiertää määrittelemällä relaatioon useampia tyypiltään samanlaisia kenttiä, joihin nämä arvot sijoitetaan. Menettelyn huono puoli on tilan tuhlaus osan kentistä jäädessä usein tyhjäksi.

Luettelot, kuten "kunnat" ja "mineraalit", joista ominaisuuksista osan arvot poimitaan, ovat tallennusohjelmassa olemassa erillisinä relaatioina, mutta niitä käytetään ainoastaan apuna tarkastettaessa ohjelmallisesti käyttäjän syöttämän arvon kelvolli­

suus tai haettaessa syötetyn lyhenteen selitys. Taulukossa 7 esitetyt relaatiot ovat mukana mikrossa tällaisina referenssitaulukkoina; VAXin kannassa niitä ei ole.

(23)

Taulukko 7: Tallennusohjelman referenssitaulukoiden relaatiot

Asu (Asu-c, Asu)

Havainn (Havainn)

Järjest (Jä-c. Jä)

Kivet (KLaii-c. KLaji)

Kunnat (Kunta-c. Lääni-c. Seutu-c. TVL-c. poX. poY. Kunta)

Käyttö (Käytt-C, Käyttö)

Liuskeis (La-c. La)

Läänit (Lääni-c, Lääni)

Mineraal (Miner-c, Miner)

Raekoko (Rae-c, Raekoko)

Rajat (P-Rai c. P-Raj)

Rajoite (K-Raj-c, K-Raj)

Rapa (Rp-c. Rp)

Seutu (Seutu-c, Seutu)

Strukt (Rakenn-c, Rakenne)

Tekt-Rak (Tekt-Rc, Tekt-R)

TVL (TVL-P-c, TVL)

Väri (Väri-c, Väri)

Mikron päärelaatioissa lyhenteinä syötettävät tiedot ovat hakujen nopeuttamiseksi sekä lyhenteinä, että selväkielisinä; VAXiin siirtyvät vain selväkieliset kentät. Maasto- lomakkeessa lyhenteitä joudutaan käyttämään muodostuman kaikkien tietojen mahduttamiseksi A4-arkin tilaan. Sallitut lyhenteet on lueteltu liitteenä 2 olevassa havaintolomakkeen täyttöohjeessa.

Havaintolomakkeen sivulla 2 (Liite Ib) oleva yleiskuvaus on pituudeltaan ja sisällöl­

tään vapaamuotoista tekstiä (ASCII-koodin puitteissa). dBase IV:ssä, jolla mikron tallennusohjelma on tehty, on tämänkaltaiselle tiedolle oma tallennusmuotonsa: niin sanottu memo-kenttä. Sen sisältämää tekstiä voidaan muokata editorilla tai se voidaan tulostaa, mutta sitä ei voi käyttää haku- tai lajittelukriteerinä. Lopullisessa talletuksessa VAXin tietokannassa yleiskuvaukset on sijoitettu omaan 80 merkin kentistä koostuvaan relaatioonsa.

Lopullinen tietokanta voidaan edellä kuvatuilla toimilla supistaa kolmeen relaatioon:

muodostumakohtaisiin tietoihin, kivilajikohtaisiin tietoihin ja yleiskuvaukseen. Nämä relaatiot on kuvattu taulukoissa 8 - 10; Vain mikron relaatioissa olevat koodikentät ovat taulukoiden loppupäissä tähdillä merkittyinä.

Yhdellä 1:20 000 -karttalehdellä olevien muodostumien määrä ei ylitä tuhatta /В/, joten muodostumarelaation avaimena voidaan käyttää karttalehden numeroa yhdessä

(24)

kolminumeroisen karttalehtikohtaisen järjestysluvun kanssa. Järjestysluku, josta jatkossa käytetään nimitystä muodostumatunnus, määräytyy automaattisesti tallennuk­

sen yhteydessä. Kivilajirelaatioon tarvitaan edellämainittujen kenttien lisäksi kivilajin numeroa osoittava luku. Näillä kolmella kentällä relaation kukin rivi on yksikäsittei­

sesti määritelty. Yleiskuvausrelaatiossa vastaavana lisäkenttänä on kolminumeroinen rivinumero.

Numerotietoa sisältävätkin kentät on määritelty tyypiltään merkkijonoiksi (C), sillä niiden käsittely on helppoa, jos laskutoimituksia ei tehdä. Poikkeuksen muodostavat päivämääräkentät, jotka ovat tyyppiä "date" (D).

(25)

Taulukko 8: Muodostuma-relaation kentät

KENTTÄ TYYPPI PITUUS SELITYS

ALUE C C 9 Aluekoodi

KL JOO C 4 1:100 000 -karttalehti

KL_20 C 2 1: 20 000 -karttalehti

KL JO C 1 1: 10 000 -karttalehti

MUOJUNN C 3 Muodost unatunnus

SIJ_X C 7 Sijainnin x-koordinaatti

SI J J C 7 Sijainnin y-koordinaatti

2_ALIN C 3 Muodostuman alin z-koordinaatti

ZJL1N C 3 Muodostunen ylin z-koordinaatti

MUO_NIMI C 20 Muodostuman nimi

KUNTA C 20 Kunta; nimi

LÄÄNI C 22 Lääni; nimi

SEUTU C 35 Seutukaavaliitto; nimi

TVL C 22 TVL:n piiri; nimi

HAVAI NN c 3 Havainnoijan nimikirjaimet

HAV NO c 3 Havaintonumero

KOKÖ_X c 4 Muodostunen koko x-suunnassa

KOKOJ c 4 Muodostuman koko y-suunnassa

P_RAJ1 c 15 Paljastumaa rajaava elementti n:o 1; nimi

P_RAJ2 c 15 Paljastumaa rajaava elementti n:o 2; nimi

P_RAJ3 c 15 Paljastunee rajaava elementti n:o 3; nimi

K_RAJ1 c 15 Käyttöä rajoittava tekijä n:o 1; nimi

K_RAJ2 c 15 Käyttöä rajoittava tekijä n:o 2; nimi

K_RAJ3 c 15 Käyttöä rajoittava tekijä n:o 3; nimi

HAV_PVM D 8 Havaintopäivämäärä

TALL_PVM D 8 Tailetuspäivämäärä

MUUT PVM 0 8 Muutospäivämäärä

TEKT1 C 2 Tektonisen parametrin tyyppi n:o 1

TEKT5 C 2 Tektonisen parametrin tyyppi n:o 5

NÄYTE_1 C 3 Näyte 1

NÄYTE_5 C 3 Näyte 5

näyteT_x c 4 Näytteen 1 x-koordinaatti

NÄYTE5_X c 4 Näytteen 5 x-koordinaatti

NÄYTE1_Y c 4 Näytteen 1 y-koordinaatti

NÄYTE5 Y c 4 Näytteen 5 y-koordinaatti

R PIT T c 2 Rakoprofi ilin 1 S-N pituus

R PIT 2 c 2 Rakoprofiilin 2 S-N pituus

R PIT 3 c 2 Rakoprofiilin 1 Е-W pituus

R PIT 4 c 2 Rakoprofiilin 2 Е-W pituus

R LUKU 1 c 2 Rakojen määrä profiililla 1 S-N

R LUKU 2 c 2 Rakojen määrä profiililla 2 S-N

R LUKU 3 c 2 Rakojen määrä profiililla 1 E-W

R LUKU 4 c 2 Rakojen määrä profiililla 2 E-U

R KPL 1 c 4 Rakoja/m S-N -suunnassa

R KPL 2 c 4 Rakoja/m E-U -suunnassa

R LUOK 1 c 2 Rakoluokitus S-N -suunnassa

R LUOK 2 c 2 Rakoluokitus E-U -suunnassa

P_SUUNT1 c 6 Päärakosuunta 1; kaade/kaateen suunta

P_SUUNT4 c 6 Päärakosuunta 4; kaade/kaateen suunta

KUNTA C * c 3 Kunta; koodi

LÄÄNI C * c 2 Lääni ; koodi

SEUTU_C * c 2 Seutukaavaliitto; koodi

TVL_C * c 2 TVL:n piiri; koodi

P RAJ1 C * c 1 Paljastunee rajaava elementti n:o 1; koodi

P RAJ2 C * c 1 Paljastumaa rajaava elementti n:o 2; koodi

P RAJ3 C * c 1 Paljastunee rajaava elementti n:o 3; koodi

K RAJ1 C * c 1 Käyttöä rajoittava tekijä n:o 1; koodi

K RAJ2 C * c 1 Käyttöä rajoittava tekijä n:o 2; koodi

K RAJ3 C * c 1 Käyttöä rajoittava tekijä n:o 3; koodi

(26)

Taulukko 9: Kivilaji-relaation kentät

KENTTÄ TYYPPI PITUUS SELITYS

ALUE C C 9 Aluekoodi

KIVI L N C 1 Muodostumakohtainen kivilajin numero

KLAJI C 50 Kivilaji; nimi

KL PROS C 3 Kivilajin X-osuus muodostumassa

MIÑERJ C 22 Mineraali n:o 1

MINER 4 C 22 Mineraali n:o 4

RAEKOKO C 23 Raekokoluokka; selitys

VÄRI C 20 Väri

ASU C 18 Asu; selitys

RAKENNE C 24 Rakenne; selitys

KÄYTTÖ C 12 Käyttösuositus; selitys

MÄÄRÄ C 5 Kivilajin määrä (tuhansina kuutioina)

TEKTON1 c 6 Tektonisen param. n:o 1 suunta

TEKTON5 c 6 Tektonisen param. n:o 5 suunta

TEKT_R1 c 30 Tektoninen rakenne n:o 1; selitys

TEKT_R2 c 30 Tektoninen rakenne n:o 2; selitys

RP c 20 Rapautuneisuuden aste; selitys

c 20 Osasten järjestyneisyys; selitys

LA c 12 Liuskeisuuden aste; selitys

HIE c 1 x = kivestä on hie

HIEKUVA c 1 x = hieestä on valokuva

MAAKUVA c 1 x = kivestä on maastovalokuva

PAKOILU c 13 Rakoilutyypit

RVA I HT c 12 Rakoilun vaihtelu

KLAJI C * c 10 Kivilaji; koodi

MINER C * c 19 Mineraalit (4 kpl) koodeina

RAE_C * c 2 Raekokoluokka; koodi

värT_c * c 5 Väri; koodi

ASU_C * c 3 Asu; koodi

RAKEN C * c 4 Rakenne; koodi

KÄYTT_C * c 1 Käyttösuositus; koodi

TEKT R1C * c 4 Tektoninen rakenne n:o 1; koodi

TEKT_R2C * c 4 Tektoninen rakenne n:o 2; koodi

RP_C * c 1 Rapautuneisuuden aste; koodi

JÄ_C * c 1 Osasten järjestyneisyys; koodi

LA_C * c 1 Liuskeisuuden aste; koodi

KUUT IOR * c 1 x = kuutiorakoilu

LAATTAR * c 1 x = laattarakoilu

K11 LAR * c 1 x = kiilarakoilu

SEKAR * c 1 x = sekarakoilu

HOMOGEE * c 1 x = homogeeninen

TASVAIH * c 1 x = tasaisesti vai hteleva

EPÄHOMO * c 1 x = epähomogeeninen

Taulukko 10: Yleiskuvaus-relaation kentät

KENTTÄ TYYPPI PITUUS SELITYS

ALUE_C C 9 Aluekoodi

Rivi_No C 3 Rivinumero

Rivi C 80 Tekstirivi

(27)

5. Tiedon tallennus

5.1. dBase IV -tietokantaohjelma

Mikron tallennusohjelma toteutettiin Ashton Tate Companyn dBase IV -tietokantaoh­

jelman sovelluksena. Ohjelma koostuu käyttäjän määriteltävissä olevasta relaatiotieto­

kannasta sekä ohjelmointikielestä sen käsittelyyn. Sitä voidaan käyttää valikko- ohjatusti tai komentotasolta /2/.

Ohjelmiston pääosat ovat ohjelmointikieli (ns. pistekieli), sen alainen SQL-kieli sekä näiden yläpuolella oleva ohjauskeskus, johon kuuluu sovelluskehitin. dBase IV:n tietokantaa voidaan käsitellä millä tahansa näistä osista. Osien väliset suhteet on esitetty kuvassa 8. Yksinkertaisimpien sovellusten hallintaan saattaa riittää ohjaus- keskus komentovalikkoineen; monimutkaisempiin voidaan käyttää sovelluskehitintätai ohjelmointikieltä.

Ohjelmointikieli (pistekieli) Ohjauskeskus

Sovellus­

kehitin

Taulut Indeksit

Kuva 8: dBase IV -ohjelmiston osat /5/

(28)

dBase-sovellus koostuu relaatio-, näkymä- ja ohjelmatiedostoista sekä syöttö- ja tulostuslomakkeista. Nämä kaikki näkyvät ohjelman päävalikossa omissa sarakkeis­

saan (kuva 9).

Catalog Tools Exit 9:34:06

dBASE IV CONTROL CENTER CATALOG: C:\DB4\KIVIVARA.CAT

Data Queries Forms Reports Labels Appiicat ions

<create> <create> <create> <create> <create> <create>

ASU HALLINTO HAVAI NN JÄRJEST KIVET KUNNAT KÄYTTÖ LIUSKE IS

KESKI LAAJA SIIRTO 1 SIIRT0~2 SIIRT0_3 SUPPEA

KESKI LAAJA SIIRTO 1 SIIRTO 2 SIIRT0_3 SUPPEA

ALUSTUS ARVOT ASETUS HAKU HALLINTO HAV_OK KELPO KV KIVILAJI

File: New file

Description: Press ENTER on <create> to create a new file

Help:F1 USE:-«—1 Data:F2 Design:Shift-F2 Quick Report:Shift-F9 Menus:F10

Kuva 9: dBase IV:n ohjauskeskuksen päävalikko

Relaatioiden ja näkymien merkitys on selitetty kappaleessa 2. Ohjelmatiedostot sisältävät dBase IV:n omalla ohjelmointikielellä koodattuja ohjelmamoduuleita, joilla tietokantaa käsitellään. Kieli sisältää monia erityisesti tietokannan käsittelyyn tarkoitettuja komentoja ja funktioita.

Syöttölomaketiedosto määrittelee kuvaruutulomakkeen, jonka avulla kannan tietoja voidaan syöttää näppäimistöltä ja tulostaa ruudulle erittäin kontrolloidusti. Tulostuslo- makkeella voidaan vastaavasti tulostaa kannan tietoja halutussa muodossa tiedostoon tai tulostimelle. Tulostukseen voidaan liittää halutuin kriteerein tehty haku ja luokittelu. Osoitelomake on tulostuslomakkeen erikoistapaus, joka on tarkoitettu erityisesti osoitelappumaiseen tulostuksen muotoiluun. Lomakkeita vastaavat toi­

minnot voidaan toteuttaa myös itse ohjelmointikielen avulla.

(29)

5.2. Sovellus

Tallennusohjelmaa suunniteltaessa asetettiin ensisijaisiksi tavoitteiksi käytön helppous ja syötetyn tiedon virheettömyys. Ohjelman suoritusnopeudesta on näiden tavoitteiden vuoksi hieman tingitty.

Ohjelman yksinkertaistettu hierarkkinen lohkokaavio on esitetty kuvassa 10. Ohjelman tärkeimmät rakenteet ovat kaksi silmukkaa, jotka käyttäjälle näkyvät päävalikosta ja korjausvalikosta valittavien toimintojen toistumisena. Päävalikon toimintoja ovat

uuden tiedon syöttö, vanhan tiedon korjailu, listaus,

tiedonsiirto ja lopetus.

Näistä kahden ensimmäisen kautta siirrytään korjausvalikkoon, jonka toimintoja ovat tiedon tallennus,

lomakesivun 1 korjaus, lomakesivun 2 korjaus, yleiskuvauksen korjaus, tiedon poisto kannasta sekä lomakkeen tyhjennys.

(30)

päävalikko

korjausvaIikko VALIKOT

alkutoimet ALUSTUS

RAKO!LU

LOPETUS

KIVILAJI

SIIRTO LISTAUS

TEKTON1S

POISTO UUDET

LOMAKE 1

ASETUS

KIVIVARA

VANHAT

KORJAUS

HALLINTO TALLETUS

KUVAUS

lomakkeiden täyttö

Kuva 10: Yksinkertaistettu hierarkkinen lohkokaavio

Käyttäjälle ohjelma näkyy kahtena vuorottelevana kuvaruutulomakkeena (kuvat 11 ja 12), jotka ovat sommittelultaan käytetyn maastohavaintolomakkeen näköisiä (liitteet laja Ib) sekä kahtena valikkona, jotka tarvittaessa ilmaantuvat ruutuun lomakkeiden päälle. Ohjelman alkutilassa ruudulla on kuvaruutulomake 1 sekä päävalikko (kuva

11).

(31)

PÄÄVALIKKO 01/01/90 10:22:36

Karttal. X Zy Za Kohteen nimi Kunta

Hav.koko Palj-% Palj.Raj. Raj.Tek. Hav.pvm Tall.pvm Muut.pvm Hav. No .../--/-- --/--/-- --/--/...

KIVILAJITIEDOT : Mine- Kivilaji % raalit

1 2

3 4 5

UUDEN TIEDON SYÖTTÖ VANHAN TIEDON KORJAILU LISTAUS

TIEDON SIIRTO LOPETUS

Näy­

te X

TEKT0NIIKKA: MITTAUKSET TEKT.RAKENNE RP JÄ LA OH HK MK

Uusien alueiden syöttäminen tietokantaan

Kuva 11: Kuvaruutulomake 1

Sivu 2; Päärakosuunnat: 1 01/01/90 10:22:57

RAKOILUTIEDOT:

TYYPPI VAI HT K L Ki S H T E

PÄÄRAKOSUUNNAT RAKOTIHEYS

TALLENNA TIEDOT KORJAA SIVUA 1 KORJAA SIVUA 2 YLEISKUVAUS POISTA TIEDOT TYHJENNÄ LOMAKE YLEISKUVAUS

Syötettyjen /korjattujen tietojen tallennus tietokantaan

Kuva 12: Kuvaruutulomake 2

(32)

Ensimmäisenä ohjelma tekee aikatoimet, joihin kuuluvat lomake l:n tulostaminen ruutuun, alku asetukset sekä muuttujien, ikkunoiden ja valikoiden määrittelyt. Alkuase- tukset sisältävät lähinnä kuvaruudun ja näppäimistön toimintaan vaikuttavia "set"- tyyppisiä komentoja /2/. dBase IV -kieli mahdollistaa komentovalikkojen määrittelyn, mitä on hyödynnetty ohjelman pää- ja korjausvalikkojen toteuttamisessa.

Seuraavaksi siirrytään valikon kautta yhteen ohjelman päätoiminnoista käyttäjän valinnan mukaisesti.

Tiedon syöttöön ja korjailuun liittyvä lomakkeiden täyttö on ohjelman rakenteellisen selkeyden vuoksi jaettu viiteen lohkoon (rajattu kuvassa 10 pisteviivalla). Näistä kolme ensimmäistä liittyvät lomakesivuun 1 ja loput kaksi sivuun 2.

Hallintolohkossa käsitellään sivun 1 kaksi ylintä riviä, jotka sisältävät lähinnä muodostumakohtaista aika- ja paikkatietoa. Annettavan karttalehden perusteella haetaan pienin vapaana oleva muodostumatunnus; yhdessä nämä muodostavat aluekoodin, joka on relaation avain. Annettavan kunnan nimen perusteella haetaan apurelaatiosta lääni, seutukaavaliitto ja TVL:n piiri. Paljastumaa rajaavat elementit ja käyttöä rajoittavat tekijät annetaan lyhenteinä, joille annetaan selväkieliset vasti­

neet. Täytön nopeuttamiseksi "karttalehdellä", "kunnalla" ja "havainnoitsijalla" on oletusarvoina edellisellä syöttökerralla käytetyt arvot; nehän pysyvät usein samoina useamman lomakkeen ajan.

Kivilajilohkossa käsitellään tärkeimmät kivilaj¿kohtaiset kentät. Niistä useimmat syötetään lyhenteinä, joille jälleen haetaan selväkieliset vastineet. Kuutiomäärä voidaan niin haluttaessa täyttää automaattisesti, jolloin se lasketaan elliptisen paraboloidisegmentin tilavuuden kaavalla käyttäen edellä syötettyjä pituutta leveyttä ja korkeutta (z-ylin - z-alin). Tässä lohkossa täytettyjen kivilajirivien määrä tallenne­

taan ja seuraavat lohkot rajoittavat automaattisesti toimintansa näille riveille.

"Tektonis"-lohkossa käsitellään tektoniset parametrit ja rakenteet, muutamia raken­

nusgeologisia parametrejä sekä hie- ja valokuvatiedot.

Rakoilulohkossa käsitellään kivilajikohtaisesti rakoilun ja rakovaihtelun tyypit sekä muodostumakohtaisesti rakotiheydet ja päärakoilusuunnat. Annettujen profiilien

(33)

pituuksien ja rakomäärien perusteella lasketaan automaattisesti rakotiheys ja määrite­

tään rakoluokka.

Kuvauslohkossa siirrytään automaattisesti tekstieditoriin, jolla voidaan kirjoittaa muodostumasta vapaamuotoinen yleiskuvaus. Kuvaus tallennetaan kantaan erityiseen memo-tyyppiseen kenttään /2/.

Kuvaruutulomakkeelle syötetyt tiedot siirtyvät tietokantaan vasta korjausvalikosta annettavalla tallennuskomennolla. Ohjelma tutkii, onko kyseisillä avainkenttien arvoilla jo tallennettu tietoa ja sen mukaisesti joko päivittää vanhan muodostuman tai tallentaa muodostuman uutena. Korjausvalikosta päästään päävalikkoon vain joko tallentamalla tiedot tai luopumalla niistä vaihtoehdolla "lomakkeen tyhjennys".

k

Vaikka varsinaiset haku- ja tulostusoperaatiot tehdään vasta VAXin tietokannassa erillisellä ohjelmalla, myös mikron tallennusohjelmaan on liitetty listausmahdollisuus, joka helpottaa tallennustyön edistymisen seurantaa. Muodostumista saadaan suppea, keskilaaja tai laaja listaus (liitteet 3, 4, 5a ja 5b) hakukriteerinä 1:20 000 -karttalehti, lehden alkuosa tai kunnan nimi.

Tiedon siirtämiseksi VAXiin se tulostetaan ensin kolmeksi ASCII-muotoiseksi tekstitiedostoksi. Tiedonsiirron eri vaiheet on kuvattu kappaleessa 9.

Lopetusmoduulissa tallennetaan viimeksi käytetyt karttalehti, kunta ja havainnoitsijan nimikirjaimet aputiedostoon käytettäviksi oletusarvoina ohjelman seuraavan käynnis­

tyksen yhteydessä. Käytetyt tiedostot suljetaan ja asetukset palautetaan oletusar­

voihinsa; nämä toimet tosin tapahtuisivat automaattisestikin, mutta ne on rakenteen selkeyttämiseksi tässä erityisesti suoritettu.

(34)

6. Tiedon haku ja tulostus VAXissa 6.1. Kehitysohjelmat

Tietokannan toteuttamiseen VAX-ympäristössä oli käytettävissä Digitalin RDB- (Relational Data Base) tietokantaohjelmisto. Siihen kuuluvalla käsittelyohjelmalla, RDO (Relational Database Operator), voidaan määritellä relaatiotietokannan rakenne ja käsitellä sen dataa.

Ohjelmointikieleksi valittiin Digitalin VAX-Pascal, joka sisältää normaalit Pascal­

kielen ominaisuudet sekä monia laajennuksia. Lisäksi käytössä oli RDB-Pascal- esikääntäjä, joka mahdollistaa RDB-kannan käsittelykomentojen kirjoittamisen suoraan Pascal-koodin sekaan.

Ohjelman käyttäjäliityntä on toteutettu pääosin TDMS-kehittimen (Terminal Data Management System) avulla; sillä voidaan määritellä kuvaruutulomakkeita, jotka k- oostuvat tekstistä, kehysviivoista ja syöttökentistä. Loppukäyttäjä voi liikkua ruudulla lomakkeen kentästä toiseen ja syöttää niiden välityksellä ohjelmalle tietoa. TDMS määrittelee kenttiä vastaavat muuttujat, joita voidaan kutsua Pascal-ohjelmasta.

MMS-moduulien käsittelyohjelmalla (Module Management System) voidaan pitää laajan ohjelman moduulien käännökset ja linkitys ajantasalla. MMS tutkii automaatti­

sesti, mitä moduuleita on edellisen linkityksen jälkeen muutettu sekä suorittaa tarpeelliset esikäännökset, käännökset ja linkityksen.

Käytettyjen kehitysohjelmien keskinäiset suhteet on esitetty kuvassa 13.

(35)

EDITORI TDMS-RUUDUT R D 0

1 1

M M S

RDB-PASCAL -ESIKÄÄNTÄJ A

VAX- PASCAL-KÄÄNTÄJA

LINKITYS

RDB-KANTA

Kuva 13: VAX-ohjelmoinnissa käytettyjen kehitysohjelmien keskinäiset suhteet

6.2. Sovellus

Haku- ja tulostusohjelmaa suunniteltaessa ensisijaisiksi tavoitteiksi asetettiin käytön helppous ja kontrolloitavuus.

Ohjelmaa käytetään valitsemalla toimintoja valikoista ja täyttämällä tarvittaessa ruudun syöttökenttiä. Alkutilassa ruudussa on päävalikko, josta voidaan valita jokin seuraavista hakukriteereistä:

karttalehden numero, kunta,

lääni,

seutukaavaliitto tai muu haku.

Vaihtoehdon "muu haku" sisältö on toistaiseksi avoin; siihen sijoitetaan luultavimmin mahdollisuus vapaaseen SQL-hakuun.

Kun haluttu hakukriteeri on syötetty, ruudulle saadaan hakuehdon täyttävien muodos­

tumien lukumäärä; niistä voidaan tulostaa suppea, keskilaaja tai laaja listaus (liitteet 3, 4, 5a ja 5b). Suppea listaus sisältää vain muodostuman tärkeimmät nimi- ja sijaintitiedot yhdellä rivillä. Keskilaajaan listaukseen kuuluu edellisten lisäksi kunkin

(36)

kivilajin nimi, määrä ja laatuluokka sekä muutaman rivin suppea yleiskuvaus. Laajassa listauksessa on muodostuman kaikki tallennetut tiedot.

Tulostuksen järjestelyperusteet ovat kiinteät; ensisijaisena perusteena on kunnan nimi, toissijaisena karttalehden numero ja kolmantena muodostuman nimi. Tulostus luo ASCII-tekstitiedoston, joka voidaan tulostaa paperille, kopioida levykkeelle tai siirtää sähköisessä muodossa vastaanottajalle.

Ohjelman hierarkkinen lohkokaavio on esitetty kuvassa 14. Ensimmäisenä ohjelma tarkastaa käyttäjätunnuksen, jolla se on käynnistetty (lohko "Kaytt_Ok"). Tunnusta verrataan kannassa olevaan sallittujen käyttäjätunnusten luetteloon; jos tunnus ei ole hyväksyttävä, ohjelman suoritus päättyy tähän. Jos tunnus hyväksytään ruutuun tulee ohjelman päävalikko (lohko "Valinta_A"). Käyttäjän valinnan mukaisesti tehdään jokin edellä luetelluista hakuprosesseista. Tulostus tiedostoon tehdään lohkossa

"Kirjoitus". Suppealla listauksella ei ole sen koodin lyhyyden vuoksi omaa lohkoa, kuten keskirajalla ja laajalla listauksella.

(37)

KAYTTJMC VALINTA A

KIVI

KTL

KTL A

KUNTA

KUNTA A

LÄÄNI SEUTU

“I---Г

LÄÄNI A SEUTU A

KYSELY

Haku i

KIRJOITUS

L

KESKI LAAJA

L LISAA

TULOSTA

TYHJÄÄ

Lomake

Kuva 14: Haku- ja tulostusohjelman lohkokaavio

Pascal-kielessä ehdollisen formaatin mukaisen tulostuksen toteuttaminen on melko monimutkaista ja työlästä. Write-lause sijoittaa tekstin aina alkaen kursorin sen hetkisestä sijaintipaikasta. Lomakemuotoisessa tulostuksessa kukin teksti halutaan yleensä vakiosarakkeisiin riippumatta muiden sarakkeiden täytöstä. Tällaisen tulostuk­

sen apuna ohjelma käyttää pientä aliohjelmapakettia "Lomake". Sen avulla voidaan melko yksinkertaisesti ensin sijoittaa tulostettavat asiat 25 * 80 -kokoiseen taulukkoon halutuille kohdille ("Iisaa") ja sitten tulostaa tämä taulukko ("tulosta"). Lopuksi taulukko voidaan tyhjentää uutta täyttöä varten ("tyhjää").

Kunkin tulostuksen jälkeen ohjelma palaa päävalikkoon, josta voidaan joko valita uusi tulostus tai ohjelman lopetus.

(38)

Koko ohjelmaa kutsutaan komentoproseduurilla, joka kirjaa ylös kutsun ajankohdan ja kutsujan käyttäjätunnuksen sekä ilmoittaa ruudulla käytetyn keskusyksikköajan.

7. Graafisen tiedon käsittely 7.1. Fingís

Graafisen tiedon käsittelyyn käytettiin Maanmittaushallituksen Karttapainon kehittä- mälle Pingis piirto-ohjelmistolle tehtyä sovellusta. Pingis (Finnish Geographic Information System) on VAX-ympäristössä grafiikkapäätteen ja digitointipöydän avulla käytettävä ohjelmisto, jonka avulla on mahdollista tallentaa ja tulostaa vektori­

muotoista karttatietoa. Ohjelmiston perusrakenne on esitetty kuvassa 15. Järjestelmä koostuu kolmesta osasta: käyttöliittymästä, tiedonhallintajärjestelmästä tietokantoi- neen sekä topologisen tiedon käsittelyosasta /3/.

KÄYTTÖ­

LIITTYMÄ

TOPOLOGINEN OSA TIEDONHALLINTA­

JÄRJESTELMÄ

KÄYTTÄJÄ

Kuva 15: Fingis-ohjelmiston perusrakenne /3/

Sanalla "tietokanta" on Fingisterminologiassa eri merkitys, kuin normaalisti; se voidaan ymmärtää ennalta määritellyksi tiettyihin maastomillimetreihin sidotuksi suorakulmaiseksi alueeksi, johon digitointitoimet kohdistetaan. Normaalisti yhden

(39)

peruskarttalehden alue määritellään yhdeksi tietokannaksi. Kantaan tallennettavat tiedot ovat graafisien kohteiden sijaintipisteitä. Graafisia kohteita ovat viivat, symbolit ja tekstit; jatkossa niistä käytetään lyhyesti nimitystä kohde.

Käyttöliittymän avulla hoidetaan tiedon syöttäminen, tiedon tulostaminen,

kuvaustekniikan määrittäminen, ohjaustietojen määrittäminen, kyselyt,

tiedon vuorovaikutteinen tarkastaminen ja korjailu sekä tiedonsiirto Pingiksen ja muiden ohjelmien välillä.

Sen kautta myös määritellään käytettävät oheislaitteet, kuten digitointipöydät ja piirturit.

Tiedonhallintajärjestelmä huolehtii tietokantojen sisällöstä, sijaintihakemistoista ja tietokantahakemistoista. Sijaintihakemiston avulla kohteita voidaan tehokkaasti hakea niiden sijainnin perusteella. Vierekkäisiä tietokantoja voidaan tietokantahakemiston avulla käsitellä samanaikaisesti, jolloin koko hakemiston alaisuudessa olevaa kartastoa voidaan käsitellä yhtenä kokonaisuutena.

Järjestelmän topologiseen osaan kuuluu mm. aluetiedonhallinta ja tiedon inventointi ja analysointi. Aluetiedonhallinta merkitsee tietyn viivaluokan viivoilla rajatun suljetun alueen ymmärtämistä alueeksi. Inventointiin ja analysointiin kuuluvat mm. pinta-alan lasku, matkojen ja etäisyyksien mittaaminen sekä massalaskelmat.

Fingisohjelma on sen käyttämien parametritiedostojen avulla varsin joustavasti muokattavissa käyttäjän tarpeiden mukaiseksi. Jatkossa tällaista tiettyyn tarkoitukseen suunniteltua parametritiedostojen ryhmää yhdessä Pingis-ohjelman kanssa kutsutaan sovellukseksi. Kaikki kohteet ja niiden väliset suhteet määritellään parametritiedosto­

jen avulla, joten mitään digitointityötä ei ennen sovelluksen määrittelyä voi tehdä.

Parametritiedostoja on 14 kpl (taulukko 11); niistä tärkeimmät kuvaillaan seuraavana.

Viittaukset

LIITTYVÄT TIEDOSTOT

The martti desktop application uses a small database file on each of the computer where the application is installed, while the web application uses a centralized database

The model was developed further and some sensitivity studies were made with it. Also, the effect of changing the attenuation coefficients from bulk values to spectral values

Together, these artefacts of human population history made it economically possible to use DNA microarray technology to genotype a sufficiently large number of variants to

In this study, IFI27 mRNA was expressed in the psoriatic epidermis, other hyperproliferative skin disorders, healing wounds, and squamous cell carcinomas (SCCs) in a spatially

Jätteiden käsittelyn vaiheet työmaalla ovat materiaalien vastaanotto ja kuljetuspak- kauksien purku, materiaalisiirrot työkohteeseen, jätteen keräily ja lajittelu

Raportissa tarkastellaan monia kuntajohtami- sen osa-alueita kuten sitä, kenellä on vaikutusvaltaa kunnan päätöksenteossa, mil- lainen johtamismalli olisi paras tulevaisuudessa,

it flatways but fall through if they fall longitudinally. By shaking the sieve or mixing the material upon it one gives each particle repeated possibilities to fall longitudinally.

Seiskan joutuminen päämaaliksi tässä kampanjassa kertonee lähinnä siitä, että kyseiseen julkaisuun kiteytyivät ihmisten mielissä monet juorulehdistön ikä- vimmät piirteet (ks.