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

Samankaltaiset tiedostot
Tietokanta (database)

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

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

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

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

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

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

Tietokantakurssit / TKTL

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

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

D B. Tietokannan hallinta - kurssin tavoite. Kurssilla opitaan periaatteet. Edellytyksenä osallistumiselle on Tietokantojen perusteiden hallinta

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

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

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

Luento 3 Tietokannan tietosisällön suunnittelu

D B. Tiedostojen käsittely

HELIA 1 (11) Outi Virkki Tiedonhallinta

Ohjelmistojen mallintaminen

HELIA 1 (20) Outi Virkki Tiedonhallinta

1.1 Käsitteet ja termit 1.2 Historia. Luku 1. Johdanto. ITKA204 kevät

Tietokannanhallintajärjestelmä (DBMS)

HELIA 1 (1) Outi Virkki Tiedonhallinta :43

Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta. Hajautuksen hyötyjä

IHTE-1900 Seittiviestintä

IHTE-1900 Seittiviestintä

Luento 2: Tiedostot ja tiedon varastointi

FYYSINEN SUUNNITTELU

TIETOKANTOJEN PERUSTEET MARKKU SUNI

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

Fyysinen suunnittelu

HELIA 1 (15) Outi Virkki Tiedonhallinta

Tiedonhallintajärjestelmän rakenne ja Suorituskyky

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

TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI

FYYSINEN SUUNNITTELU

Ohjelmistojen mallintaminen, mallintaminen ja UML

oheishakemistoja voi tiedostoon liittyä useita eri perustein muodostettuja

Tieto ohjelmassa ja tietokoneella

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

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

TIETOKANNAT JOHDANTO

Lähestymistavat - toiminnallinen

Luokka- ja oliokaaviot

Metatiedot organisaatioiden sisällönhallinnassa

HELIA 1 (16) Outi Virkki Tietokantasuunnittelu

D B. Tietokannan hallinta kertaus

HELIA 1 (14) Outi Virkki Tiedonhallinta

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

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

Järjestelmäarkkitehtuuri (TK081702)

HELIA 1 (14) Outi Virkki Tiedonhallinta

Helsingin yliopisto/tktl Kyselykielet, s 2006 Optimointi Harri Laine 1. Kyselyn optimointi. Kyselyn optimointi

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

Ohjelmistojen mallintaminen kertausta Harri Laine 1

IIO30100 TIETOKANTOJEN SUUNNITTELU (6 OP)

HAAGA-HELIA Heti-09 1 (14) ICT05: Tiedonhallinta ja Tietokannnat O.Virkki Transaktionkäsittely

TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät

4. Lausekielinen ohjelmointi 4.1

Tietokannat PERUSMATERIAALI Microsoft Access 2007 Kieliversio: suomi Materiaaliversio 1.0 päivitetty

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

HAAGA-HELIA Heti-09 1 (17) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Suorituskyky

Tietokantojen perusteet

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

1. Kalenterin omistajan käyttöohje

HELIA 1 (17) Outi Virkki Tiedonhallinta

Tietokantajärjestelmien tulevaisuuden haasteet. Jan Lindström

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Relaatiomallin peruskäsitteet Harri Laine 1. Relaatiotietokannat DONOTP

Pikaohje formaatin valmistamiseen

Haaga-Helia HeTi-09 1 (20) Outi Virkki, Tiina Mikkola ICT05 Tiedonhallinta ja tietokannat Johdanto

D B. Levytiedostojen käsittely. Levytiedostojen käsittely

Tutkimustiedonhallinnan peruskurssi

1. Olio-ohjelmointi 1.1

OpenOffice.org Base 3.1.0

DL SOFTWARE Uumajankatu 2 Umeågatan FIN VAASA/VASA FINLAND +358-(0) Fax +358-(0)

Tietokantojen perusteet, osa 1

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1

Interfacing Product Data Management System

Jouni Huotari & Ari Hovi. Käsitemallinnuksesta relaatiokantaan KÄSITEMALLI. LOOGINEN MALLI: tietomalli valittu. FYYSINEN MALLI: DBMS valittu

