HELIA 1 (1) Luento 1 Johdanto... 2 Miksi tietovarastoja?... 2 Tieto ja kohde... 3 Tietovarastot ja tietojärjestelmät... 4 Tietovarasto tietokoneella = Tiedosto... 5 1. Hakemisto / Kansio / Directory... 5 2. Datatiedostot... 5 3. Ohjelmatiedostot... 5 Tiedoston käsittely... 6 Tietovarastotekniikan kehittyminen... 7 Tiedostopohjaiset ratkaisut... 7 Peräkkäistiedostot... 8 Suorasaantitiedostot... 9 Tiedostopohjaisten ratkaisujen ongelmia:... 10 Tietokantapohjaiset ratkaisut... 11 Tietokantakäsitteitä... 12 Tietokantapohjaisten ratkaisujen etuja... 13 Tietokantapohjaisten ratkaisujen haittoja... 13 Eri tarkoituksiin erilaisia tietovarastoja... 14 Tekstitiedostot... 14 Taulukkolaskennan tiedostot... 14 Kortisto-ohjelmat / Pienet tietokannat... 14 Suuret tietokannat... 14
HELIA 2 (2) Johdanto Miksi tietovarastoja? Organisaatiossa toimii tyypillisesti mm. työntekijöitä, tuotteita, asiakkaita, tilauksia, Jotta yritys voi tietää, mitä yrityksessä tapahtuu on sen käsiteltävä ja tallennettava tietoa tyypillisesti mm. työntekijöistä, tuotteista, asiakkaista, tilauksista, Aasi! Aasi 1 kpl Aasi 1 kpl Kohde Tieto Tallennettu Tietovarasto Tieto Jotta tietoja voidaan hyödyntää toiminnassa, tietojen on oltava luotettavia. Tietoja on varastoitu vuosituhansia, niin kauan kuin ihminen on osannut kirjoittaa. Atk-järjestelmien avulla tiedon käsittely ja tallennus on kehittynyt huimasti: 1. tiedon käsittely on entistä nopeampaa 2. tieto voidaan tallentaa entistä pienempään tilaan
HELIA 3 (3) Tieto ja kohde Merkki: Malli: Vuosimalli: Rekisterinumero: Käyttöönottovuosi: Mittarilukema: Ikä: Sylinteritilavuus: Ovien lukumäärä: Turvavarusteet: Huippunopeus: Kiihtyvyys: Ä Mitkä ominaisuudet ovat mielenkiintoisia? Rajaus Ä Miten yksilö tunnistetaan? Avain Ä Mitkä tiedot voivat puuttua? Modaalisuus Ä Mitkä tiedot voivat muuttua? Päivitettävyys Ä Mitä tietoja voi olla monta kappaletta? Tietorakenne
HELIA 4 (4) Tietovarastot ja tietojärjestelmät Tietojärjestelmä = Tietosysteemi Systemaattinen tietojen käsittely, joka palvelee jotakin toimintaa Ä (systemaattinen = toistuva & säännönmukainen) a) Ihmiset + tietojenkäsittely- ja siirtolaitteet + toimintaohjeet b) Abstrakti järjestelmä, jonka muodostavat tiedot ja niiden käsittelysäännöt Atk-järjestelmä = Atk-systeemi 1. Laitteisto tietokone oheislaitteet 2. Ohjelmisto varusohjelmisto sovellusohjelmat 3. Tietovarastot tiedostot tietokannat Sovellus Sovellus on ohjelma tai joukko ohjelmia, jotka on tehty palvelemaan jotakin tiettyä toimintaa Tietokanta Tiettyä kohdealuetta kuvaavien tietojen organisoitu kokoelma Ä Tietoja säilytetään pitkähkö aika
HELIA 5 (5) Tietovarasto tietokoneella = Tiedosto Kaikki tietokoneessa / atk-pohjaisilla tietovälineillä sijaitsevat tiedot tallennetaan aina tiedostoon Tiedosto = Joukko tietoja, jotka on tallennettu tietovälineellä samaan paikkaan ja joilla on nimi (Eri käyttöjärjestelmissä erilaisia nimeämissääntöjä) Tiedostoja voidaan ryhmitellä hakemistorakenteeksi 1. Hakemisto / Kansio / Directory Juurihakemisto (levyn) Muut hakemistot 2. Datatiedostot Sisällön mukaan Tekstiä Taulukoita Kuvia Tehtävän mukaan Kantatiedosto Tapahtumatiedosto Parametritiedosto Välitiedosto Työtiedosto Lokitiedosto Kopiotiedosto / Varmuustiedosto 3. Ohjelmatiedostot Tekstinkäsittelyohjelma Taulukkolaskentaohjelma Piirrosohjelma Tietokantaohjelma
HELIA 6 (6) Tiedoston käsittely Perustaminen Poistaminen Kopioiminen Siirto Uudelleen nimeäminen Avaaminen Luku Kirjoitus Sulkeminen (etsi, lue) (lisäykset, muutokset, poistot)
HELIA 7 (7) Tietovarastotekniikan kehittyminen Tiedostopohjaiset ratkaisut Kulta-aika 1950-1960 luvut Vain yhden sovelluksen käytettävissä kerrallaan Vain yhden käyttäjän käytettävissä kerrallaan Sovellus 1 Sovellus 2 Sovellus 3 Tietovarasto 1 Tietovarasto 2 Tietovarasto 3
HELIA 8 (8) Peräkkäistiedostot 1950-luku: reikäkortit ja reikänauhat 1960-luku: magneettinauhat käytössä edelleen mm. varmuuskopioinnissa, eräajoissa, päivityslokeissa, Tiedot sijaitsevat peräkkäin, ts. tiedot ovat luettavissa ja kirjoitettavissa vain peräkkäisjärjestyksessä Tiedosto voi olla järjestämätön tai järjestetty (huomattavat erot haku- ja päivitysnopeudessa!) Tyypillisesti tiettyä tiedostoa käytti vain yksi sovellus (mahdollisesti useampikin) Tyypillisesti sama tieto oli kopioitu useampaan tiedostoon
HELIA 9 (9) Suorasaantitiedostot 1960-luku: rumpu ja levymuistit tiedolla täytyy olla jokin yksilöivä ominaisuus, jota käytetään hakuperusteena eli ns. avaimena 1. hakemistoranteinen järjestetty peräkkäistiedosto 2. hajarakenne (hash) Tyypillisesti tiettyä tiedostoa käytti vain yksi sovellus (mahdollisesti useampikin) Tyypillisesti sama tieto oli kopioitu useampaan tiedostoon Hakemistorakenne Autotiedosto Hakemisto 1 1011 Volvo 0011 3 2 0235 Audi 0235 2 3 0011 Renault 0551 4 4 0551 Toyota 1011 1 Hajarakenne Autotiedosto Hajautin (=funktio) 1 0235 Audi Param. Os. 2 1011 Volvo Osoitin ylivuotoalueelle 0551 3 0011 Renault 4 0551 Toyota
HELIA 10 (10) Tiedostopohjaisten ratkaisujen ongelmia: Tiedon riippuvuus (Dependency) Tietovaraston rakenne oli kuvattu vain sitä käsittelevässä ohjelmassa (ns. Tietovaraston ohjelmariippuvuus) Tietovaraston rakenteen muuttaminen aiheutti muutoksia myös sitä käsittelevään ohjelmaan (ns. Ohjelman tietoriippuvuus) Eri tiedostoissa olevien tietojen käyttö hankalaa (isolation & separation of data, incompatible files) Kiinteät kyselyt & päivitykset (=ohjelmoitava) (fixed queries) Tiedon monistus (Duplication) Moneen kertaan tallennettu tieto saattoi olla ristiriitaista eri tiedostoissa Moneen kertaan tallennettu tieto vaati moninkertaisen tallennustilan Käsittelyn tarve kasvaa Tiedon suojaus työlästä (Integrity & Sequrity) Tietojen yhteiskäyttö työlästä: tiedon eheydestä huolehtivat mekanismit ohjelmoitava itse Virhetilanteiden hallinta työlästä: virhetilanteista toipuminen ohjelmoitava itse Käyttöoikeuksien hallinta työlästä: käyttöoikeuksien valvonta ohjelmoitava itse
HELIA 11 (11) Tietokantapohjaiset ratkaisut 1970-luku -> Tiedon tallennuksesta ja hausta vastaa keskitetysti tietokannanhallintajärjestelmä / tiedonhallintajärjestelmä Moni sovellus voi käyttää yhtäaikaa samaa tietovarastoa Moni käyttäjä voi käyttää yhtäaikaa samaa tietovarastoa Tietovaraston ohjelmariippumattomuus Sovelluksen tietoriippumattomuus Sovellus 1 Sovellus 2 Sovellus 3 Tiedonhallintajärjestelmä Tietovarasto 1 Tietovarasto 3 1. Verkkotietokannat 70-luku 2. Hierarkkiset tietokannat 70-luku 3. Relaatiotietokannat 80-luku 4. Objektitietokannat 2000-luku?
HELIA 12 (12) Tietokantakäsitteitä Tietokanta Tiettyä kohdealuetta kuvaavien tietojen organisoitu kokoelma, Relaatiotietokanta Relaatiotietomallin mukaisesti organisoitu tietokanta Tietomalli Malli, jonka mukaan tietokannan tiedot organisoidaan. Malli koostuu joukosta peruskäsitteitä, -sääntöjä ja - operaatioita Esim: relaatiomalli, verkkomalli ja hierarkkinen malli. Tiedonhallintajärjestelmä / Tietokannanhallintajärjestelmä / DBMS Ohjelmisto, joka keskitetysti vastaa tiedon hausta ja ylläpidosta Relationaalinen tiedonhallintajärjestelmä / RDBMS Ohjelmisto, joka hakee ja ylläpitää tietokannan tietoja käyttäen relaatiotietomallin rakenne-, sääntö- ja käsittelyominaisuuksia Esim. Oracle, Sybase, Solid,... Tietokantasovellus Sovellus, jossa tietovarastot ja niitä käsittelevät ohjelmat on erotettu toisistaan siten, että tiedon varastoinnista vastaa keskitetysti tiedonhallintajärjestelmä
HELIA 13 (13) Tietokantapohjaisten ratkaisujen etuja Tiedon ohjelmariippumattomuus Tiedon parempi saavutettavuus Ad hoc käsittely ilman vaativaa ohjelmointia... Eri sovellusten tietojen yhdistäminen helpompaa Parempi ylläpidettävyys Tiedon eheys (Integrity) Redundanssin hallinta / eliminointi Tiedon yhteiskäyttöisyys helpompaa Toipumismekanismit virhetilanteiden varalle Tiedon suojaus (Sequrity) Käyttöoikeuksien hallinta Standardi käsittelykieli Ohjelmoinnin tehokkuus Tietyt eheydestä, tietoturvasta ja toipumisesta vastaavat mekanismit valmiina ei tarvitse itse ohjelmoida Tietokantapohjaisten ratkaisujen haittoja Monimutkaisuus Hinta Laitteisto Ohjelmisto Ylläpitotyö Suorituskyky
HELIA 14 (14) Eri tarkoituksiin erilaisia tietovarastoja Tietojen luonne? Tiedon käyttäjien lukumäärä? Tietojen määrä? Tiedonkäsittelytehtävän yksinkertaisuus / monimutkaisuus Tekstitiedostot Tekstipainotteinen tieto Vapaamuotoinen tieto Ei vaativaa tiedonhakua Ei samanaikaista käsittelyä Taulukkolaskennan tiedostot Numeropainotteinen tieto Laskentapainotteiset tehtävät Pienehköt tietomäärät Ei vaativaa tiedonhakua Ei samanaikaista käsittelyä Kortisto-ohjelmat / Pienet tietokannat Tekstiä, numeroita, kuvia, Monipuolisemmat tiedon hakumahdollisuudet Ei samanaikaista käsittelyä Suuret tietokannat Suuret tietomäärät Monimutkaista tiedonhakua Samanaikaista käsittelyä Tiedon suojaus tärkeää