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

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

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

SQL - STRUCTURED QUERY LANGUAGE

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

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

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

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

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

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

HELIA 1 (14) Outi Virkki Tiedonhallinta

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

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

HELIA 1 (14) Outi Virkki Tiedonhallinta

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

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

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

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

Kirjasto Relaatiotietokannat Kevät Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina

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

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

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

Tällä viikolla. Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia

TIETOKANTOJEN PERUSTEET MARKKU SUNI

Tietokannat II -kurssin harjoitustyö

CSE-A1200 Tietokannat

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

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

Hakukyselyt: SELECT * FROM taulu WHERE sarake1 = Malli Nimi [WHERE sarake1 LIKE M% ] [WHERE BETWEEN ehto1 AND ehto2] [WHERE sarake1 IN/= (alikysely)]

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

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI

Tuotteiden tiedot: Lisää uuden tuotteen tiedot. Muuta tai poista tuotteen tiedot. Selaa kaikkien tuotteiden tietoja.

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

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

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

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

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

MySQL ja PostgreSQL Seminaarityö

SELECT-lauseen perusmuoto

SQL Buddy JAMK Labranet Wiki

Elisa Kassa - Tuotetietojen tuonti järjestelmään (Import products)

SQL:N PERUSTEET MARKKU SUNI

CS-A1150 Tietokannat CS-A1150 Tietokannat / 44

INTINU13A6 Java sovellukset

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

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Kyselyn yleisrakenne:

4.1 Frekvenssijakauman muodostaminen tietokoneohjelmilla

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

HELIA 1 (11) Outi Virkki Tiedonhallinta

OpenOffice.org Base 3.1.0

Salasanojen turvallinen tallentaminen KeePass ohjelmalla

Joko tunnet nämän Oracle10g SQL:n piirteet? Kari Aalto Saariston IT

HELIA 1 (11) Outi Virkki Tiedonhallinta

LINUX-HARJOITUS, MYSQL

CSE-A1200 Tietokannat

SQL-kielen perusteet. Tietokantojen perusteet

Maiju Mykkänen Susanna Sällinen

Tietokannat II -kurssin harjoitustyö

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

Tietokantojen perusteet, syksy 1999 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot

TIEDONHALLINTA - SYKSY Luento 8. Saapumisryhmä: Pasi Ranne /9/13 Helsinki Metropolia University of Applied Sciences

Oppilaan pikaopas. Project 2013 käyttöliittymä ja näkymät

Helsingin yliopisto, tktl DO Tietokantojen perusteet, kevät 2000 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot

Tietokantakurssit / TKTL

Tietokantojen suunnittelu, relaatiokantojen perusteita

Harjoitustehtävä 1. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. SQL kysely

CS-A1150 Tietokannat CS-A1150 Tietokannat / 39

17 BUDJETOINTI. Asiakaskohtainen Budjetti Ylläpito-ohjelma. Dafo Versio 10 BUDJETOINTI. Käyttöohje. BudgCust Yleistä

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

HELIA 1 (13) Outi Virkki Tietokantasuunnittelu

Tietotekniikan laitos Käki-projekti TIETOKANTASUUNNITELMA. 1. Johdanto

Liitokset - haut useaan tauluun

3. Taulujen määrittely ja muuttaminen

Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, , H.Laine

3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN

SYÖTTÖPOHJA LUKUJEN SYÖTTÖÖN ERI TARKOITUKSIIN

OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

Access-kyselyt. Luetteloinnin kehittämispäivä Mia Kujala

DXL Library ja DXL-kielen olemus. Pekka Mäkinen SoftQA Oy http/

Yhdistäminen. Tietolähteen luominen. Word-taulukko. Joukkokirje, osoitetarrat Työvälineohjelmistot 1(5)

Tietokantojen perusteet, syksy 1999 SQL- osa Harri Laine 1. SQL-valintaehto. SQL-valintaehto. Opettajien nimet: Opiskelijoiden pääaineet

Helsingin yliopisto, tktl DO Tietokantojen perusteet, kevät 2000 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot

Luento 2: Tiedostot ja tiedon varastointi

määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta

Android ohjelmointi Tunti 5. SQLite, Cursor, Intent ja ADB

T Testiraportti TR-3. ETL-työkalu

Näkymät ja tiedon suojaus

TIETOKANNAT JOHDANTO

HELIA 1 (15) Outi Virkki Tiedonhallinta

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

DOORSin Spreadsheet export/import

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

OUTER JOIN se vanha kunnon kaveri

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

Tietokanta (database)

Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

Harjoitustyö. CSE-A1200 Tietokannat! Jasse Lahdenperä! ! Henri Nurmi! !

Transkriptio:

Tietokannat SQL-peruskomentojen pikaopas CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); INSERT INTO table VALUES(val1,val2,... ); Lisää tauluun uuden tietueen. INSERT INTO opiskelijat VALUES(968625, Iina, Koillinen ); SELECT col1,col2,... FROM tablename WHERE... ; Hakee annetut ehdot täyttäviä tietueita. SELECT etunimi,sukunimi FROM opiskelijat WHERE opnumero=968625; DELETE FROM table WHERE... ; Kuten SELECT, poistaa haetut tietueet. DELETE FROM opiskelijat WHERE opnumero=968625; DROP TABLE table; Poistaa annetun taulun ja kaikki siinä olevat tietueet! DROP TABLE opiskelijat; Hyödyllinen resurssi SQL-komentojen opetteluun: http://www.w3schools.com/sql/sql_quickref.asp 1

Tietokanta Tietokanta on tietorakenne, johon varastoidaan tietoa järjestettyinä tietueina. Tietokannat ovat tärkeä osa esimerkiksi liiketoiminnan, Internet-palvelujen ja monien jäsenrekisterien hallinnointia. Tietokanta on usein tehokkain tapa varastoida ja käsitellä automaattisesti suuria määriä keskenään samankaltaisista alkioista koostuvaa dataa. Tällä kurssilla käsitellyt tietokannat ovat SQL-relaatiotietokantoja. Tällainen tietokanta koostuu tauluista ja tietueista. Taululla on sarakkeita, jotka vastaavat jotakin tietotyyppiä, kuten opiskelijan etunimeä tai opiskelijanumeroa. Tietue on taulun rivi: se kuvaa kokonaisuutta, kuten opiskelijaa, jolla on omat arvot kussakin sarakkeessa. Taulut siis määrittelevät tietokannan rakenteen, tietueet sisällön. Tietokannan tauluja voi usein tulkita samalla tavalla kuin hyvin järjestettyä Excel-taulukkoa. Ilmeisin ero on, että Excelin kaltaisessa taulukkolaskentaohjelmassa tietojen järjestys on käyttäjän varassa - oikeassa tietokannassa esimerkiksi taulukon ulkopuolelta ei voi valita summittaisesti tyhjää ruutua ja kirjoittaa muistiinpanoja. Tietokanta on Exceliä tehokkaampi ja soveltuu paremmin tietokoneohjelmien ja palveluiden käyttöön. Excel lienee kätevämpi ihmiskäyttäjän toimistotyössä. opnumero etunimi sukunimi koulutusohjelma 801811 Tatu Haavisto TIK 719193 Konstantin Pieninkeroinen ARK 341704 Heli Rautjärvi EST Taulukko 1: Opiskelijatietokannan taulu opiskelijat 2

SQLite Browser -ohje Tällä kurssilla tietokantoja ohjataan SQLite Database Browser 2.0 b1 -ohjelmalla (SQLite Browser). Ohjelma on pakattu harjoitustehtäväkansioon, alikansioon sqlitebrowser. Sitä ei tarvitse asentaa, vaan ohjelman saa käyntiin suoraan ajamalla tiedoston SQLite Database Browser 2.0 b1.exe. Kun käynnistät SQLite Browserin, avaa ensimmäiseksi käsiteltävä tietokantatiedosto työkaluriviltä (Open an existing database file). SQLite Browserilla voi myös luoda uusia tietokantoja (Create a new database file). 3

Kun avaat tietokannan, ohjelma näyttää oletuksena ensimmäistä välilehteä, Database Structure. Tässä tilassa voit selata tietokantarakennetta, eli tietokannan tauluja: Minkä nimisiä tauluja tietokannassa on ja mitä sarakkeita tauluissa on. Tämä siis kertoo missä muodossa tiedot on esitetty. Kuvan tietokannassa on kaksi taulua: opiskelijat ja tapahtumat. 4

Toisella välilehdellä, Browse Data, voit katsella tietokannan sisältöä, eli kussakin taulussa olevia tietueita. Voit vaihtaa katseltavaa taulua välilehden yläosassa Table-valikosta. Tässä näkymässä voit myös lisätä, muokata ja poistaa tietueita. Tällä kurssilla tietokantamuutokset tehdään kuitenkin pääasiassa manuaalisesti kolmannessa välilehdessä. 5

Kolmannen välilehden, Execute SQL, kautta pääset syöttämään komentoja SQL-kielellä. SQL eli Structured Query Language on tietokantojen käsittelyyn tarkoitettu ohjelmointikieli, josta kerrotaan enemmän seuraavassa luvussa. Kirjoita haluamasi komento SQL string-kenttään ja paina Execute query. Data returned-kenttä näyttää tiedot, jotka komennolla löydettiin (jos teit hakukomennon). Jos komennossa on virheitä, virheilmoitukset tulevat Error message-kenttään. 6

