Johdanto. Kiinteistöhuoltoyhtiö tarvitsee järjestelmän huoltopyyntöjen hallinnointiin

Samankaltaiset tiedostot
Helsingin yliopisto/tktl Tietokantojen perusteet, s 2006 Tiedon mallinnus ja tietokannat. Harri Laine 1. Tietokanta.

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Tietokanta (database)

jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja

Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin?

Tietomallit. Näkökulmat tietoon. Näkökulmat tietoon. Näkökulmat tietoon. Abstraktiotasot tiedon käsittelyssä

Tietokannan hallinta. Kevät 2004 Jan Lindström R&G Chapter 1

Tietomallit. Näkökulmat tietoon. Näkökulmat tietoon. Mitä malleja olisi tarjolla? Abstraktiotasot tiedon käsittelyssä

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

Luento 3 Tietokannan tietosisällön suunnittelu

Helsingin yliopisto/tktl Tietokantojen perusteet, k 2003 Relaatiomallin peruskäsitteet Harri Laine 1. Tietomallit. Näkökulmat tietoon

2017/11/21 17:28 1/2 Tilitapahtumat. Tilitapahtumat... 1 Käyttö:... 1 Asiakirjan kentät:... 1

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

millainen on se kohde, jota tiedoilla pitäisi kuvata asiat, joita pitäisi esittää Mitä tietoelementtien arvot tarkoittavat

On autoja, henkilöitä, Henkilöllä on nimi Autolla on omistaja, joka on henkilö. Taulu AUTO(rekno, malli) Taulu HENKILO(nimi, )

M. Merikanto 2012 XML. Merkkauskieli, osa 2

Tietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita.

HELIA 1 (20) Outi Virkki Tiedonhallinta

Action Request System

Yhteentoimivuusalusta ja sen hyödyntäminen kuntien/maakuntien taloushallinnossa Petri Tenhunen, VRK

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Ohjelmoinnin perusteet Y Python

Käyttöohje. Visy Access Net UPM

HELIA 1 (17) Outi Virkki Tiedonhallinta

StanForD-XML. Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen

Ohjelmistojen mallintaminen, mallintaminen ja UML

EMVHost Online SUBJECT: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT COMPANY: EMVHost Online Client sovelluksen käyttöohje AUTHOR: DATE:

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit

Ylläpitodokumentti. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

SIPS-ostolaskujen XML-ohjeet toimittajille

Pedanet oppilaan ohje Aleksanteri Kenan koulu Eija Arvola

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen

Settings-sivun kautta on mahdollista muokata Kirjastokarttapalveluun liittyviä kirjastokohtaisia asetuksia.

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2007 ER-mallin peruskäsitteet.

Toinen harjoitustyö. ASCII-grafiikkaa 2017

1. a) Laadi suoraviivaisesti kyselyä vastaava optimoimaton kyselypuu.

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Ohjelmoinnin perusteet Y Python

Visma Fivaldi -käsikirja Tehtävienhallinta- ohje käyttäjälle

Metatiedot organisaatioiden sisällönhallinnassa

REKISTERI- JA TIETOKANTA-AINEISTOJEN SIIRTÄMINEN VAPA-PALVELUUN

HELIA 1 (11) Outi Virkki Tiedonhallinta

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Ohjelmistojen mallintaminen kertausta Harri Laine 1

OULUN YLIOPISTON KIRJASTON JA VARASTOKIRJASTON LOWTAG-KÄYTÄNTÖ

Ohjelmoinnin perusteet Y Python

Järjestelmäarkkitehtuuri (TK081702)

HELIA 1 (14) Outi Virkki Käyttöliittymät ja ohjlmiston suunnittelu

Tietokantakurssit / TKTL

Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne

TIETOKANTOJEN PERUSTEET MARKKU SUNI

Ohjelmoinnin perusteet Y Python

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10

Asentaminen Android-laitteeseen

