TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI

Samankaltaiset tiedostot
TIETOKANNAT JOHDANTO

Tietokantojen perusteet

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

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

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

SQL - STRUCTURED QUERY LANGUAGE

A TIETOKANNAT, 3 op Syksy TI07. Teemu Saarelainen, lehtori Tietotekniikka teemu.saarelainen@kyamk.fi

TIETOKANNAN SUUNNITTELU

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

Tietokantakurssit / TKTL

HELIA 1 (11) Outi Virkki Tiedonhallinta

Tietokannanhallintajärjestelmä (DBMS)

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

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

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

Tietovarastojen suunnittelu

TIETOVARASTOJEN SUUNNITTELU

TIEDONHALLINTA - SYKSY Luento 10. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

Tietokanta (database)

2. Käsiteanalyysi ja relaatiomalli

A TIETOKANNAT, 4 op Kevät TI09

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

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

Relaatiomalli ja -tietokanta

MUITA TIETOKANTAOBJEKTEJA NÄKYMÄT, SYNONYYMIT, INDEKSOINTI, VALTUUDET JA SYSTEEMIHAKEMISTO

Liitokset - haut useaan tauluun

Action Request System

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

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

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

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

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

SQL. ! nykystandardi SQL3 eli SQL'99. ! CREATE TABLE, ALTER TABLE ja DROP TABLE. ! CREATE VIEW ja DROP VIEW. ! CREATE INDEX ja DROP INDEX

FROM-lausekkeessa voidaan määritellä useampi kuin yksi taulu, josta tietoja haetaan: Tuloksena on taululistassa lueteltujen taulujen rivien

Muita tietokantaobjekteja. Näkymät, synonyymit, indeksointi, valtuudet ja systeemihakemisto

TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI

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

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

HELIA 1 (14) Outi Virkki Tiedonhallinta

Tällä viikolla. Kotitehtävien tarkistus Upotettu SQL Indeksi-harjoitus täydennetään pelifirman tietokantamallia SQL-tehtäviä

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

IIO10200 Tietokantaohjelmointi (4 op)

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

HELIA 1 (17) Outi Virkki Tiedonhallinta

Tiedon suojaaminen ja hallinta. Sytyke seminaari

FYYSINEN SUUNNITTELU

CSE-A1200 Tietokannat

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

HELIA 1 (11) Outi Virkki Tiedonhallinta

MySQL ja PostgreSQL Seminaarityö

HELIA 1 (14) Outi Virkki Tiedonhallinta

HAAGA-HELIA heti09 1 (27) ICT05 Tiedonhallinta ja tietokannat O.Virkki Relaatiomalli

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

IIO10200 TIETOKANTAOHJELMOINTI (4 OP) OPINTOJAKSON ESITTELY JOUNI HUOTARI

Tietokannan suunnittelu

CS-A1150 Tietokannat CS-A1150 Tietokannat / 39

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

Maiju Mykkänen Susanna Sällinen

Fyysinen suunnittelu

HELIA TIKO-05 1 (17) ICT03D Tieto ja tiedon varastointi Räty, Virkki

IIO30100 TIETOKANTOJEN SUUNNITTELU (6 OP)

Helsingin yliopisto Tietojenkäsittelytieteen laitos (H.Laine) Tietokantojen perusteet. Liitteenä: Tiivistelmä SQL-syntaksista

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

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

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

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

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

Sovellusarkkitehtuurit

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

Tietokantojen suunnittelu, relaatiokantojen perusteita

HAAGA-HELIA TIKO-05 1 (19) ICT23a Tietokannan suunnittelu ja toteutus O.Virkki

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

FuturaPlan. Järjestelmävaatimukset

HELIA 1 (1) Outi Virkki Tiedonhallinta :43

HELIA TIKO-05 1 (28) ICT03D Tieto ja tiedon varastointi O.Virkki

TIETOJEN TUONTI TIETOKANNASTA + PIVOT-TAULUKON JA OLAP-KUUTION TEKO

TIEDONHALLINTA - SYKSY Luento 7. Pasi Ranne /10/17 Helsinki Metropolia University of Applied Sciences

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

Health Intelligence - Parempaa informaatiota terveydenhuollon päätöksentekoon. Terveydenhuollon ATK päivät Sibelius Talo, Lahti

TIETOKANTOJEN PERUSTEET MARKKU SUNI

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