SQL SQL, Structured Query Language, on ohjelmointikieli, jota käytetään hallinnoimaan tietokantoja. SQL:llä ei ole käytännöllistä, tai edes mahdollista, ratkaista yleisiä ohjelmointiongelmia. Peruskomentoja SQL:ssä ovat taulujen ja tietueiden lisääminen, haku ja poisto. Taulu Uuden taulun luominen tapahtuu komennolla CREATE TABLE table(col1 type1,col2 type2,... );. Luodaan esimerkkinä uusi taulu henkilökunta : CREATE TABLE henkilökunta (id INTEGER PRIMARY KEY, etunimi TEXT, sukunimi TEXT, työnimike TEXT, ikä INTEGER, huomautukset TEXT ); id etunimi sukunimi työnimike ikä huomautukset Taulukko 2: Uusi henkilökuntataulu Kokonaisen taulun voi poistaa komennolla DROP TABLE table;. Ole varovainen, sillä taulun poistaminen tuhoaa kaikki tauluun säilötyt tietueet. Mitään varmistuskysymyksiä SQL:ssä ei ole - kun komento on annettu, se suoritetaan. Tietue Tauluun lisätään uusi tietue komennolla INSERT INTO table VALUES(value1, value2,... );. Lisätään henkilökuntatauluun esimerkillinen luennoitsija: INSERT INTO henkilökunta VALUES(1,"Anna","Malli","Luennoitsija",35,"Esimerkillinen"); 7

Jos halutaan antaa arvo vain osaan kentistä, täytyy komennossa erikseen luetella, mihin sarakkeisiin tietoa ollaan laittamassa: INSERT INTO henkilökunta (etunimi,sukunimi,työnimike,ikä) VALUES("Vistor","Aalto","Tutkimusapulainen",20); id etunimi sukunimi työnimike ikä huomautukset 1 Anna Malli Luennoitsija 35 Esimerkillinen 2 Vistor Aalto Tutkimusapulainen 20 NULL Taulukko 3: Lisäysten jälkeen taulu näyttää tältä Tyhjäksi jätetyn kentän arvoksi tulee NULL eli tyhjä. Poikkeuksena on primääriavainkenttä, esimerkissämme id. Se on kenttä, johon tietokanta valitsee itse uniikin arvon, ellei sitä erikseen ole annettu. Avaimista kerrotaan myöhemmässä luvussa enemmän. Haku Tietokannasta hakeminen tehdään komennolla SELECT col1,col2,... FROM table WHERE conditions... ; Esimerkiksi seuraava komento hakisi kaikki tiedot henkilökuntataulusta: SELECT * FROM henkilökunta; >> 1 Anna Malli Luennoitsija 35 Esimerkillinen >> 2 Vistor Aalto Tutkimusapulainen 20 NULL SELECT FROM -lauseen ehdollisuuteen käyvät useimmat tavalliset operaattorit kuten =,< ja >. Luonnollisesti ehtoja voi myös yhdistellä AND ja OR -rakenteilla. Muista, että tekstivertailussa täytyy käyttää lainausmerkkejä. SELECT sukunimi,etunimi FROM henkilökunta WHERE ikä<25; >> Aalto Vistor SELECT sukunimi,etunimi FROM henkilökunta WHERE etunimi="anna"; >> Malli Anna SELECT * FROM henkilökunta WHERE sukunimi=työnimike; 8

Hakukomennon perään voi liittää myös ORDER BY column käskyn, jolloin rivit palautuvat tietyn sarakkeen mukaan järjestettyinä. Poistokomento on hyvin samankaltainen kuin haku: DELETE FROM table WHERE conditions... ;. Muista aina olla varovainen poistoja kirjoittaessasi! Avain Tietokantataulussa primääriavain on tietotyyppi, joka on varmasti uniikki kaikilla taulun tietueilla. Esimerkiksi opiskelijanumero voisi toimia opiskelijataulun primääriavaimena. Usein tietokantataululla on kuitenkin primääriavaimena oma sisäinen id, joka ei tarkoita tietokannan ulkopuolella mitään. Avaimien avulla voidaan toteuttaa relaatioita tietueiden välillä. id etunimi sukunimi työnimike huomautukset 1 Anna Malli 10 Esimerkillinen 2 Vistor Aalto 11 NULL - Tiina Teekkari 11 NULL - - - - - Taulukko 4: Henkilökuntataulun työnimike on vierasavain, joka viittaa työnimike-tauluun id nimi selvennys 10 Luennoitsija Luennoi, opettaa, selittää 11 Tutkimusapulainen Tekee mitä käsketään JOIN-lauseita voi olla samassa käskyssä useita: SELECT DISTINCT etunimi,sukunimi FROM opiskelijat JOIN koulutusohjelmat ON opiskelijat.koulutusohjelma=koulutusohjelmat.id JOIN tapahtumailmo ON opiskelijat.opnro=tapahtumailmo.opnro JOIN tapahtumat ON tapahtumailmo.tapahtuma=tapahtumat.id WHERE koulutusohjelmat.tunnus="ark" AND tapahtumat.nimi="sitsit"; Mitä tämä komento hakee? 9