A271117 TIETOKANNAT, 4 op Kevät 2010 - TI09



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

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

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

TIETOKANNAN NORMALISOINTI JA NORMAALIMUODOT

Tietokantojen suunnittelu, relaatiokantojen perusteita

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

Tietokantojen perusteet

TIETOKANNAT JOHDANTO

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

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

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

TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI

Maiju Mykkänen Susanna Sällinen

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

HELIA 1 (14) Outi Virkki Tiedonhallinta

Kymenlaakson Ammattikorkeakoulu

IHTE-1900 Seittiviestintä

IHTE-1900 Seittiviestintä

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

LINUX-HARJOITUS, MYSQL

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

MySQL ja PostgreSQL Seminaarityö

IIO10200 TIETOKANTAOHJELMOINTI (4 OP) OPINTOJAKSON ESITTELY JOUNI HUOTARI

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

Tietokantakurssit / TKTL

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

Luento 3 Tietokannan tietosisällön suunnittelu

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

Relaatiomalli ja -tietokanta

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

Sovellusarkkitehtuurit

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

Oliotietokannat. Nääsvillen Oliopäivät Pekka Kähkipuro Kehitysjohtaja, FT

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä?

IIO10200 Tietokantaohjelmointi (4 op)

TIETOKANTOJEN PERUSTEET MARKKU SUNI

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

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

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

Tietokannanhallintajärjestelmä (DBMS)

Testidatan generointi

2. Käsiteanalyysi ja relaatiomalli

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

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

HELIA 1 (17) Outi Virkki Tiedonhallinta

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

Älykästä. kulunvalvontaa. toimii asiakkaan omassa tietoverkossa

IIO30200 Tietokannan hallinta (5 op)

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32

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

SELVITYSRAPORTTI LABRA-VERKON MYSQL:n JA PHP:n KÄYTTÖÖNOTOSTA. Jarkko Kähkönen

Sen jälkeen kun linux-käyttöjärjestelmän läpimurto julkisuuteen

HELIA 1 (20) Outi Virkki Tiedonhallinta

FYYSINEN SUUNNITTELU

Näkymät ja hakemistot

Käyttöjärjestelmät. 1pJÄKÄ1 KÄYTTÖJÄRJESTELMÄN HALLINTA, 12 OSP

Tietokantatyökalut DBArtisan

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

TIETOKANNAN SUUNNITTELU

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

Tiedonhallinnan perusteet. H11 Ovien ja kulun valvontajärjestelmän tietokanta

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

Tietokannat II -kurssin harjoitustyö

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

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

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI

Amazon Web Services (AWS) on varmaankin maailman suosituin IaaS-tarjoaja. Lisäksi se tarjoaa erilaisia PaaS-kategoriaan kuuluvia palveluita.

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

Käsiteanalyysi prosessina ja tarveanalyysi

Projektinhallintaa paikkatiedon avulla

IIZO3030 TIETOKANNAT (5 OP)

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

Teemu Kerola Orientointi Syksy 2018

FuturaPlan. Järjestelmävaatimukset

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

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

Data Warehouse kuulumisia

Webpalvelin muistitikulle - Ohje

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

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

HELIA 1 (11) Outi Virkki Tiedonhallinta

TERADATAN JA SAS DI STUDION YHTEISELO CASE LÄHITAPIOLA

opiskelun suunnittelujärjestelmä, kurki ja ilmo käyttävät kaikki samaa tietokantaa, ja uusi järjestelmä tulee osaksi tätä.

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

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen

Kari Aalto Saariston IT

IIO30200 TIETOKANNAN HALLINTA (5 OP)

HELIA 1 (12) Outi Virkki Tiedonhallinta

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

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

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

Fyysinen suunnittelu

Tietokantajärjestelmien tulevaisuuden haasteet. Jan Lindström

Salasanojen turvallinen tallentaminen KeePass ohjelmalla