Hakulomakkeen täyttöohjeet

Asiakastietojen tuominen toisesta tietokannasta etaika-ohjelmistoon. Kuinka yhdistän tietoja eri asiakastietokantojen välillä

Sisältö. 22. Taulukot. Yleistä. Yleistä

Sisältö. 2. Taulukot. Yleistä. Yleistä

Interfacing Product Data Management System

Tietokannan luominen:

HELIA TiKo-05 1 (10) Outi Virkki ICT03D Tieto ja tiedon varastointi yrityksessä

Uuden työ- tai mittavälineen luominen tietokantaan

Suunnitteluvaihe prosessissa

Ohjelmoinnin perusteet Y Python

Asiointipalvelun ohje

Written by Administrator Monday, 05 September :14 - Last Updated Thursday, 23 February :36

Palkkatiedustelun vastaustiedoston luonti

FORMATIIVINEN ARVIOINTI

KYMP Webmail -palvelu

Soittorobotin käyttöohje

Tietokantojen suunnittelu, relaatiokantojen perusteita

SILMAT-INTRANET -OHJE

Asiakashallinta. TaikaTapahtumat -käyttöohje

Ohjelmoinnin perusteet Y Python

Tiedonhaku ja varaaminen

Internetin hyödyt ja vaarat. Miten nettiä käytetään tehokkaasti hyväksi?

Sinkka Projekti Sivu 1 (9) Asiakas- ja Hallinto dokumentti

Paikkatiedot ja Web-standardit

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Copyright Basware Corporation. All rights reserved. Pikaopas toimittajille Supplier Portal (Toukokuu 2013)

Tiedonhaku Nelli-portaalissa

PALKKA-AINEISTON SIIRTOTIEDOSTO

HL7 Clinical Document Architecture. Seminaari: Tiedonhallinta terveydenhuollossa Riku Niittymäki

Tiedonkeruun tekninen toteutus

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

Provet Net Kutsut ohje

Näin haet vuosilomakustannuskorvausta. työnantajalle verkossa. Työnantajan asiointipalvelu

Tietojen lataaminen SOTE-organisaatiorekisteristä omiin tietojärjestelmiin

Hankinnan tarjousvastauksen liittymäaineistojen kuvaukset

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Pilvitallennus Google Drive 1

Luokka- ja oliokaaviot

Päivityspalvelu. Tietuekuvaus. Tietuekuvaus 1 (5) Päivityspalvelu. Julkinen - Public

Jypelin käyttöohjeet» Ruutukentän luominen

10. ASIAKASHALLINTA CRM; Osoitetarrat, ryhmäsähköposti ja export

VINKKEJÄ CV-NETIN KÄYTTÖÖN.

Toinen harjoitustyö. ASCII-grafiikkaa

Järjestelmäriippumattomia siivousohjeita

Transkriptio:

Johdanto Kiinteistöhuoltoyhtiö tarvitsee järjestelmän huoltopyyntöjen hallinnointiin Asiakas voi tehdä huoltopyynnön lähettämällä kirjeen tai sähköpostin? Asiakas voi tehdä huoltopyynnön soittamalla puhelinvastaajaan?

Johdanto Ongelma: Vapaamuotoisen tiedon (esimerkiksi puhe, teksti tai kuva) koneellinen käsittely vaikeaa Sisältö on jäsentämätöntä Jotain säännönmukaisuuksia esiintyy (merkistö, tiedoston tallennusformaatti...) Voidaan säilyttää kokonaisuutena

Johdanto Kiinteistöhuoltoyhtiö tarvitsee järjestelmän huoltopyyntöjen hallinnointiin Asiakas voi täyttää lomakkeen netissä? Asiakas voi soittaa huoltoyhtiössä olevalle toimistotyöntekijälle joka kirjaa huoltopyynnöt? ja kysyy tarvittavat tiedot.