TIEDONHALLINTA - SYKSY Luento 1. Saapumisryhmä: TXQ16ICT, TXQ16S1 ja TXQ16PROS. 27/8/17 Helsinki Metropolia University of Applied Sciences

Suunnitteluvaihe prosessissa

TIETOKANTOJEN PERUSTEET MARKKU SUNI

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Ohjelmointi 1. Kumppanit

Käsiteanalyysi prosessina ja tarveanalyysi

Action Request System

Ohjelmistojen mallintaminen, mallintaminen ja UML

ELM GROUP 04. Teemu Laakso Henrik Talarmo

TIEDONHALLINTA - SYKSY Luento 2. Pasi Ranne /8/17 Helsinki Metropolia University of Applied Sciences

IIO30100 Tietokantojen suunnittelu (6 op)

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

TOIMINNALLINEN MÄÄRITTELY MS

Sijaispalvelujärjestelmä - Etusivu. Sijaisrekisteri. Top-5 paikkakunnat. Pikahaku. Www-sivuston oma etusivu ja siihen liittyvät ajankohtaista-nostot

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa

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

EXEC SQL BEGIN DECLARE SECTION

Transkriptio:

Tieto - data Digitaalisesti tallennettua informaatiota jostakin kohteesta Vapaamuotoinen tieto (unformatted) Esim. teksti, puhe, kuvat, Sisältö jäsentämätöntä Koneellinen käsittely vaikeaa paitsi kokonaisuutena Jotain määrämuotoisuutta esiintyy, esim. merkkien esitystapa, kuvapisteiden koodaus Tietokanta Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja Rakenteinen (structured) Koneellinen käsittely helppoa Jäsenneltyä Pääsy tiedon osiin Tällä kurssilla käsitellään rakenteista tietoa 1 2 Tietomallit Tietomallilla (data model) tarkoitetaan tiedon rakenteen ja tiedolle suoritettavan käsittelyn määrittelevää käsitteistöä Tietoa voidaan tarkastella eri näkökulmista - eri abstraktiotasoilla Perinteinen jako Käsitetaso Rakennetaso (tai esitystaso) Talletustaso Tietoabstraktiot Abstraktiotasojen ajatuksena tiedon mallinnuksessa on jakaa tiedon kuvaaminen ja määrittely osiin ja täten yksinkertaistaa kuvauksia, kun mukana ei ole kuvauksen käyttötarkoituksen kannalta ylimääräistä informaatiota 3 4 Näkökulmat tietoon Käsitetaso, kohdetaso (conceptual level, real word level): Mitä tietoja käsitellään millainen on se kohde, jota tiedoilla pitäisi kuvata asiat, joita pitäisi esittää mitä tietoelementtien arvot tarkoittavat Miten tiedot liittyvät yhteen Mitä sääntöjä tietoihin liittyy Ohjelmistoista riippumaton kuvaus tiedoista Näkökulmat tietoon Rakennetaso, looginen taso, esitystaso (structural level, logical level): Minkälaisia käsiteltäviä rakenteita tiedot muodostavat - esim. eri ohjelmointikielten näkemykset tiedosta Miten ohjelmoijat ja tietokannan suorakäyttäjät näkevät tiedot 5 6 Harri Laine 1