SAP. Lasse Metso

Näkymät ja tiedon suojaus

Haaga-Helia / TIKO-05 1 (12) Tietokannan suunnittelu ja Toteutus Outi Virkki

Kyselyt: Lähtökohtana joukko lukuja Laskukaava kertoo miten luvuista lasketaan tulos soveltamalla laskentaoperaatioita

Pikaopas. Ohjeiden etsiminen Hae ohjesisältöä napsauttamalla kysymysmerkkiä.

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Käsiteanalyysi prosessina ja tarveanalyysi

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

Web-seminaari

HELIA TIKO-05 1 (22) ICT03D Tieto ja tiedon varastointi E.Räty, O.Virkki

IHTE-1900 Seittiviestintä

IHTE-1900 Seittiviestintä

select tulostietomäärittely from taulukkeet [where valintaehdot] [group by ryhmitystekijät] [having ryhmärajoitteet] [order by järjestysperusta]

Transkriptio:

TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI 2000-2017

Tieto TAUSTAA Yritykselle tiedot ovat tärkeä resurssi päätöksenteon tukena (JIT) varastointi ja käyttö vaativat investointeja vrt. energia (lähde, tuotanto, hallinta, oikeudet ) Tiedonhallinta: kaikkea tiedon määrittelyyn, suunnitteluun, toteuttamiseen, ylläpitoon ja käyttämiseen liittyvää toimintaa Tietokanta

SISÄLTÖ Tekniset talletustavat Tietokanta Tietokannan hallintajärjestelmä Tietokantajärjestelmä Tietokannan käyttö Tietokantajärjestelmän edut 3

Tehtävä Määrittele tietokanta Mitä tietokantoja olet käyttänyt? Minkälainen on mielestäsi hyvä tietokantaratkaisu (mainitse esimerkkejä)? Millä välineillä tietokanta voidaan toteuttaa? Ketä tarvitaan, että tietokanta saadaan käyttäjiä palvelevaksi ratkaisuksi? 4

Tietokanta on (opiskelijoiden määritelmiä)... Iso kasa tietyssä järjestyksessä olevaa tietoa Tiedon (tekstiä, kuvia ym.) tallennuspaikka, tietovarasto Kokoelma yhteen liittyviä tietoja Tiedot ovat helposti saatavilla Ei tarpeetonta, ylimääräistä tietoa Määrämuotoinen rakenne (taulukkomainen), koostuu tauluista 5

Tietokanta Data Base (database), lyh. DB "Tietokoneistettu kortistojärjestelmä" "Kokoelma toisiinsa liittyviä tietoja, jotka on talletettu ilman haitallista ylimäärää ovat usean sovelluksen käytettävissä hallitaan yhtenäisen ohjelmiston avulla" "... ja jonka rakenteen kuvaus on erotettu ohjelmista" (Nachmens) "Reaalimaailman tietomallin toteutus" 6

Tehtävä Tutustu JaNet-kirjastotietokantaan: http://janet.amkit.fi/ = eräs esimerkki tietokannasta => hae tietoa esim. aiheesta Tietokannat Lisätehtävä: tutustu myös muihin kirjaston sivulle koottuihin tietokantoihin 7

Tietokannan hallintajärjestelmä DataBase Management System eli DBMS (suom. TKHJ) "Ohjelmisto, joka hoitaa kaikki tietokantaoperaatiot " (Date 1975) Kysely-, lisäys-, muutos- ja poistopyynnöt Tietokannan hallintajärjestelmä Tietokanta Huom.: tietokantaohjelmisto TKHJ. Tietokantaohjelmistolla luodaan tietokanta ja siihen liittyvät määritykset (kuten käyttöoikeudet).

Tietokantajärjestelmä Tietokantaa käyttävät ohjelmat + sovellus Käyttöliittymä Esitystaso Sovelluspalvelin Sovellustaso Tietokannan hallintajärjestelmä + DBMS DB Datataso Tietokantapalvelin Tietokanta Tietokanta 9

Kehittäminen Menetelmät, mallit, välineet, tuottavuus Sovellusalustan komponentit Käyttökokemus Helppokäyttöisyys, ilmaisuvoima Asiakkaat Päätöksenteon tuki Raportointi, Analysointi, Mittaristot Palvelut ja prosessit Liiketoimintaprosessien automatisointi, SOA, EAI Toimittajat/ kumppanit Tiedonhallinta Tietokannat, dokumentit, tietovarastointi Infrastruktuuri ja hallinta Pasi Mäkinen 2008 http://seminaarit.codezone.fi/video/20070821 /1/