Johdanto Jos tiedetään tarvittu data eli tieto, (esimerkiksi asiakkaan nimi, kohteen sijainti, asiakkaan yhteystiedot), voidaan se säilöä jäsenneltynä Tiedolle voidaan määritellä rakenne Koneellinen käsittely helppoa On mahdollista hakea vain tiettyä kenttää, eli tiedon osiin pääsee käsiksi helpommin kuin jäsentämättömässä datassa (esimerkiksi yhteystietojen hakeminen)

Tiedon säilöminen Ratkaisu: Säilötään järjestelmän tiedot ohjelman sisäisiin tietorakenteisiin Esim. Lista-rakenne Huoltopyynto-olioita Huoltopyynto-luokka määrittelee tiedot, joita huoltopyyntö-oliolla on (esim asiakas, asiakkaan puhelinnumero, kohde,...)

Tiedon säilöminen Ratkaisu: Säilötään järjestelmän tiedot ohjelman sisäisiin tietorakenteisiin Ongelma: tietorakenteet käytettävissä vain kun ohjelmaa suoritetaan Tiedot menetetään kun ohjelman suoritus päättyy voi tapahtua sekä kontrolloidusti että kontrolloimattomasti Käyttäjä sulkee ohjelman Ohjelma kaatuu... Ratkaisu?

Tiedon säilöminen Tieto tulee tallentaa pysyväismuistiin (tiedosto kiintolevyllä, ssd-levyllä, usb-tikulla...) Mahdollisuus tallentaa olioita suoraan levylle sarjallistamalla (Java: rajapinta Serializable) Kiinteistöhuoltoyhtiö toivoo että tietoa pystyy käsittelemään tulevaisuudessa muillakin ohjelmilla Tallennusmuodon tulee olla toteutuksesta eli ohjelmasta riippumaton Tallennetaan tiedostoon jolla määritelty rakenne

Tiedoston rakenne CSV-muoto (comma-separated values) Tekstitiedosto, tietoon liittyvät kentät erotettu toisistaan pilkuilla Jokaisella rivillä oma tietue (olio, instanssi,...) Ensimmäinen rivi voi usein otsikkorivi jossa kenttien selitykset Jos kentässä on erikoismerkkejä, kenttä ympäröidään lainausmerkeillä

Tiedoston rakenne CSV-muoto (comma-separated values) Otsikkorivi ja kaksi huoltopyyntöä: asiakas, kohde, ongelma arto, exactum, tulostinpaperi loppunut luokassa B221 arto, exactum, CK112 ilmastointilaite jäätävän tehokas CSV-formaatti sopii hyvin taulukkomuotoisen tiedon tallentamiseen Entä jos asiakas haluaa lisätä useita kohteita? Klassinen CSV-ratkaisu: kohteet eritelty välilyönneillä tai muilla erikoismerkeillä Onko tiedostomuoto tällöin toteutuksesta riippumaton?

Tiedoston rakenne XML-muoto (extensible markup language) Tekstitiedosto, tiedon merkitys kuvataan tiedon kanssa Paljon käytetty, mm. järjestelmien välisenä tiedonsiirtoformaattina XML-dokumentti alkaa otsakkeella (prologi, header,...), joka sisältää XML-version <?xml version="1.0">

Tiedoston rakenne XML-muoto (extensible markup language) Otsakkeen jälkeen alkaa data Data koostuu elementeistä Elementit kuvaavat rakennetta ja niillä on alku- ja lopputagi (<elementti>, </elementti>) Elementtien attribuutit ja sisäiset tekstikentät kuvaavat tietoa <?xml version="1.0"> <elementti attribuutti= attribuutin arvo >teksti</elementti>

Tiedoston rakenne XML-muoto (extensible markup language) Elementtejä voi olla rajattomasti sisäkkäin, tekstikenttiä yleensä vain sisimmällä tasolla <?xml version="1.0"> <elementti attribuutti= attribuutin arvo > <toinen_elementti>teksti</toinen_elementti> </elementti> XML on puumainen rakentenne Ensimmäinen elementti on juurielementti, jonka sisällä oksat viimeinen, sisin taso, sisältää lehdet