Näkökulmat tietoon Talletustaso, fyysinen taso (physical level): Minkälaisina koneenläheisinä teknisinä rakenteina tiedot tallennetaan ja miten niitä voidaan käsitellä Tietueiden muoto, tiedon koodaustapa, salakirjoitus, tiivistystekniikka, Minkälaiset rakenteet tehostavat tiedon hakua Onko tiedot hajautettu vai ovatko kaikki keskitetysti samassa paikassa Abstraktiotasot On tietoja autoista ja henkilöistä. Henkilöistä tallennetaan nimi. Autoista tallennetaan tieto omistajasta, joka on henkilö. Taulu AUTO(rekno, malli) Taulu HENKILO(nimi, ) käsitetaso rakennetaso 7 Tiedosto Auto levyllä X1135 toteuttaa taulun auto Indeksi AiX (auto, rekno) talletustaso 8 Abstraktiotasot tiedon käsittelyssä Mitä malleja on tarjolla? käsitetaso sisällön suunnittelu käsitetaso Entity-Relationship mallit (ER) Oliomallit (UML) Semanttiset tietomallit rakennetaso fyysinen taso kyselyt, ohjelmointi, rajapinnat Tallennustapa, viritys, hajautus, tehokkuus rakennetaso fyysinen taso Relaatiomalli Oliomallit XML Hierarkkinen malli Verkkomalli Muita Toimittajakohtaiset käsitteet 9 10 Mallinnuksen kohteet Monitasoinen tiedon mallinnus ei liity vain tietokantoihin. Esimerkiksi tietoliikenteessä voidaan tarkastella välitettävien viestien sisältöä käsitetasolla, muotoa rakennetasolla ja teknistä toteutusta yhtenä tai useampana talletustason abstraktiona. Tietokanta vs. tiedosto Edellä tietokanta määriteltiin yleisesti tietokokoelmana, jatkossa tarkastellaan ominaisuuksia, joita tietokannalle yleensä asetetaan verrattuna perinteiseen ohjelmointikielten tiedosto käsitteeseen. Tarkastelun kohteena ovat rakenteiset tiedot 11 12 Harri Laine 2

Tiedosto Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään tiedostoina (file, data stream). Tiedostoja on rakenteisia (structured) ja vapaamuotoisia (text file). Rakenteinen tiedosto muodostuu tietueista (record). Tietue puolestaan jakautuu kenttiin (field) Rakenteinen tietue Rakenteisessa tietueessa kenttien sisältöön päästään käsiksi kentän tunnuksen tai sijainnin perusteella merkkipositioissa 10-15 sijaitseva tieto kolmannessa kentässä sijaitseva tieto kentän SYNTYMA-AIKA sisältö Alimmalla toiminta-abstraktion tasolla tiedon käsittely perustuu aina tiedon sijaintiin Kiinteämuotoisissa tietueissa kentän tunnuksen ja sijainnin välisen yhteyden tietää ohjelmointikielen kääntäjä, vaihtuvamuotoisissa yhteys ratkaistaan suoritusaikaisesti tietueisiin sisältyvän rakennetiedon perusteella. 13 14 Rakenteinen tietue Perinteinen: XML: hnumero etunimi 2345 Arttu 3 Aho kentän pituus sukunimi <henkilotietue> <hnumero>2345</hnumero> <etunimi>arttu</etunimi> <sukunimi>aho</sukunimi> </henkilotietue> Java Perinteisissä ohjelmointikielissä käsiteltävien tiedostojen tietuerakenne määritellään osana ohjelmaa. miten taataan yhtenäisyys samoja tietoja käyttävien ohjelmien välillä? miten toisella kielellä kirjoitetun ohjelman pitäisi määritellä tiedot? C 15 16 ohjelma A määrittely erilliseksi osaksi tiedoston rakenteen määrittely ohjelma B Tietokannoissa tiedon kuvaus on irrallaan ohjelmista tietokantakaaviona tiedon määrittely erillinen kieli tiedon määrittelyyn helppoa, jos A ja B on laadittu samalla ohjelmointikielellä (include) 17 18 Harri Laine 3