Microsoft Access Sisältää nk. tietokantamoottorin, joka vastaa TKHJ:ä Se on sovelluskehitin, koska sillä voidaan luoda tietokanta (taulut ja niiden yhteydet) *** kyselyt käyttöliittymä (nk. lomakkeet) raportit sovelluslogiikka (sisältää mm. VBA-ohjelmointikielen) tietokannan käyttöoikeudet Se on siis sekä sovelluskehitin että se voi toimia myös tietokantajärjestelmänä *** Tietokannan taulut voidaan liittää ODBC:n avulla toisesta TKHJ:stä Microsoft Accessiin 11

Tehtävä Käynnistä koneellasi oleva tietokantaohjelmisto, esim. Microsoft Access Avaa esimerkkitietokanta, esim. Northwind Tutustu tauluihin: avaa ainakin yksi taulu, selaa taulun sisältöä ja tarkastele myös sen rakennetta Tutustu myös muihin esimerkkitietokannan komponentteihin (kyselyihin jne.) 12

Tietokannan käyttö Kyselyt eli haut (Queries) Tietojen ylläpito: lisäys (insert, append) muuttaminen, päivittäminen (edit, update) poistaminen (delete) Tietokannan koko: sadoista tietueista / kymmenistä kilotavuista miljooniin tietueisiin tai tuhansiin Gigatavuihin (Teratavuihin) Tietokanta ja taulukkolaskentaohjelma ovat yhdessä mainio pari 13

Esimerkki Haku eli kysely Northwind-tietokannasta Product Sales $300 000,00 $250 000,00 SELECT Categories.CategoryName, Sum([Order Details Extended].ExtendedPrice) AS ProductSales FROM Categories INNER JOIN (Products INNER JOIN [Order Details Extended] ON Products.ProductID = [Order Details Extended].ProductID) ON Categories.CategoryID = Products.CategoryID GROUP BY Categories.CategoryName ORDER BY Tietokannat Categories.CategoryName; Jouni Huotari & Ari Hovi $200 000,00 $150 000,00 $100 000,00 $50 000,00 $0,00 Beverages Condiments Confections Dairy Products Grains/Cereals Meat/Poultry Produce Seafood

Tietokantojen ominaisuuksia Hakujen nopeus Tiedot saadaan järjestyksessä Tietojen ajan tasalla pitäminen Tieto tallennetaan vain kerran Yhteiskäyttö Omien näkymien (view) luonti Tulokset näytölle, paperille tai tiedostoon Tietojen suojaus TKHJ Tietokannan tiedot - yhteiskäytössä - samalla tasalla - talletettu vain kerran

Tietokantatyypit Historia: kortistoista tiedostoihin ja sen jälkeen hierarkkisiin tai verkkomallisiin tietokantoihin Hierarkkinen tietokannan rakenne Verkkomallinen tietokannan rakenne Relaatiotietokannat yleisimpiä NoSQL-kannat yleistymässä 16

Tauko? 17

RELAATIOTIETOKANNAT Relaatiomalli: E.F. Codd v. 1970 Perustuu matematiikkaan, joukko-oppiin (relaatioalgebraan: yhdiste, erotus, leikkaus, ristitulo, valinta, projektio, liitos, jako) ja predikaattilogiikkaan Käsittely SQL:llä (Structured Query Language); SQL voidaan upottaa sovellukseen Esimerkki esitetty aikaisemmin 18

Esim. kahden relaation leikkaus Leikkaus sisältää ne monikot, jotka kuuluvat molempiin lähtörelaatioihin Relaatio X: Relaatio Y: A B C 01 a x 02 b x 03 c y A B C 02 b x 04 d z Leiikkaus X Y A B C X Y 02 b x 19

Taulu Sarake Sarakenimet YRITYS Rivi isätaulu Perusavain HENKILO Viiteavain lapsitaulu

Yhteys taulujen välillä YRITYS- eli FIRMA-taulun isällä voi olla monta lasta HENKILOtaulussa (Asiakastunnus on perusavain) Lapsesta näkee, kuka on isä (Asiakastunnus on viiteavain) Isä: 2245 Isä: 2245 2245 9; L.Lahti 13; J.Hovi Isä (YRITYS-taulu) Lapset (HENKILO-taulu)