Tiedoston rakenne XML-muoto (extensible markup language) Hyvin muodostettu (well-formed) XML-dokumentti täyttää seuraavat säännöt Dokumentissa on tasan yksi juurielementti Elementeillä on sekä alku- että loppumerkki (tyhjät elementit poikkeustapaus: <elementti />) Jokainen attribuutti on lainausmerkkien sisällä Elementit voivat olla sisäkkäisiä, mutta ne eivät saa mennä ristiin toisten elementtien kanssa. EI: <elementti1> <elementti2>arvo</elementti1> </elementti2>

Tiedoston rakenne Huoltoyhtiön huoltopyynnot, esimerkiksi: <?xml version="1.0"> <huoltopyynto> <asiakas>arto</asiakas> <kohde>exactum</kohde> <ongelma>tulostinpaperi loppunut luokassa B221</ongelma> </huoltopyynto> <huoltopyynto> <asiakas>arto</asiakas> <kohde>exactum</kohde> <ongelma>ck112 ilmastointilaite jäätävän tehokas</ongelma> </huoltopyynto> Onko ylläoleva XML-dokumentti hyvin muodostettu?

Tiedoston rakenne Ei ole. Dokumentissa pitää olla tasan yksi juurielementti, edellisessä on kaksi. Korjataan... <?xml version="1.0"> <huoltopyynnot> <huoltopyynto> <asiakas>arto</asiakas> <kohde>exactum</kohde> <ongelma>tulostinpaperi loppunut luokassa B221</ongelma> </huoltopyynto> <huoltopyynto> <asiakas>arto</asiakas> <kohde>exactum</kohde> <ongelma>ck112 ilmastointilaite jäätävän tehokas</ongelma> </huoltopyynto> </huoltopyynnot>

Tiedoston rakenne <?xml version="1.0"> <huoltopyynnot> <huoltopyynto> <asiakas>arto</asiakas> <kohde>exactum</kohde> <ongelma>tulostinpaperi loppunut luokassa B221</ongelma> </huoltopyynto> <huoltopyynto> <asiakas>arto</asiakas> <kohde>exactum</kohde> <ongelma>ck112 ilmastointilaite jäätävän tehokas</ongelma> </huoltopyynto> </huoltopyynnot> Huomaa myös kuvaava elementtien nimentä.

Tiedoston rakenne Toisen kohteen lisääminen? <?xml version="1.0"> <huoltopyynnot> <huoltopyynto> <asiakas>arto</asiakas> <kohde>exactum</kohde> <kohde>physicum</kohde> <ongelma>tulostinpaperi loppunut luokassa B221</ongelma> </huoltopyynto>... </huoltopyynnot>

Tiedoston rakenne Toisen kohteen lisääminen? <?xml version="1.0"> <huoltopyynnot> <huoltopyynto> <asiakas>arto</asiakas> <kohteet> <kohde>exactum</kohde> <kohde>physicum</kohde> </kohteet> <ongelma>tulostinpaperi loppunut luokassa B221</ongelma> </huoltopyynto>... </huoltopyynnot>

Tiedoston rakenne Entä jos halutaan tallentaa kohteet erikseen? Eräs ratkaisu: kaksi XML-dokumenttia toisessa huoltopyynnöt, toisessa kohteet kohde tunnistetaan huoltopyynnöissä tunnuksen perusteella Huoltopyynnössä viite kohteeseen

Tiedoston rakenne Tiedosto 1: Huoltopyynnöt <?xml version="1.0"> <huoltopyynnot> <huoltopyynto> <asiakas>arto</asiakas> <kohde>1</kohde> <ongelma>...</ongelma> </huoltopyynto>... </huoltopyynnot> Tiedosto 2: Kohteet <?xml version="1.0"> <kohteet> <kohde> <tunnus>1</asiakas> <nimi>exactum</nimi>... </kohde>... </kohteet>