Tietokannan suunnittelu

HELIA 1 (11) Outi Virkki Tiedonhallinta

Transkriptio:

A271117 TIETOKANNAT, 4 op Kevät 2010 - TI09 Teemu Saarelainen, lehtori Tietotekniikka teemu.saarelainen@kyamk.fi

A271117 TIETOKANNAT Tavoitteet Oppia tietokantojen suunnitteluperiaatteet Osata käyttää SQL-kieltä ja tietokantojen hallintajärjestelmiä Luoda LAMP-ympäristössä toimiva tietokantaa käyttävä websovellus

A271117 TIETOKANNAT Sisältö: Tietokannat Relaatiotietokannat SQL-kieli MySQL käytännössä (+ pakolliset PHP-skriptit)

A271117 TIETOKANNAT Arviointi: Osallistuminen harjoituksiin 60 %, jos enemmän lisäpisteitä kokeeseen (max 6p) Harjoitustyö 1: SQL perusteet, 3. periodin loppuun mennessä Harjoitustyö 2: Pieni MySQL-kanta + Web-sovellus (+PHP), 4. periodin loppuun mennessä Koe: ajankohta xx.xx.2010 (4 tehtävää, max 24p) Arvosana 0-5: Harjoitustyö 1 20 % Harjoitustyö 2 30 % Koe + bonukset 50 % Huom! Kurssi on useimmille melko työläs mutta tällä kurssilla myös oppii aika paljon!

A271117 TIETOKANNAT Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin opintomoniste Eri web-lähteet Kurssin web-sivu ilmestyy osoitteeseen: http://www2.kyamk.fi/~atesa/db/

TIETOKANNAT Suunnitelma luentojen ja harjoitusten sisällöstä 1. Tietokannat, luentokerrat 1 ja 2 Johdantoa Mitä ovat tietokannat? Miksi tietokantoja tarvitaan? Historiaa 2. Relaatiotietokannat, luentokerrat 3, 4 ja 5 Relaatiokantojen idea Relaatiokantojen suunnitteluperiaatteita Käsitekaaviosta relaatiotietokantaan 3. SQL, luentokerrat 6, ja 7 Relaatiokannan implementointi SQL:n avulla SQL-lauseet Perusharjoittelua SQL:llä 4. MySQL, luentokerrat 8-12 MySQL:n suhde SQL:ään MySQL:n peruskäyttö komentoriviltä MySQL:n käyttö eri ohjelmointikielten avulla Yksinkertainen tietokantaa käyttävä web-sovellus LAMP-ympäristöllä

Tieto ja tiedon merkitys Tiedon määrä maailmassa lisääntyy koko ajan Hyödyllisen tiedon seulonta vaikeaa Esim. hakukoneet ja metatieto yhä tärkeämpiä Tietokantojen koot esim. web-sovelluksissa voivat olla valtavia Google, YouTube, Facebook, Yhä useammassa järjestelmässä data on kuvia, videota, musiikkia

Tieto ja tiedon merkitys Tieto on valtaa Yritysten kannattavuus yhä useammin kiinni tiedon saatavuudesta ja sen hyödyntämisestä Samaan tietoon pitää päästä käsiksi monista eri sovelluksista INTEGROINTI

Historiaa Ensimmäistä kertaa tietokanta-sana (Data base) on esiintynyt vuonna 1963 Yhdyssanan database käyttö yleistyi 1970-luvulla Tietokantojen hallintajärjestelmiä alettiin tehdä 1960- luvulla Yhdysvaltalainen Charles Bachman oli ensimmäisiä alan kehittäjiä (GE, IDS-database) Bachmanin työ perustui navigointimalliin, mikä oli sen ajan tietokoneilla tehokasta

