Tietokantojen perusteet

Samankaltaiset tiedostot
TIETOKANNAT JOHDANTO

TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

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

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

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

SQL - STRUCTURED QUERY LANGUAGE

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

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

Tietokannanhallintajärjestelmä (DBMS)

A TIETOKANNAT, 4 op Kevät TI09

TIETOKANNAN SUUNNITTELU

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

Tietokantakurssit / TKTL

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

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

2. Käsiteanalyysi ja relaatiomalli

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

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

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

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

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

IIO10200 Tietokantaohjelmointi (4 op)

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

HELIA 1 (11) Outi Virkki Tiedonhallinta

Action Request System

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

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

Tietokanta (database)

Relaatiomalli ja -tietokanta

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

TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI

HELIA 1 (14) Outi Virkki Tiedonhallinta

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

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

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

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

HELIA 1 (17) Outi Virkki Tiedonhallinta

Liitokset - haut useaan tauluun

IIO10200 TIETOKANTAOHJELMOINTI (4 OP) OPINTOJAKSON ESITTELY JOUNI HUOTARI

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

FYYSINEN SUUNNITTELU

HELIA 1 (11) Outi Virkki Tiedonhallinta

TIETOVARASTOJEN SUUNNITTELU

Tietovarastojen suunnittelu

MySQL ja PostgreSQL Seminaarityö

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

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

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

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

CSE-A1200 Tietokannat

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

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

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

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

Fyysinen suunnittelu

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

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

Tiedon suojaaminen ja hallinta. Sytyke seminaari

Tietokantojen suunnittelu, relaatiokantojen perusteita

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

CS-A1150 Tietokannat CS-A1150 Tietokannat / 39

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

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

SQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010

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

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

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

FuturaPlan. Järjestelmävaatimukset

Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC)

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

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

IIO30100 TIETOKANTOJEN SUUNNITTELU (6 OP)

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

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

Microsoft SQL Server -tietokannan hallinta. Jouni Huotari

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

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

HELIA 1 (1) Outi Virkki Tiedonhallinta :43

Maiju Mykkänen Susanna Sällinen

IHTE-1900 Seittiviestintä

IHTE-1900 Seittiviestintä

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

Sovellusarkkitehtuurit

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

SAP. Lasse Metso

Näkymät ja tiedon suojaus

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

Tietokannan suunnittelu

TIETOKANTOJEN PERUSTEET MARKKU SUNI

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

Käsiteanalyysi prosessina ja tarveanalyysi

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

SQL Buddy JAMK Labranet Wiki

Oraclen syvin ydin. Pertti Eiskonen Yleisradio Oy Tietokanta-asiantuntija. OUGF syysseminaari 2002 Sivu 1

IIZO3030 TIETOKANNAT (5 OP)

Transkriptio:

Tietokantojen perusteet Johdanto Jouni Huotari & Ari Hovi 2008

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 Tieto Tieto Tietokanta 2008 2

SISÄLTÖ Tekniset talletustavat Tietokanta Tietokannan hallintajärjestelmä Tietokantajärjestelmä Tietokannan käyttö Tietokantajärjestelmän edut 2008 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? 2008 4

Tietokanta on... 2008 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" 2008 6

Tehtävä Tutustu kahteen osoitteeseen, josta löytyy sekä esimerkki tietokannasta että voit hakea tietoa esim. aiheesta Tietokannat JaNet-kirjastotietokanta: http://janet.amkit.fi/ IT-info: http://www.itinfo.fi/ Lisätehtävä: tutustu myös muihin kirjaston sivulle koottuihin tietokantoihin: http://www.kirjasto.jypoly.fi/kirjasto/dynamo/dynamo_linkit.htm http://www.nelliportaali.fi/v/?func=home&portal=jamk&institute=jamk 2008 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). 2008 8

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

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ä 2008 10

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.) 2008 11

Northwind-tietokannan rakenne: taulujen väliset yhteydet 2008 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 2008 13

Esimerkki Haku eli kysely Northwind-tietokannasta Product Sales $300 000,00 $250 000,00 $200 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 Categories.CategoryName; $150 000,00 $100 000,00 $50 000,00 $0,00 Beverages Condiments Confections Dairy Products Grains/Cereals Meat/Poultry Produce Seafood 2008 14

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 2008 15

Tietokantatyypit Historia: kortistoista tiedostoihin ja sen jälkeen hierarkkisiin tai verkkomallisiin tietokantoihin Hierarkkinen tietokannan rakenne Verkkomallinen tietokannan rakenne Nykyisin relaatiotietokannat yleisimpiä Erikoistilanteisiin mm. olio- tai multimediatietokanta 2008 16

Tauko? J MySQL-kannan lataus (VMware-virtuaalikone): \\GHOST\huojo\WinXP_DB => D:\VMware (tai D:\Virtual Machines) 2008 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 2008 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 Leikkaus X Y A B C X Y 02 b x 2008 19

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

Yhteys taulujen välillä YRITYS- eli FIRMA-taulun isällä voi olla monta lasta HENKILO-taulussa (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) 2008 21

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. 2008 22

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 2008 23

TIETOKANTOJEN KÄYTTÖTAPOJA Operatiivinen tietojenkäsittely tietokantaa päivitetään runsaasti Esim. pankkitilit ja taloushallinto Tietovarastot (Data Warehouse) tietoja kopioidaan (eräajolla) operatiivisista järjestelmistä tietovarastoon säännöllisin väliajoin kyselyjä, raportointia ja tietojen analysointia varten Internet ja muut tietokannat 2008 24

Tapahtumankäsittely, lisäyksiä, päivitystä, poistoja, kyselyjä Raportit, kyselyt, analyysit, tietoja vain luetaan Tietovarastotekniikan periaate Perusjärjestelmien operatiiviset tietokannat Siirto ja integrointi Tietovarasto 2008 25

Internet Web-selain esimerkki: Veto - malli SQL-käskyt, dynaamisesti Web-palvelin HTML-sivut SQL-käskyt, ajoittain Työntö - malli triggerit/ajoitus tietokantapalvelin Tietokanta 2008 26

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 2008 27

Tietokannan toteutus Käsitemalli Reaalimaailma Kohdealue Tietokanta 2008 28

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 2008 29

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 käyttöoikeuksien valvonta (salasanat, loki) 2008 30

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

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 2008 32

Linkkejä 2: tuotteita 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 OCELOT: http://www.ocelot.ca/ Interbase: http://www.borland.com/interbase/ Solid Server: http://www.solidtech.com/ MS Access: http://www.microsoft.com/office/access/prodinfo/ 2008 33