Tiedoston rakenne Ongelmia XML-formaatissa? Elementit vievät paljon tilaa (huoltopyyntöesimerkissä vain noin 30% XML-dokumentista oleellista informaatiota) Lukeminen hidasta täytyy lukea koko tiedosto jotta tiedetään mitä se sisältää XML-standardia tukevat ohjelmakirjastot eivät ole täydellisiä yhteensopivuusongelmat muiden kirjastojen kanssa Muita ratkaisuja rakenteellisen tiedon esittämiseen: JSON

Johdanto Kiinteistöyhtiö kiittää järjestelmästä.

Johdanto Ja palaa takaisin muutaman kuukauden kuluttua: Ohjelma tekee koneesta hitaan. Meillä on nyt kymmeniä ellei satoja tuhansia huoltopyyntöjä. Kun ohjelma on päällä kone hidastuu huomattavasti. Tarvitsemme konetta myös muuhun, joten käynnistämme ohjelman vain tarpeen vaatiessa. Ongelma: Kun ohjelma on päällä, tiedostot on ladattu keskusmuistiin joka ilmeisesti loppuu kesken Ratkaisu?

Johdanto Järjestelmää muutetaan siten, että se lukee tiedostoa kovalevyltä vain kun on tarve. Kiinteistöhuoltoyritys: Tietojen hakeminen ja lisääminen on liian hidasta. Ohjelma ei toimi! Ongelma: Pysyväismuistista lukeminen on huomattavasti hitaampaa kuin keskusmuistista lukeminen tässä tapauksessa liian hidasta Ratkaisu?

Johdanto Kaikkea ei voida pitää muistissa, mutta tiedoston lukeminen levyltä on hidasta Tiedostoon perustuvassa ratkaisussa muitakin ongelmia: Mitä käy jos useampi ohjelma kirjoittaa samaan tiedostoon samaan aikaan? Ohjelmat yhä riippuvaisia tiedoston määrittelystä jos tiedostomuoto muuttuu, täytyy ohjelmaa muuttaa Tarvitaan välimuoto, jonka avulla voidaan käyttää vain osaa tiedosta kerrallaan

Johdanto Luodaan erillinen ohjelma, joka hallinnoi tietoa Ohjelma pitää yllä tietorakenteita, jotka mahdollistavat nopean levyltä hakemisen Muistissa pidetään vain hakua helpottavia tietorakenteita, itse data on tallennettuna levylle Useampia tietorakenteita joista kukin mahdollistaa tietyt hakuoperaatiot (kriteereihin perustuvat haut) Haku aikavälin perusteella Haku asiakkaan perusteella Haku kohteen perusteella...

Johdanto Luodaan erillinen ohjelma, joka hallinnoi tietoa Mahdollistaa tiedon käytön useamman ohjelman toimesta samanaikaisesti Jos tietuetta muokataan, ohjelma lukitsee tietueen vain muutoshetkeksi Tarjoaa erilaisia näkymiä tiedosta ohjelmille Hallinnointiohjelma näkee eri tiedot kuin vikailmoitusohjelma Tietoa käyttävillä ohjelmilla voi olla erilainen käsitys tiedon rakenteesta Varmuuskopiointi: Käyttöhistoria Mahdollisuus tietoturvaan ja käyttäjien hallintaan

Johdanto Keksittiin pyörä uudestaan Tietokannanhallintajärjestelmät on luotu juuri tarvettamme varten

Tietokanta (Database) Tietokanta muodostuu kokoelmasta toisiinsa liittyviä säilytettäviä tietoja Rakenne suunnitellaan yleensä tiettyä käyttötarkoitusta varten (asiakasrekisterit, pankkijärjestelmät, puhelinluettelot, kurssikirjanpidot,...)