Tietoriippumattomuus SQL:n käyttäjä HENKILO HENKILO SELECT hloid, hlonimi FROM HENKILO WHERE kunta = Ii hloid hlonimi Rivejä Tietoriippumattomuus Tietokanta ja fyysiset rakenteet taulut taulutilat indeksit jne.

Tietokantapalvelimet Sovellus työasemassa, samoin tietokantaohjelmisto. Sovellus työasemassa lähettää SQL-kielisiä käskyjä SQL-palvelimelle; ei tietokantaohjelmistoa SQL SQL Taulut tiedostossa. Ei tietokantaohjelmistoa. SQL-kanta; SQL-tietokantaohjelmisto, sisältää taulut Tiedostopalvelin Tietokantapalvelin

TIETOKANTOJEN KÄYTTÖTAPOJA Operatiivinen tietojenkäsittely tietokantaa päivitetään runsaasti (transaktioita eli tapahtumia useita / sekunti) Esim. pankkitilit ja taloushallinto Tietovarastot (Data Warehouse, DW) tietoja kopioidaan (eräajolla) operatiivisista järjestelmistä tietovarastoon säännöllisin väliajoin kyselyjä, raportointia ja tietojen analysointia varten business intelligence (BI) Big Data Internet-/mobiili- ja muut tietokannat Tietokanta pilvipalveluna eli Database-as-a-Service, DaaS tai DBaaS 24

Tietovarastotekniikan periaate

TIETOKANTOJEN SUUNNITTELU Käsiteanalyysi Käsitemalli: tietokannan piirustukset Haetaan käsitteitä (kohde, objekti, eng. entity), esim. Asiakas, Tilaus, Tilausrivi, Osasto, Tuote, Tuoteryhmä, Henkilö, Tili, Tilivienti Katso tarkemmin kalvot Käsiteanalyysi (suunnitteluputki) ja/tai kirjasta luvut 2-4 26

Tietokannan toteutus Käsitemalli Reaalimaailma Kohdealue Tietokanta

Tietokantojen käyttäjäryhmät Tietokantojen määrittely, suunnittelu ja toteutus voi jakautua seuraaviin ryhmiin: järjestelmäsuunnittelija tekee vaatimusmäärittelyt tietokantasuunnittelija tekee kuvauksen tietokannan rakenteesta ja tiedoista (raja-arvot, tietotyypit jne.) järjestelmänvalvoja (administrator) määrittää tietokannan kaikki oikeudet sovellusohjelmoijat toteuttavat toimintalogiikan (mm. SQL-lauseiden upottaminen koodiin) Käyttäjät hakevat ja päivittävät (ylläpitävät) tietoja 28

Turvallisuusnäkökohtia Varmistukset vaihtuvat: päivittäin, viikoittain pysyvät: kuukausittain tai vuosittain Eheys tiedot oikein (esim. tarkistussäännöt) viite-eheydestä huolehtiminen Tietosuoja lain huomioiminen (esim. EU:n kyberturvalaki) käyttöoikeuksien valvonta (salasanat, tietokantalokien seuranta) Laittomien SQL-kyselyjen ja injektioiden esto 29

Tehtävä Tutustu seuraavilla sivulla oleviin linkkeihin Minkä relaatiotietokantatuotteen valitsisit oman harjoitustyösi tekemiseen ja miksi? 30

Linkkejä 1 Sanasto: http://www.cs.helsinki.fi/~laine/relaatiosanasto/ SQL: http://www.firstsql.com/tutor.htm http://www.managedtime.com/freesqlbook.php3 http://www.contrib.andrew.cmu.edu/~shadow/sql.html www.sqlcourse.com ja www.sqlcourse2.com http://www.guru99.com/sql.html 31

Linkkejä 2: tuotteita http://en.wikipedia.org/wiki/comparison_of_relational_da tabase_management_systems Oracle: http://www.oracle.com/, http://otn.oracle.com DB2: http://www-4.ibm.com/software/data/db2/ SQL-Server: http://www.microsoft.com/sql/ MySQL: http://dev.mysql.com/ PostgreSQL: http://www.postgresql.org/ Ingres: http://opensource.ca.com/projects/ingres Solid Server: https://teamblue.unicomsi.com/products/soliddb/ 32