Historiaa Brittiläinen Edgar F. Codd kehitti relaatiotietokannan ja sen perusteoriaa IBM:llä Coddin työtä ei otettu heti mukaan IBM:n tuotteisiin ja mm. Relational Software (nyk. Oracle) ehti mukaan kilpailuun IBM kuitenkin kehitti Coddin työn pohjalta tutkimusprojektina System R:n ja SEQUEL-kyselykielen Koska SEQUEL oli erään toisen yhtiön tavaramerkki, se nimettiin myöhemmin SQL:ksi Ensimmäinen ei-kaupallinen relaatiotietokanta Ingres kehitettiin 1974 Berkeleyn yliopistossa Ensimmäinen kaupallinen relaatiotietokantatuote Oracle V2 ehti markkinoille ennen IBM:n uutta System/38:aa 1979

Historiaa Relaatiomallin suosio kasvoi 1980-luvulla Codd ei ollut tyytyväinen kaikkiin relaatiotietokantoina itseään markkinoiviin tuotteisiin ja kirjoitti 12 sääntöään 1985 SQL standardoitiin 1986 (ANSI) ja 1987 (ISO) Useita päivityksiä SQL-standardiin on tehty, tärkeimpänä ehkä triggerit Viimeisin SQL:n revisio on vuodelta 2006 (lisätty XML:n käsittelyä)

Historiaa 1980-luvulla alettiin myös kehittää rinnakkaisia tietokantajärjestelmiä 1990-luvulla siirryttiin tutkimaan oliotietokantoja, jotka ovat käyttökelpoisia tietyillä sovellusalueilla Ensimmäiset avoimen lähdekoodin tietokannat MySQL ja PostgreSQL ilmestyivät 1990-luvun puolessa välissä 2000-luvulla suosiossa ovat XML-tietokannat, joiden tavoitteena on poistaa perinteinen tiedosto/tietokanta-jako

Johdantoa Mikä sitten käytännössä on tietokanta? Eräs määritelmä voisi olla: Mikä tahansa tarkasti määritelty tapa säilyttää rakenteellista tietoa Ensimmäiset tietokantajärjestelmät kehitettiin jo 1960-luvulla Perinteisiä tietokantaesimerkkejä: Puhelinluettelo, kirjasto, opiskelijarekisteri, Etunimi Sukunimi Puhelinnumero Postitoimipaikka Ahto Simakuutio 044 9876 543 Herwood Ilmo Insinööri 020 1235 567 Imatra

Johdantoa Tietokannan perusominaisuuksia 1. Halutaan tallettaa hyödyllistä tietoa 2. Tiedolla on olemassa rakenne 3. Tiedot liittyvät toisiinsa 4. Talletussäännöt on selkeästi määritelty

Johdantoa Tietokanta voidaan toteuttaa monella eri tavalla Paperi ja kynä, kortisto, tekstitiedosto, XML-tiedosto, binääridata, tietokantaohjelmisto (DBMS), Riippuu sovelluksesta, mikä tapa on järkevin Ammattikielessä: tietokantaohjelmisto == tietokanta

Johdantoa Tietokantaohjelmistolla tarkoitetaan kokonaista tietokannan hallintajärjestelmää Tiedon varastointi, haku ja hallinta Tietokannan hallintajärjestelmä mahdollistaa uuden tietokannan luonnin ja sen ylläpidon Esimerkkejä tietokannan hallintaohjelmistoista MySQL, Oracle, MS SQL Server, DB2, PostgreSQL, Firebird, MS Access, Sybase Adaptive Server, Tietokantaohjelmisto voidaan toki ohjelmoida itsekin omien tarpeiden mukaan (usein kallista ja hankalaa)

Tietokannan ominaisuuksista Tietokanta-käsite on yleiskielessä hyvin laaja Kurssilla (ja tietotekniikassa yleensä) tietokannalla tarkoitetaan tietokannan hallintajärjestelmällä hallittavaa tietojoukkoa Tietokannan hallintajärjestelmässä varsinainen data ja rakennetta kuvaava metadata pidetään erillään toisistaan Tietokantaa (eli tietoa tietokannan hallintajärjestelmän kautta) käyttävät varsinaiset sovellusohjelmat Sovellusohjelmat ovat riippumattomia tietokannasta