Tietokannanhallintajärjestelmä Toimii rajapintana tietokannan ja sovellusohjelmien välillä Tarjoaa palveluita tietokannan käsittelyyn Suorakäyttöliittymät Kyselyiden ajaminen tietokannassa Hallintaliittymät Tietokannan rakenteiden muokkaus, käyttöoikeudet, tietokannan asetukset Ohjelmointirajapinnat Mahdollistavat tietokannan käytön sovellusten kautta

Tietokantajärjestelmä Sisältää Tietokannan Tietokannanhallintajärjestelmän Tietokantaa käyttäviä sovellusohjelmia

Tietomalli Tietomallilla (data model) tarkoitetaan tiedon rakenteen ja tiedolle suoritettavan käsittelyn määrittelevää käsitteistöä Tietoa voidaan tutkia eri näkökulmista, eri abstraktiotasoilla Tavoitteena jakaa tiedon kuvaaminen ja määrittely osiin, hajoita ja hallitse, ja tätä kautta yksinkertaistaa tietokuvauksia Tarvitaan useampia -- eri abstraktiotasojen -- kuvauksia

Abstraktiotasot Tietoa mallinnettaessa tieto jaetaan perinteisesti kolmeen tasoon Käsitetaso (conceptual level) Rakennetaso (structural level, logical level) Talletustaso (physical level, storage level)

Käsitetaso Ohjelmistosta riippumaton kuvaus tiedosta Järjestelmässä on tietoa kiinteistöjen laitteistoista, huoltotapahtumista ja huoltohenkilökunnasta. Laitteistoista tallennetaan merkki, ostovuosi, ja sijainti. Huoltohenkilökunnasta tallennetaan nimi, puhelinnumero, aloitusvuosi, lopetusvuosi. Huoltotapahtumat liittyvät aina laitteeseen ja ne suoritetaan tietyn huoltohenkilön toimesta.

Käsitetaso Ohjelmistosta riippumaton kuvaus tiedosta Miten tiedot liittyvät yhteen Mitä sääntöjä tietoihin liittyy (esim huoltotapahtumassa pitää olla aina tapahtuman suorittaja) Mitä tietoja käsitellään Millainen on se kohde, jota tiedoilla pitäisi kuvata Asiat, joita pitäisi esittää Minkälaisia arvoja tiedon elementit voivat saada, ja mitä arvot tarkoittavat

Rakennetaso Minkälaisia käsiteltäviä rakenteita tiedot muodostavat Esim ohjelmointikielen näkemys tiedosta Tietokannan rakenne Minkälaisina rakenteina ohjelmoijat näkevät tiedot

Rakennetaso Laite Merkki Ostovuosi Sijainti Huoltotapahtuma Laite Huoltohenkilö Kuvaus Huotohenkilö Nimi Puhelinnumero Aloitusvuosi Lopetusvuosi

Rakennetaso Tietokantataulut Laite (id, merkki, ostovuosi, sijainti) Huotohenkilö (id, nimi, puhelinnumero, aloitusvuosi,...) Huoltotapahtuma (laite id, henkilö id, kuvaus)

Talletustaso Fyysinen kuvaus tiedosta levyllä Tiedosto laitteet.xml levyllä /fs/, toteuttaa määritelmän...

Abstraktiotasot tiedon käsittelyssä Käsitetaso Tietosisällön suunnittelu Rakennetaso Ohjelmointi, rajapinnat, kyselyt Talletustaso Tallennustapa, tehokkuus, hajauttaminen useille levypalvelimille

Mitä malleja eri abstraktiotasoilla? Käsitetaso Oliomallit (UML) ER-mallit (Entity-Relationship) Semanttiset tietomallit (RDF) Rakennetaso Relaatiomalli, Oliomallit, XML,... Talletustaso Toimittaja- ja laitekohtaiset käsitteet