Tietoriippumattomuus Kun jokin ohjelma tarvitsee tiedostoon lisätietoja (tietueisiin uusia kenttiä) perinteisiä tiedostoja käytettäessä kaikki muuttunutta tiedostoa käsittelevät ohjelmat on muutettava ja käännettävä uudelleen Ohjelman tietoriippumattomuus: Ohjelma täytyy kääntää uudelleen vain, jos sen itse tarvitsemien tietojen rakenne muuttuu Tietokantakaavioon sisältyvät erilaiset näkymät tietoon mahdollistavat tietoriippumattomuuden Eri ohjelmilla voi olla erilainen käsitys rakenteesta Ohjelma 1 Ohjelma 2 Miltä näyttää 1 näkymä Millainen on tk Miltä näyttää 2 näkymä 19 20 Tietokanta / samanaikainen käyttö Tietokannat / hakumahdollisuudet Perinteiset tiedostot yksi käyttäjä kerrallaan saa haltuunsa koko tiedoston Tietokannat tyypillisesti useita samanaikaisia käyttäjiä käyttäjät häiritsevät toisiaan mahdollisimman vähän muut käyttäjät eivät välttämättä näy käyttäjälle Tiedosto peräkkäiskäsittely = käy läpi kaikki tietueet siinä järjestyksessä, jossa tietueet sijaitsevat tiedostossa haku osoitteen (esim. tietueen järjestysnumero) perusteella (hae kymmenes tietue) Tietokanta kohteena annetun hakukriteerin täyttävät hakukriteeri perustuu tiedon sisältöön ei sijaintipaikkaan (hae tietueet, joissa kentässä palkka oleva arvo <2000) 21 22 Tietokanta / suojaus Tietokanta /tapahtumakäsittely ja elvytys Käyttöjärjestelmä suojaa tiedostoja ja hakemistoja luku-, kirjoitus-, suoritusoikeus koko tiedostolle Tietokannat täsmäsuojaus, jopa kenttätasolla käyttöhistoria operaatiotarkkuudella, niin haluttaessa Tiedosto käyttäjän tai sovellusohjelman on huolehdittava varmuuskopioinnista, varmistuksista, operaatioiden peruutuksista, virheistä toipumisesta Tietokanta takaa vahvistetun operaation läpimenon operaatiosarjan peruminen mahdollista vahvistukseen asti elpyminen virhetilanteista 23 24 Harri Laine 4

Tietokanta / suuret dynaamiset tietomäärät Kasvavat tietomäärät edellyttävät mukautuvia ja tehokkaita talletusrakenteita nopea haku annetun kriteerin perusteella tiedoston koon kasvaminen ei saa merkittävästi vaikuttaa tiedonsaannin aikaan Rakenteiden viritys tehokkaammiksi ilman, että ohjelmia joudutaan muuttamaan 25 Tietokanta / tietojen väliset riippuvuudet Tietokanta kuvaa reaalimaailman ilmiöitä Reaalimaailmassa vallitsevien sääntöjen (esim. Henkilöllä vain yksi puoliso kerrallaan) on oltava voimassa myös reaalimaailmaa kuvaavassa tietokannassa jos sääntöjä valvotaan sovellusohjelmassa, on valvonta sisällytettävä jokaiseen tietoja muokkaavaan ohjelmaan vaihtoehtona erillinen sovellusohjelmien ulkopuolinen valvontamekanismi (tietokanta valvoo) 26 Tietokantajärjestelmä (database system) TKHJ:n osia Hallintaliittymä Suorakäyttöliittymä Ohjelmointirajapinnat tietokanta tietokannanhallintajärjestelmä Tietohakemistojärjestelmä 27 28 TKHJ:n osia TKHJ:n osia Hallintaliittymä Suorakäyttöliittymä Suorakäyttö liittymä Hallintaliittymä Ulkoiset liittymät Ohjelmointi rajapinnat Ohjelmointi rajapinnat Tietohakemistojärjestelmä Tietohakemistojärjestelmä Kuvaustietoa, metatietoa 29 30 Harri Laine 5

Pääsyn valvonta (authorization control) tarkastaa käyttäjien oikeudet operaatioihin Kyselyn optimoija (query optimizer) laatii toteutussuunnitelman halutuille tietokantaoperaatiolle miten tehdään Transaktion hallinta (transaction manager) valvoo samanaikaisia operaatioita varaa ja vapauttaa resursseja, huolehtii operaatioiden päättymisistä ja mahdollisista peruutuksista. Eheyden valvonta (integrity control) valvoo, etteivät tietokantaan kohdistuvat muutokset riko tietokannalle määriteltyjä oikeellisuussääntöjä. Suorittaja (command processor) ohjaa operaatioiden suoritusta Puskurien hallinta (buffer management), vastaa keskusmuistin ja apumuistin välisestä tiedonsiirrosta Hakumenetelmät (access methods) suorittaa tiedonhaut toteutussuunnitelman mukaisesti 31 32 Harri Laine 6