Tietokannan ominaisuuksista Tietokannan hallintajärjestelmä (TKHJ) saa käsiteltäväkseen kyselyjä ja päivityksiä Esimerkkejä CREATE DATABASE Kanta; USE Kanta; CREATE TABLE MunOmaTaulu(ID INT, Nimi CHAR(32)); INSERT INTO MunOmaTaulu VALUES(1, Niilo N ); SELECT * FROM MunOmaTaulu;

Tietokannan ominaisuuksista TKHJ vastaa tietojen sekä rakenteen muutoksista ja ylläpidosta Tietokannan tietosisällön kuvaus on ns. metatietoa Metatieto talletetaan tietohakemistoon (system catalog) kuinka, mitä, kuka, oikeudet, sallitut arvot, Äskeisessä esimerkissä metatietoa olivat mm. luodun taulun nimi MunOmaTaulu sekä sen sarakkeiden nimet, tietotyypit ja koot

Laitteistot, käyttöjärjestelmät ja tietokanta Tietokanta on sijoitetaan tyypillisesti yrityksen palvelimelle IT-osasto vastaa laitteistoista ja käyttöjärjestelmistä Tietokannan tarvitsija on tyypillisesti ohjelmointitaitoinen (insinööri) muut eivät yleensä tiedä TKHJ:sta mitään Vastuu TKHJ:n asentamisesta, käyttöönotosta ja ylläpidosta on yleensä yhdellä ja samalla henkilöllä Pitää tietää asioita käyttöjärjestelmästä, tietoverkosta, turvallisuudesta, käyttöoikeuksista, näkyvyyksistä jne. eli ymmärtää TKHJ:n toimintaa hieman syvällisemmin

Laitteistot, käyttöjärjestelmät ja tietokanta Esimerkki Keskikokoisen yrityksen käytössä on useita Windowspalvelimia Yrityksen sisäistä sovellusta varten tarvitaan SQLtietokanta ja ohjelmointiin on käytetty MS Visual Studiota Hyvä valinta voisi olla MS SQL Server 2008 Express Ilmainen Wizard-tyyppinen asennus ja käyttö Oppimiskynnys matala (jos on käytetty MS-työkaluja) Suorituskyky riittää pieneen käyttöön

Laitteistot, käyttöjärjestelmät ja tietokanta Kurssilla käytetään: Virtuaalikoneella ajettava Linux-palvelin (Fedora Core 9) MySQL-tietokanta, Apache web-palvelin, PHP-skriptikieli Jokaisella käyttäjällä oma käyttäjätunnus sekä palvelimelle että MySQL:ään Käyttöoikeudet rajoitettu omaan henk.koht. tietokantaan saa vapaasti kokeilla, ei pelkoa TKHJ:n hajoamisesta, kestää paljonkin kuormaa ja yhtäaikaisia käyttäjiä

Tietokantojen etuja tietojen monistumisen hallinta tietojen yhdenmukaisuus informaatio on tiivistä tiedon jakaminen tiedon oikeellisuuden hallinta paremmat suojaukset ja turvallisuus tiedon saatavuus ja vastaavuus tuottavuuden nousu ylläpito helpottuu varmuuskopiointi yms. palveluiden keskittäminen

Tietokantojen haittapuolia monimutkaisuus koko hinta, peruskustannukset, laitteisto (?) suorituskyky vakava vika voi lamauttaa monta palvelua/järjestelmää

Tietokantamallit Hierarkkinen (Hierarchical model) Verkko (Network model) Relaatio (Relational model) Tähän keskitymme kurssilla Käsite (Entity-relationship model) Olio-relaatio (Object-relational model) Olio (Object model)