Yleinen SQL. Yleinen SQL. SQL:n kehitys

Koko: px
Aloita esitys sivulta:

Download "Yleinen SQL. Yleinen SQL. SQL:n kehitys"

Transkriptio

1 .ppt Yleinen sivu 1 Yleinen :n kehitys sivu 2... kokeiluja 1970 E F Codd: A Relational Model of Data for Large Shared Data Banks - Relational View on Data, relaatioalgebra, normalisointi Berkeley Ingress (QUEL), IBM System R (Sequel) (Stonebraker,..) (Chamberlin,...) 1979 Oracle 1981 IBM /DS 1983 IBM DB2 Esvel, IDMS/, Tandem NonStop, HP (Allbase/), ANSI : 1 -standardi 1987 IBM SAA 1988 X/Open (Unix) 1989 ANSI + ISO: -89 -standardi (=1 + viite-eheys) 1989 Järjestelmätoimittajat perustivat Access Groupin SAG (Client-Server RDA/CLI) mikrojen RDBMS-boomi ISO: -92 -standardi (työnimi 2) 1993 Microsoft: ODBC 1999 ISO: :1999 -standardi (työnimi 3) 2003 :2003 lisätty /XML 2008 :2008

2 .ppt Yleinen Relaatiomalli: - Relational View on Data sivu 3 arvojoukot (domains) Relaatio: kunnat nimet Hur... Vantaa Espoo... Helsinki osastot D01 D02 D03 palkat käsitemalli nimetyt attribuutit NIMI KUNTA OSNO PALKKA yksilötyyppi ominaisuudet monikko (tuple) monikoilla ei ole määriteltyä järjestystä Hurvinen H. Kurvinen K Vahvanen V. Viininen V. Helsinki D Espoo D Vantaa D Helsinki? ominaisuuksien arvot ovat jakamattomia (atomic) puuttuva arvo NULL Yksilöivä perusavain? (primary key) - yksi tai useampi ominaisuus yhdessä Relaatiomalli ja sivu 4 Relaatio: - taulu tt_nrot nimetyt attribuutit - sarakkeet arvojoukot (domains) ~ tietotyypit + CHECK ehto nimet kunnat osastot Hur... Vantaa D01 D02 Espoo... Helsinki D03 TT_# NIMI KUNTA OSNO PALKKA 200 Hurvinen H. Helsinki D palkat käsitemalli yksilötyyppi monikot (tuples) - rivit Kurvinen K Vahvanen V. Espoo D Vantaa D Viininen V. Helsinki? Yksilöivä perusavain (primary key) - usein keinotekoinen avain puuttuva arvo NULL

3 .ppt Yleinen Käsitemalli sivu 5 yksilötyyppi (entity, relation) yksilötyyppien väliset riippuvuudet kuvataan yhteystyypeillä (relationship) joiden aste kuvaa yhteyden yksilöesiintymien lukumääriä 1 : 1 1 : N N : M Osasto kuuluu omaa Taito johtaa Tyontekija Yhteystyypin kummmankin yksilötyypin osalta määritetään sen ehdollissuus (0) tai pakollisuus ( ) toista yksilötyypistä katsottuna Työvaiheet sivu 6 Tietotarveanalyysi: Tietotarpeet Käsiteanalyysi: Käsitemalli Tietosuunnittelu - normalisointi Relaatiokaavat Viite-eheys ja -määritykset: -taulut

4 .ppt Yleinen Yhteyden toteutus sivu 7 Kaikki käsitemallissa esiintyvät M:N-yhteydet on syytä purkaa 1:N-yhteyksiksi uuden yhteysyksilötyypin avulla: M:N 1:N 1:M Jokainen yhteys liittää nyt johtotyyppiin (master, parent, isä ) jäsentyypin (detail,child, lapsi ). Jäsenyksilöitä voi olla useita. Yhteys totetetaan viiteavaimella (foreign key), joka muodostetaan siten että jäsentyypin tietoihin täydennetään (ellei ole jo ennestään) johtotyypin perusavainta vastaavat tiedot (sarakkeet). Jäsentyyppi on yhteyden kannalta viittaava ja johtotyyppi viitattu yksilötyyppi. Harjoitusympäristö: HH-taulut sivu 8 OSASTOT OS_NO NIMI OS_PAAL OS_BUDJ D01 Valmistus D02 Markkinointi D03 Hallinto TYONTEK TT_NO NIMI KUNTA OS_NO PALKKA Hurvinen H. Helsinki D Kurvinen K. Espoo D Jämerä J. Helsinki D Vahvanen V. Vantaa D Pamppu P. Kerava D Viininen V. Helsinki? Hirmu H. Sipoo D TAIDOT TT_NO TAITO C 110 COBOL 200 FORTRAN 400 COBOL 200 Tehtävä: Ratkaise taulujen perusavaimet ja viiteavaimet

5 .ppt Yleinen Relationaalisuuden 12 sääntöä (Codd) sivu 9 1. Rakenteen kuvattavuus tekstimuodossa kannan systeemitauluissa (System Catalog) 2. Tiedon taattu löytyvyys relaation nimen, monikon perusavaimen arvon ja tiedon attribuuttinimen perusteella 3. Puuttuvan tiedon (NULL) systemaattinen käsiteltävyys 4. Kannan kuvaustietojen käsiteltävyys tietokantakielellä 5. Yhtenäinen, kattava tietokantakieli - tietomääritykset, - näkymät, - eheysrajoitteet, - oikeudet, - relaatioalgebran mukaiset kyselyt, - tapahtumarajat, - ohjelmallisesti tai vuorovaikutteisesti... Relationaalisuuden 12 sääntöä (Codd) sivu Päivitettävyys näkymien kautta, jos teoriassa mahdollista 7. Lisäys, muutos tai poisto yhdellä lauseella 8. Fyysinen tietoriippumattomuus 9. Looginen tietoriippumattomuus 10. Eheysrajoitteet - perusavain, - viite-eheys ja - omat rajoitesäännöt (business policy) voitava kuvata säännön 5 kielellä 11. Hajautusriippumattomuus 12. Rajoitusten ohittamattomuus mahdollisilla muilla käsittelymenetelmillä

6 .ppt Yleinen Relaatioalgebra sivu 11 valinta projektio yhdiste leikkaus erotus a b c x y tulo a a b b c c x y x y x y a1 a2 a3 b1 b1 b2 b1 b2 b3 c1 c2 c3 (luonn.) liitos a1 a2 a3 b1 b1 b2 c1 c1 c2 a a a b b c x y z x y y x y jako a b Tietokantakieli sivu 12 -DDL CREATE Table View Index ALTER Table DROP Table View Index -DML SELECT -DCL INSERT UPDATE DELETE GRANT REVOKE

7 .ppt Yleinen Tietokantaympäristö sivu 13 kuvaukset Systeemitaulusto (System Catalog) Table Index Column View... Create DB / Start DBE.. NEW SysAdm DBA Grant DBA Tietokanta(ympäristö) Grant resource hakemistot tiedot index table view Create table index view Revoke Select Insert Update Delete User/Creator Grant select, update,... with grant option User/Group User Grant... Rakenneosat (objects) sivu 14 - Tietokanta ("omistaja") -Taulut - sarakkeet ja arvojoukot - rajoitteet - Hakemistot - Näkymät - Proseduurit ja triggerit - Käyttäjät / ryhmät l. roolit -... Tunnistenimet: kirjaimet numerot 0..9 alleviivat - keskellä A..Z _ alettava kirjaimella max 18 merkkiä

8 .ppt Yleinen Create Table sivu 15 CREATE TABLE [omistaja.] taulu ( sarakenimi tietotyyppi [ DEFAULT vakio systeemimuuttuja ] [ NOT NULL ] [ [ CONSTRAINT rajoitenimi ] CHECK ( sarake-ehto ) ] [, sarakemäärityksiä... ] [, [ CONSTRAINT rajoitenimi ] PRIMARY KEY ( sarakelista ) ] [, [ CONSTRAINT rajoitenimi ] UNIQUE ( sarakelista ) ] [, avainehdokkaiden yksilöivyyden UNIQUE-valvontamäärityksiä... ] [, [ CONSTRAINT rajoitenimi ] FOREIGN KEY ( sarakelista ) REFERENCES [omistaja.] perustaulu [ ( sarakelista) ] [ MATCH { PARTIAL FULL } ] [ ON UPDATE oletus: NO ACTION l. RESTRICT CASCADE SET NULL SET DEFAULT ] [ ON DELETE oletus: NO ACTION l. RESTRICT CASCADE SET NULL SET DEFAULT ] ] [, viiteavainmäärityksiä... ] [, [ CONSTRAINT rajoitenimi ] CHECK ( riviehto ) ] [, CHECK-määrityksiä... ] ) [ säilytysrakenteen tietoja ] Tietotyypit sivu muita CHARACTER ( n ) VARCHARACTER ( max ) DECIMAL ( p [, q ] ) INTEGER SMALLINT FLOAT ( r ) REAL DOUBLE PRECISION DATE TIME TIMESTAMP DATETIME INTERVAL BIT [VARYING] GRAPHIC VARGRAPHIC BLOB-tyypit LOGICAL Esim. Nimi char (35) Memo varchar (3000) Palkka dec (9,2) AsukasLuku int LomaPaivat smallint PlaneetanHalk float (7) Proj_AlkPv LahtoAika AikaLeima Kesto date time timestamp interval NimiKirj Video LONG varchar ( )

9 .ppt Yleinen Lausekkeet sivu 17 Valinnoissa, lisäyksissä, muutoksissa ja tulossarakkeilla: Aritmeettiset lausekkeet operaattorit: + - * / ( ) operandit: sarakkeet, literaalit, muuttujat, funktiot Koostefunktiot COUNT, SUM, AVG, MIN, MAX Aikalausekkeet ja muunnokset current_date, current_time date - date = interval, date +- interval = date,... EXCTRACT (kenttä FROM aikalauseke) (-92) Merkkijonofunktiot SUBSTRING UPPER LOWER CONVERT Numeeriset funktiot CHAR_LENGTH POS -DML sivu 18 -DDL CREATE Table View Index ALTER Table DROP Table View Index -DML SELECT INSERT UPDATE DELETE -DCL GRANT REVOKE

10 .ppt Yleinen INSERT - rivi sivu 19 syntaksi: INSERT INTO taulu [ ( sarake [, sarake... ] ) ] VALUES ( arvo [, arvo... ] ) Lisää yhden rivin Sarakeluettelo suositeltava tietoriippumattomuuden kannalta Sarakkeen arvo aina vastinpaikalla Merkkimuotoinen arvo 'hipsujen' sisään Numeerinen arvo ilman hipsuja esimerkki: Insert into tyontek (tt_no, nimi, kunta, os_no, palkka) values ( 600, 'Huuhanen H', 'Hyvinkää','D02', 9000 ); INSERT - rivijoukko sivu 20 syntaksi: INSERT INTO taulu [ ( sarake [, sarake... ] ) ] SELECT-lause Kohdetaulu ei saa esiintyä SELECT-lauseessa Sarakeluettelo suositeltava tietoriippumattomuuden kannalta ja SELECT-lauseen tulostaulun vastattava sarakeluetteloa Komento lisää kohdetauluun SELECT-lauseen tulostaulun rivit

11 .ppt Yleinen UPDATE sivu 21 syntaksi: UPDATE taulu SET sarake = lauseke [, sarake = lauseke... ] [ WHERE hakuehto ] Päivittää SET-määreen mukaiset muutokset kaikille niille kohdetaulun riveille, joille hakuehto on tosi, tai WHERE-määreen puuttuessa taulun kaikille riveille SET-määreen lausekkeissa esiintyvät sarakenimet edustavat kukin rivillä nimetyssä sarakkeessa ennen päivitystä ollutta arvoa Merkkimuotoinen arvo 'hipsujen' sisään Numeerinen arvo ilman hipsuja esimerkki: Update tyontek set palkka = palkka * 1.1, os_no = 'D01' where tt_no = 300 ; DELETE sivu 22 syntaksi: DELETE FROM taulu WHERE hakuehto Poistaa kohdetaulusta kaikki ne rivit, joille hakuehto on tosi Huom: viite-eheyden vaikutukset esimerkki: a) Delete from taidot where tt_no = 300 ; b) Delete from tyontek where tt_no = 300 ;

12 .ppt Yleinen HH-harj: Insert, Update, Delete sivu 23 1) 2) Laadi -komennot, joilla TYONTEK-tauluun lisätään henkilön nro 500 tiedot: nimi: Lurvinen L. kunta: Lahti osasto: D03 palkka: ja TAIDOT-tauluun ko. henkilön taidot Konekirj. Neuvottelu 3) 4) 5) Laadi -komento, jolla kaikkien osastojen budjetteihin lisätään 10 %. Laadi -komento, jolla osaston 'D01' budjetin arvoksi korjataan mk. Laadi -komennot, joilla Viinisen (tt_no = 300) tiedot poistetaan tietokannasta. SELECT sivu 24 * SELECT [ DISTINCT ] lauseke [,... ] FROM taulu [viite] [,... ] [ WHERE hakuehto ] [ GROUP BY sarake [,... ] ] [ HAVING ryhmäehto ] [ ORDER BY sarake [ ASC DESC] [,... ] ] Huom. tuloslausekkeena on yleensä viite.sarake * tulostaa kaikki sarakkeet

13 .ppt Yleinen Select - projektio sivu 25 TYONTEK TT_NO NIMI KUNTA OS_NO PALKKA Hurvinen H. Helsinki D Kurvinen K. Espoo D Jämerä J. Helsinki D Vahvanen V. Vantaa D Pamppu P. Kerava D Viininen V. Helsinki? Hirmu H. Sipoo D SELECT OS_NO, KUNTA FROM TYONTEK ; SELECT DISTINCT OS_NO, KUNTA FROM TYONTEK ; tulostaulu: OS_NO KUNTA D01 Helsinki D03 Espoo D01 Helsinki D01 Vantaa D02 Kerava? Helsinki D03 Sipoo tulostaulu: OS_NO KUNTA D01 Helsinki D03 Espoo D01 Vantaa D02 Kerava? Helsinki D03 Sipoo Select - valinta sivu 26 tulostaulu: TYONTEK TT_NO NIMI KUNTA OS_NO PALKKA Hurvinen H. Helsinki D Kurvinen K. Espoo D Jämerä J. Helsinki D Vahvanen V. Vantaa D Pamppu P. Kerava D Viininen V. Helsinki? Hirmu H. Sipoo D SELECT * FROM TYONTEK WHERE OS_NO = 'D01'; TT_NO NIMI KUNTA OS_NO PALKKA Hurvinen H. Helsinki D Jämerä J. Helsinki D Vahvanen V. Vantaa D vertailupredikaatti tulostaulu? SELECT * FROM TYONTEK WHERE OS_NO <> 'D01';

14 .ppt Yleinen Hakuehto sivu 27 Hakuehto on ehtolauseke, joka muodostuu yhdestä tai useammasta ehdosta l. predikaatista ja näitä kytkevistä konnektiiveista: NOT negaatio eli EI (vert. aritm. miinus-etumerkki) AND konjunktio eli JA (vert. kertomerkki) OR disjunktio eli TAI (vert. plus-merkki) Konnektiivit määräävät ehtolausekkeen totuusarvon laskentajärjestyksen kuten vastaavat aritmeettiset operaattorit ja samoin laskentajärjestystä voidaan muuttaa käyttämällä sulkeita. - Sulkeet selventävät aina! Esimerkkejä: WHERE os_no = 'D01' AND kunta = 'Helsinki' OR kunta = 'Vantaa'' WHERE os_no = 'D01' AND (kunta = 'Helsinki' OR kunta = 'Vantaa') WHERE os_no = 'D01' AND NOT (kunta = 'Helsinki' OR kunta = 'Vantaa') Totuustaulut sivu 28 predikaatti (s,..) = T tosi? tuntematon (jos s on NULL) F epätosi Hakuehto voi muodostua yhdestä tai useammasta predikaatista ja näiden välisistä NOT, AND, OR-konnektiiveista. Totuusarvon laskentajärjestystä voidaan ohjata sulkein ( ). Näin muodostettujen loogisten lausekkeiden totuusarvot noudattavat seuraavaa 3-arvologiikkaa: AND T? F OR T? F NOT T T? F T T T T T F??? F? T???? F F F F F T? F F T

15 .ppt Yleinen NULL-arvot sivu 29 aritmeettisen lausekkeen arvo NULL, jos joku operandi on NULL predikaatin totuusarvo - jos vertailu, between, in, like tai määräpredikaatin jonkin argumentin arvona on NULL, on predikaatin totuusarvo tuntematon - NULL-arvon tutkimista varten on käytettävissä NULL-predikaatin muodot: IS NULL ja IS NOT NULL loogiset operaatiot NOT, AND, OR ks totuustaulut koostefunktiot: COUNT, SUM, AVG, MIN, MAX jos sarakkeella NULL, niin rivi ohitetaan, paitsi COUNT (*) jos tyhjä joukko, eli ei yhtään riviä, palautetaan NULL, paitsi COUNT(*):n arvoksi 0 kahta NULL-arvoa pidetään samoina seuraavissa lajittelussa (ORDER BY) kaksosten eliminoinnissa (DISTINCT ja UNION) ryhmittelyssä (GROUP BY) Koostefunktiot (aggregate functions) sivu 30 - Käytettävissä vain ryhmätasolla tai loppusummatasolla! COUNT ( * ) COUNT ( s ) COUNT ( DISTINCT s ) SUM ( s ) AVG ( s ) MIN ( s ) MAX ( s ) rivien lukumäärä rivien lukumäärä, joilla s ei ole NULL sarakkeella esiintyneiden eri arvojen lukumäärä sarakkeella s esiintyneiden kaikkien arvojen summa sarakkeella s esiintyneiden kaikkien arvojen keskiarvo pienin sarakkeella s esiintynyt arvo suurin sarakkeella s esiintynyt arvo

16 .ppt Yleinen SELECT-lauseen tulostaulutyypit sivu 31 yksikkörivit: välisummat: loppusummat: SELECT s1, r1, s2+s3 SELECT g1, SUM(s1), AVG(s2)... GROUP BY g1 g - vrt raportin osat SELECT SUM(s1), AVG(s2) 1xx 1xx... 1xx 2xx 2xx sum avg 2xx sum avg... 9xx 9xx 9xx sum avg sum avg SELECT-lauseen toimintamalli sivu 32 Rick van der Lans: FROM valitsee kohdetaulut... WHERE poimii rivit työtauluun GROUP BY ryhmittelee työtaulun rivit HAVING poimii ehdon täyttävät ryhmät SELECT poimii/laskee tulastaulun sarakkeet ORDER BY lajittelee tulostaulun rivit tulostaulu:

17 .ppt Yleinen Liitos sivu 33 - Tulostetaan lapsitaulun rivien tietoja täydennettynä vastaavien isärivien tiedoilla. Tietomalli: Ilmentymä: Isätaulu perusavain isätaulu Liitosta käyttävä kysely (-89): lapsitaulu laps_perusavain viiteavain SELECT... FROM lapsitaulu C, isätaulu F WHERE C.viiteavain = F.perusavain Tyypillinen liitospredikaatti lapsitaulu Viiteavaimen arvona on vastaavan "isärivin" avaimen arvo Huom -92 tuntee FROM-määreessä erityisen JOIN operaattorin Select FROM - liitokset sivu 34 Syntaksi: FromMääre ::= TauluMääre ( FromMääre ) INNER FromMääre NATURAL LEFT [OUTER] RIGHT [OUTER] JOIN TauluMääre ( FromMääre ) INNER FromMääre LEFT [OUTER] RIGHT [OUTER] JOIN TauluMääre ON hakuehto ( FromMääre ) USING (sarakelista) Esimerkki: SELECT... FROM lapsitaulu NATURAL JOIN isätaulu - jos avaimet samannimiset ja ei muita samannimisiä sarakkeita! SELECT... FROM lapsitaulu JOIN isätaulu USING (avain) - jos avaimet samannimiset!

18 .ppt Yleinen Ulkoliitokset sivu 35 lapsitaulu LEFT OUTER JOIN isätaulu => liitos + lapset joilla ei isää (isän tiedoissa NULL-arvot) lapsitaulu RIGHT OUTER JOIN isätaulu => liitos + isät joilla ei lapsia (lasten tiedoissa NULL-arvot) Liitospolku sivu 36 Kaikkien niiden taulujen kesken, joiden tietoja tarvitaan tulostauluun, voidaan tehdä liitokset. Ensin ratkaistaan mistä taulusta saadaan tulostaulun yksikkörivit. Tästä taulusta rakennetaan hakuehtoon liitospolut jokaiseen muuhun tauluun käyttäen liitospredikaattia ja käyttäen AND konnektiivia predikaattien välissä D A C C.d=D.d B.a=A.a B B.c=C.c (Liitosviuhkan juuri ) SELECT B.b, A.n, C.k, D.z,... FROM B, A, C, D WHERE B.a = A.a AND B.c = C.c AND C.d = D.d

19 .ppt Yleinen Korrelaationimet sivu 37 Jos sama taulu esiintyy liitospoluilla eri rooleissa, on taulun kullekin roolille annettava ns. korrelaationimi (viitenimi, aliasnimi) SELECT-lauseen FROM-määreessä ja taulusta saa käyttää SELECT-lauseen muissa osissa vain näitä korrelaationimiä. D A.d=D2.d A C C.d=D1.d B.a=A.a B B.c=C.c (Liitosviuhkan juuri ) SELECT B.b, A.n, D2.m, C.k, D1.m FROM B, A, C, D D1, D D2 WHERE B.a = A.a AND A.d = D2.d AND B.c = C.c AND C.d = D1.d Indeksit sivu 38 Syntaksi: CREATE [ UNIQUE ] [ CLUSTERING CLUSTERED ] INDEX hakemistonimi ON perustaulu ( sarake [ASC DESC ] [,... ] ) Indeksi (hakemisto) nopeuttaa hakua avaimella. Luodaan aina perusavaimella ja viiteavaimille (eheyden tarkistus, liitokset). Perusavaimelle UNIQUE-indeksi yleensä automaattisesti. UNIQUE ja CLUSTERING -hakemisto luodaan ennen rivien kirjoittamista. Huom ALLABSE/:ssä Clustering hakemisto kannattaa luoda vasta kun lajitellut rivit on ladattu tauluun.

20 .ppt Yleinen (Non-clustering) INDEX sivu 39 hakemistosivut ja avaimet juuri Matching index scan Range scan: lehtitaso Non-matching index scan taulutilan sivut ja taulun rivit serial scan Clustering INDEX sivu 40 hakemistosivut ja avaimet juuri lehtitaso taulutilan sivut ja taulun rivit

21 .ppt Yleinen Clustered INDEX sivu 41 hakemistosivut ja avaimet juuri Lehtitason muodostavat taulun sivut! taulutilan sivut ja taulun rivit... Predikaatit sivu 42 Hakuehto on siis yhdestä yhdestä tai useammasta ehdosta eli predikaatista konnektiiveilla NOT, AND ja OR sekä mahdollisesti sulkeilla yhdistetty looginen lauseke. -standardi tuntee seuraavat predikaatit: Vertailupredikaatti: <, <=, =, >=, >, <> BETWEEN-predikaatti: BETWEEN alaraja AND yläraja IN-predikaatti: IN (arvo, arvo,... ) LIKE-predikaatti: LIKE malli NULL-predikaatti: IS NULL Ei siis: = NULL Määräpredikaatti: vertailu ALL, ANY, SOME ( ) EXISTS-predikaatti: on olemassa ( )

22 .ppt Yleinen Predikaatit: syntaksien raidekaavio sivu 43 lauseke vert.op. lauseke sisäkysely lauseke lauseke sarake sarake lauseke EXISTS BETWEEN lauseke AND lauseke NOT IN sisäkysely NOT,, ( arvovakio ) lauseke LIKE malli NOT ESCAPE merkki IS NULL NOT vert.op. ALL sisäkysely ANY SOME sisäkysely BETWEEN-predikaatti sivu 44 BETWEEN-predikaatti on tyypillisesti muotoa sarake BETWEEN alaraja AND yläraja ja sillä tutkitaan onko sarakkeen arvo annetulla arvovälillä, arvovälin rajat mukaan lukien. Syntaksin mukaan sarakkeen, alarajan tai ylärajan paikalla voi olla myös aritmeettinen lauseke. Predikaatti on yhtäpitävä seuraavan loogisen lausekkeen kanssa: sarake >= alaraja AND sarake <= yläraja Predikaatin komplementtimuoto on sarake NOT BETWEEN alaraja AND yläraja

23 .ppt Yleinen IN-predikaatti sivu 45 IN-predikaatilla tutkitaan onko sarakkeen (yleistäen: lausekkeen) arvoja jokin suluissa luetelluista arvoista eli arvojoukon arvoista. Vertailun arvojoukko voidaan määrittää 1. luettelemalla arvojoukon alkiot eksplisiittisesti esim. Sarake IN (1, 3, 5, 9) 2. käyttämällä sisäkyselyä, jonka yksisarakkeinen tulostaulu tuottaa vertailun arvojoukon dynaamisesti tietokannan tietojen perusteella esim. tt_no IN (select tt_no from taidot where taito='c') 3. käyttämällä arvojoukon paikalla lauseketta (tämä vastaa vertailupredikaatin muotoa: sarake = lauseke) LIKE-predikaatti sivu 46 sarake LIKE malli [ESCAPE vaihtomerkki] mallissa voidaan käyttää seuraavia jokerimerkkejä _ täsmää mihin tahansa yhteen merkkiin % täsmää mihin tahansa merkkijonoon vaihtomerkki jokerimerkin edessä tekee siitä tarkan merkin, johon sarakkeen vastaavan merkin on täsmättävä. Kaikki muut ovatkin tarkkoja merkkejä. Esimerkkejä: Select nimi from hh.tyontek where nimi LIKE '_ur%'; Select asno, alennus from tilkas.asiakas where alennus LIKE '!%%' escape!;

24 .ppt Yleinen NULL-predikaatti sivu 47 Sarakkeen puuttuvaa arvoa sanotaan NULL-arvoksi. NULL-arvoinen sarake tuottaa vertailupredikaatille ja sen johdannaisille (BETWEEN, IN ja määräpredikaatit) totuusarvon tuntematon. Jos halutaan ottaa myös NULL-arvon mahdollisuus huomioon, tätä ei voi testata vertailupredikaatilla sarake = NULL vaan on käytettävä NULL-predikaatin muotoa: sarake IS NULL esim. Sarake IN (1, 3, 5, 7) OR sarake IS NULL Sisäkysely sivu 48 SELECT, UPDATE tai DELETE-komennon hakuehdon sisällä tietyissä predikaateissa voi esiintyä sulkeissa SELECT-lause. Tätä kutsutaan sisäkyselyksi (subquery, alikysely) ja sen tulostaulu toimii siis ulomman lauseen (komennon) rivien valintaperusteena. Sisäkyselyn tuloksia ei siis tulosteta ulommassa lauseessa. Esim. Select tt_no, tt_nimi from tyontek where tt_no IN (select tt_no from taidot where taito='c'); Sisäkysely voidaan usein korvata liitoksella, joka voi olla myös suorituksen kannalta tehokkaampi Select T.tt_no, tt_nimi from tyontek T, taidot D where taito = 'C' and D.tt=no = T.tt_no;

25 .ppt Yleinen... Sisäkyselyn tulostaulutyyppi sivu 49 Predikaatista riippuen tulostaulu on muotoa a) alkio (vertailupredikaatti) b) sarake, jonka eri riveille tulostuvat arvot muodostavat arvojoukon (IN, ALL, ANY, SOME) c) taulu, jonka olemassaoloa testataan EXISTS-predikaatissa Select... From A, B Where... (Select...) From A B Where A. B. työrivi: arvo: (Select... ) tulostaulu? arvojoukko Määräpredikaatti sivu 50 vertailuoperaattori: < <= = >= > <> Verrataan sarakkeen arvoa sisäkyselyllä muodostetun arvojoukon arvoihin ALL sarake ANY (sisäkysely) SOME ANY ja SOME ovat synonyymejä s ALL (a, b,... ) <=> s a AND s b AND... s ANY (a, b,... ) <=> s a OR s b OR... s <> ALL (... ) <=> s NOT IN (... ) s = ANY (... ) <=> s IN (... )

26 .ppt Yleinen määräpredikaatit, esimerkkejä sivu 51 Oletetaan, että sisäkysely tuottaa arvojoukon: ( 10, 20, 30 ) S = ANY (10, 20, 30) S < ANY (10, 20, 30) S > ANY (10, 20, 30) S = ALL (10, 20, 30) S < ALL (10, 20, 30) S > ALL (10, 20, 30) Jos S on 10, niin tosi Jos S on 5, niin epätosi Jos S < 30, niin tosi Jos S >= 30, niin epätosi Jos S > 10, niin tosi Jos S <= 10, niin epätosi Jos joukossa eri suuria alkioita, niin epätosi Jos S < 10, niin tosi Jos S >= 10, niin epätosi Jos S > 30, niin tosi Jos S <= 30, niin epätosi Sisäkkäisiä kyselyitä sivu 52 Kysymys Kenen johtamalla osastolla on C-kielen taitoisia? voidaan ratkaista esimerkiksi seuraavalla monitasoisella kyselyllä Select tt_nimi from tyontek where tt_no IN (select os_paal from osastot where os_no IN (select os_no from tyontek where tt_no IN (select tt_no from taidot where taito = 'C') ) ) ; Sisäkkäisiä kyselytasoja voi järjestelmästä riippuen olla jopa 15

27 .ppt Yleinen Korreloitu sisäkysely sivu 53 Ulomman kyselyn taulujen näkyvyysalue (scope) ulottuu sisäkyselyihin.. Jos ulomman kyselyn taulun saraketta käytetään sisäkyselyn hakuehdossa, sanotaan sisäkyselyä korreloiduksi. Esim. C-taitoiset henkilöt voitaisiin selvittää seuraavalla korreloitua sisäkyselyä käyttävällä kyselyllä Select tt_no, tt_nimi from tyontek where 'C' = SOME (select taito from taidot where tyontek.tt_no =taidot.tt_no); EXISTS-predikaatti sivu 54 Tutkitaan tuottaako sisäkysely tulostaulun (jolloin predikaatin totuusarvo on TRUE) vai ei (jolloin totuusarvo on FALSE) EXISTS (sisäkysely) Sisäkysely on tässä yleensä korreloitu ja sillä selvitetään esimerkiksi - onko isällä ehdon täyttäviä lapsia, tai - onko lapsella ehdon täyttävä isä Esim. Select tt_no, tt_nimi from tyontek T where EXISTS (select * from taidot S where taito= C and S.tt_no = T.tt_no);

28 .ppt Yleinen Korrelaationimi sisäkyselyssä sivu 55 Esim Jos korreloitu sisäkysely kohdistuu samaan tauluun kuin ulompi kysely, on näille taulun rooleille annettava omat korrelaationimet Select nimi, palkka from tyontek A where palkka > (select AVG(palkka) from tyontek B where A.os_no = B.os_no); TYONTEK (Select AVG(palkka)... Select.. from A where palkka from B os_no palkka os_no where A.os_no = B.os_no > AVG(palkka) Yhdiste, Leikkaus, Erotus sivu 56 Relaatioalgebran mukainen yhdiste toteutetaan seuraavasti (ilman UNION-operaattorin ALL-määrettä): -87: UNION SELECT... UNION [ ALL ] [ ORDER BY... ] SELECT : UNION INTERSECT EXCEPT Oracle: MINUS - oltava saman rakenteisia

29 .ppt Yleinen View sivu 57 View eli näkymä (johdettu taulu, johdos) on a) osa perustaulusta - voi olla päivittävä b) muunnos - välisumma, summa, liitos, yhdiste,... - ei päivittävä Näkymien avulla toteutetaan ohjelmien looginen tietoriippumattomuus - perustaulun muutos ei aina edellytä ohjelmamuutoksia, säästyy ylläpitotyötä - käsittelyä ulos ohjelmista - tietotarkastuksia - tulostaulun kokoaminen -> ohjelmat yksinkertaistuvat - suojauskeino Päivitys näkymän kautta sivu 58 nakyma K L Select perustaulu A B C D E Create View nakyma ( K, L) as Select B, D From perustaulu Insert Update Delete Where B between 100 and 200 With Check Option ; 1:1

30 .ppt Yleinen Rakenneosien käyttöoikeudet sivu 59 Rakenneosien käyttöoikeuksien myöntäminen GRANT ALL PRIVILEGES SELECT INSERT DELETE [,... ] UPDATE [ (sarakelista ) ] REFERENCES [ (sarakelista)] ON [kanta.] taulu TO käyttäjä [,... ] [ WITH GRANT OPTION ] Käyttöoikeuksien peruminen REVOKE valtuusluettelo ON [kanta.] taulu FROM käyttäjä [,...] käyttäjä tark. käyttäjätunnus rooli PUBLIC

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

HELIA TIKO-05 1 (22) ICT03D Tieto ja tiedon varastointi E.Räty, O.Virkki 9.3.2010 HELIA TIKO-05 1 (22) SQL SQL... 2 Historiaa... 2 Standardit... 3 Käyttö... 4 Sql-komentojen kirjoittaminen... 5 DDL... 7 Tietokantaobjektien määrittely... 7 SQL:n tietotyypit... 8 Eheyssääntöjen määrittely...

Lisätiedot

Relaatiomalli ja -tietokanta

Relaatiomalli ja -tietokanta Relaatiomalli ja -tietokanta > Edgar. F. (Ted) Codd, IBM, 1969 < A Relational Model of Data for Large Shared Data Banks Communications of the ACM, Vol. 13, No. 6, June 1970, pp. 377-387. > 70-luvun lopulla

Lisätiedot

3. Taulujen määrittely ja muuttaminen

3. Taulujen määrittely ja muuttaminen 3. Taulujen määrittely ja muuttaminen DDL: Taulujen luonti, muutos ja poisto DML: taulujen tietojen ylläpito Tapahtumien (transaktioiden) hallinta Näkymät, synonyymit ja muut tietokantaobjektit Taulujen

Lisätiedot

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

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet A271117, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin

Lisätiedot

3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN

3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN 3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN DDL: TAULUJEN LUONTI, MUUTOS JA POISTO DML: TAULUJEN TIETOJEN YLLÄPITO TAPAHTUMIEN (TRANSAKTIOIDEN) HALLINTA NÄKYMÄT, SYNONYYMIT JA MUUT TIETOKANTAOBJEKTIT TAULUJEN

Lisätiedot

CSE-A1200 Tietokannat

CSE-A1200 Tietokannat CSE-A1200 Tietokannat 29.3.2016 CSE-A1200 Tietokannat 29.3.2016 1 / 40 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten tietokannan relaatioiden (taulujen) määrittelyt kirjoitetaan SQL:llä. Osaat

Lisätiedot

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

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot) SQL sisältää operaatiot tietokannan sisällön muodostamiseen ja ylläpitoon: insert - uusien rivien vienti tauluun delete - rivien poisto update - rivien muutos 1 Insert lauseella on kaksi muotoa: insert

Lisätiedot

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

HAAGA-HELIA TIKO-05 1 (19) ICT23a Tietokannan suunnittelu ja toteutus O.Virkki 4.9.2008 HAAGA-HELIA TIKO-05 1 (19) Relaatiomalli Relaatiomalli... 2 Peruskäsitteet... 3 Relaatio... 5 Attribuutti ja arvojoukko... 6 Monikko... 7 Säännöt... 8 Yksilön eheyssääntö ja Pääavain... 9 Viite-eheyssääntö

Lisätiedot

Liitokset - haut useaan tauluun

Liitokset - haut useaan tauluun Liitokset Liitokset - haut useaan tauluun Tavallisin liitos on valintaliitos ehtona =,!=, yhtäläisyysliitos (=) yleisin (vrt. Inner join) taulut liitetään toisiinsa yleensä avaimilla (perus-

Lisätiedot

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

select tulostietomäärittely from taulukkeet [where valintaehdot] [group by ryhmitystekijät] [having ryhmärajoitteet] [order by järjestysperusta] SQL kysely Kyselyn yleisrakenne: select tulostietomäärittely from taulukkeet [where valintaehdot] [group by ryhmitystekijät] [having ryhmärajoitteet] [order by järjestysperusta] Kysely tuottaa nimettömän

Lisätiedot

HELIA 1 (12) Outi Virkki Tiedonhallinta 4.11.2000

HELIA 1 (12) Outi Virkki Tiedonhallinta 4.11.2000 HELIA 1 (12) Luento 4.3 Eheyssäännöt (Integrity Constraints)... 2 Eheyden valvonta... 3 Yksilön eheyssääntö... 4 Viite-eheyssäännöt... 5 Arvojoukkoeheyssäännöt... 8 Null-arvoista... 10 Sovelluskohtaiset

Lisätiedot

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

Harjoitustehtävä 1. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. SQL kysely Harjoitustehtävä 1 Puutarha Puutarhatunnus omistaja sijainti Vastuualue puutarhatunnus aluenumero maaperä, kosteus valaistus sijainti vastuutonttu Tonttu Tonttutunnus Istutus istutuspäivä paikka_alueella

Lisätiedot

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

Hakukyselyt: SELECT * FROM taulu WHERE sarake1 = Malli Nimi [WHERE sarake1 LIKE M% ] [WHERE BETWEEN ehto1 AND ehto2] [WHERE sarake1 IN/= (alikysely)] Tällä viikolla Kertaus SQL-asioista jatketaan SQL-tekstifuntio-harjoituksia tehdään pelifirman tietokannasta ER-malli MySQL:llä, tarkastellaan mallin toimivuutta ja korjataan, jos korjattavaa löytyy, tehdään

Lisätiedot

Opettajana Mika Sorsa, mika.sorsa@koudata.fi, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

Opettajana Mika Sorsa, mika.sorsa@koudata.fi, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija Opettajana Mika Sorsa, mika.sorsa@koudata.fi, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija Opintojaksolla: keskitytään relaatiotietokantojen teoriaan ja toimintaan SQL-kieli kyselykielenä

Lisätiedot

Relaation tyhjyyden testaaminen

Relaation tyhjyyden testaaminen Tulostaulun tyhjyyden testaaminen Luettele ne asiakkaat, joilla on sekä talletus että laina -konttorissa. (Leikkaus!) useita mahdollisia toteutustapoja INTERSECT sisäkysely sisäkysely + tulostaulun tyhjyyden

Lisätiedot

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

MUITA TIETOKANTAOBJEKTEJA NÄKYMÄT, SYNONYYMIT, INDEKSOINTI, VALTUUDET JA SYSTEEMIHAKEMISTO MUITA TIETOKANTAOBJEKTEJA NÄKYMÄT, SYNONYYMIT, INDEKSOINTI, VALTUUDET JA SYSTEEMIHAKEMISTO NÄKYMÄT Näkymä (view) on looginen näyte tietokannan tauluista tai näkymistä Näkymä ei voi sisältää SELECT INTO,

Lisätiedot

SQL-kielen perusteet. Tietokantojen perusteet 4.4.2008

SQL-kielen perusteet. Tietokantojen perusteet 4.4.2008 SQL-kielen perusteet Tietokantojen perusteet 4.4.2008 Sisällys Tietokannan käsittely ja ylläpito SQL tiedonmäärittelykielenä Tietokantataulun ja sen osien määrittely SQL tiedonkäsittelykielenä SQL-kysely

Lisätiedot

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI Tarkastellaan Tietokannan fyysistä suunnittelua Menetelmän vaihetta 4 Looginen suunoitelma muutetaan toimiviksi tauluiksi Id enimi snimi muuta 1 Aki Joki xxx

Lisätiedot

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu 13.11.2000

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu 13.11.2000 HELIA 1 (15) Luento 2.7 Toiminnallisuutta tietokantaan... 2 Deklaratiivinen eheysvalvonta... 2 Proseduraalinen eheysvalvonta... 3 Eheysvalvonnan suunnittelusta... 4 Sääntöjen määrittely... 4 Toteutusvaihtoehdot...

Lisätiedot

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

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

Lisätiedot

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

Kirjasto Relaatiotietokannat Kevät 2001. Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina Kirjasto Kevät 2001 Auvinen Annemari Niemi Anu Harjoitustyö 7.4.2001 Sisällysluettelo 1. Yleiskuvaus... 3 2. Vaatimukset... 3 2.1. Toiminnalliset... 3 2.1.1. Sisäänkirjautuminen... 3 2.1.2. Nimikkeiden

Lisätiedot

Yhdiste, leikkaus, erotus ym.

Yhdiste, leikkaus, erotus ym. Yhdiste, leikkaus, erotus ym. SQL tarjoaa myös relaatioalgebran operaatiot yhdiste, leikkaus, erotus Näissä operaatioissa taulujen on oltava samarakenteisia, ts. niissä on oltava samantyyppiset vastinsarakkeet.

Lisätiedot

Esimerkki. pankkien talletus- ja lainatietokanta: Yhdiste, leikkaus, erotus ym. Leikkaus (intersect) Yhdiste (Union) Erotus (except/minus) Leikkaus

Esimerkki. pankkien talletus- ja lainatietokanta: Yhdiste, leikkaus, erotus ym. Leikkaus (intersect) Yhdiste (Union) Erotus (except/minus) Leikkaus Yhdiste, leikkaus, erotus ym. SQL tarjoaa myös relaatioalgebran operaatiot yhdiste, leikkaus, erotus Näissä operaatioissa taulujen on oltava samarakenteisia, ts. niissä on oltava samantyyppiset vastinsarakkeet.

Lisätiedot

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

Tällä viikolla. Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia Tällä viikolla Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia 1.) Mainitse tietokonepelistä (kuvitteellisesta tai todellisesta) esimerkkitilanteita,

Lisätiedot

CSE-A1200 Tietokannat

CSE-A1200 Tietokannat CSE-A1200 Tietokannat 23.2.2016 CSE-A1200 Tietokannat 23.2.2016 1 / 36 Oppimistavoitteet: tämän luennon jälkeen Tunnet SQL:n perusteet ja osaat tehdä yksinkertaisia SQL-kyselyitä, esimerkiksi hakea relaatiosta

Lisätiedot

2. Käsiteanalyysi ja relaatiomalli

2. Käsiteanalyysi ja relaatiomalli 2. Käsiteanalyysi ja relaatiomalli lehtori Pasi Ranne Metropolia ammattikorkeakoulu E-mail: pasi.ranne@metropolia.fi sivu 1 Tietokannan suunnitteluprosessin osat sivu 2 Käsiteanalyysi ER-mallinnus, tietomallinnus

Lisätiedot

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu 9.3.2001

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu 9.3.2001 HELIA 1 (19) Luento 11 Eheyssäännöt (Integrity Constraints)... 2 Eheyden valvonta... 3 Yksilön eheyssääntö... 4 Arvojoukkoeheyssäännöt... 5 Null-arvoista... 6 Viite-eheyssäännöt... 7 Emorelaation päivitys...

Lisätiedot

TIETOKANNAT JOHDANTO

TIETOKANNAT JOHDANTO TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI 2000-2011 Tieto TAUSTAA Yritykselle tiedot ovat tärkeä resurssi päätöksenteon tukena (JIT) varastointi ja käyttö vaativat investointeja vrt. energia (lähde,

Lisätiedot

Tietokantojen suunnittelu, relaatiokantojen perusteita

Tietokantojen suunnittelu, relaatiokantojen perusteita Tietokantojen suunnittelu, relaatiokantojen perusteita A277, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin

Lisätiedot

KOOSTEFUNKTIOT. Viisi standardifunktiota: Esim. montako henkilöä on henkilo-taulussa:

KOOSTEFUNKTIOT. Viisi standardifunktiota: Esim. montako henkilöä on henkilo-taulussa: FUNKTIOT Viisi standardifunktiota: AVG -- keskiarvo MIN -- pienin arvo MAX -- suurin arvo SUM -- summa COUNT -- lukumäärä KOOSTEFUNKTIOT Esim. montako henkilöä on henkilo-taulussa: SELECT Count(*) AS Lkm

Lisätiedot

TIETOKANTOJEN PERUSTEET MARKKU SUNI

TIETOKANTOJEN PERUSTEET MARKKU SUNI TIETOKANTOJEN PERUSTEET MARKKU SUNI SQL - KIELI TIETOJEN MUOKKAUS MARKKU SUNI Tarkastellaan tauluissa olevien tietojen muokkausta muokkauskäskyjä: INSERT UPDATE DELETE Kysymys kuuluu: Voiko tietoja muokata

Lisätiedot

Kirjoita jokaiseen erilliseen vastauspaperiin kurssin nimi, tenttipäivä, oma nimesi (selkeästi), opiskelijanumerosi ja nimikirjoituksesi

Kirjoita jokaiseen erilliseen vastauspaperiin kurssin nimi, tenttipäivä, oma nimesi (selkeästi), opiskelijanumerosi ja nimikirjoituksesi Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, kurssikoe 29.2.2012 (vastauksia) Liitteenä on tiivistelmä SQL-syntaksista Kirjoita jokaiseen erilliseen vastauspaperiin kurssin

Lisätiedot

7.11.2006. Helsingin yliopisto/tktl Kyselykielet, s 2006 Relaatiokalkyylit. Harri Laine 1

7.11.2006. Helsingin yliopisto/tktl Kyselykielet, s 2006 Relaatiokalkyylit. Harri Laine 1 perusteita - relaatiokalkyylit perusteita - relaatiokalkyylit Relaatioalgebra on luonteeltaan proseduraalinen tapa käsitellä tietoa. Tiedon haetaan sarjaksi järjestettyjen operaatioiden avulla. Edellä

Lisätiedot

Denormalisointia turvallisesti. Ougf syysseminaari 4.11.2010 Pörssitalo Helsinki Timo Raitalaakso

Denormalisointia turvallisesti. Ougf syysseminaari 4.11.2010 Pörssitalo Helsinki Timo Raitalaakso Denormalisointia turvallisesti Ougf syysseminaari 4.11.2010 Pörssitalo Helsinki Timo Raitalaakso Timo Raitalaakso Senior Database Specialist Solita Oy 2001- - 2001 Tampereen Teknillinen korkeakoulu Tietokannat

Lisätiedot

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

HAAGA-HELIA heti09 1 (27) ICT05 Tiedonhallinta ja tietokannat O.Virkki 19.1.2010. Relaatiomalli HAAGA-HELIA heti09 1 (27) Relaatiomalli Relaatiomalli... 2 Peruskäsitteet... 3 Relaatio... 5 Attribuutti ja arvojoukko... 6 Monikko... 7 Säännöt... 8 Arvojoukkoeheyssääntö... 8 Pääavain ja yksilön eheyssääntö...

Lisätiedot

TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI

TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI Tavoite: Suunnitella käyttäjien tarvitsemat turvallisuusmekanismit ja säännöt. Toisin sanoen: tehdä tietokannasta turvallinen ja luotettava. Muistutus: Tietokanta

Lisätiedot

SQL:N PERUSTEET MARKKU SUNI

SQL:N PERUSTEET MARKKU SUNI SQL:N PERUSTEET MARKKU SUNI Relaatiomallisen tietokannan käsittely Tietojen saanti, talletus ja päivitys tapahtuu SQL-kielellä Yhtä operaatiota sanotaan kyselyksi (query) Kyselyjä voidaan laittaa peräkkäin

Lisätiedot

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

Tiedonhallinnan perusteet. H11 Ovien ja kulun valvontajärjestelmän tietokanta Tiedonhallinnan perusteet H11 Ovien ja kulun valvontajärjestelmän tietokanta Nimi: Mikko Haapanen Opiskelijanumero: 0900568 Ryhmä: T09L Työ tehty: 15.3.2010 Mikko Haapanen 15.3.2010 1(7) 1. Asiakasvaatimukset

Lisätiedot

Helsingin yliopisto/ tktl DO Tietokantojen perusteet, s 2000 Relaatioalgebra 14.9.2000. Harri Laine 1. Relaatioalgebra

Helsingin yliopisto/ tktl DO Tietokantojen perusteet, s 2000 Relaatioalgebra 14.9.2000. Harri Laine 1. Relaatioalgebra DO NOT PRINT THIS DOCUMENT operaatiot, joilla relaatioista voidaan muodostaa uusia relaatioita joukko opin perusoperaatiot yhdiste, erotus, ristitulo, leikkaus erityisiä relaatioalgebran operaatioita projektio,

Lisätiedot

OUTER JOIN se vanha kunnon kaveri

OUTER JOIN se vanha kunnon kaveri OUTER JOIN se vanha kunnon kaveri Ulkoliitoksia on kolmenlaisia Left -> vasemmasta taulusta otetaan ehdot täyttävät rivit ja yhdistetään oikeanpuoleiseen tauluun jos rivi löytyy - nested loop join Right

Lisätiedot

HELIA TIKO-05 1 ( 12) ICT03D Tieto ja tiedon varastointi Martti Laiho 15.11.2005

HELIA TIKO-05 1 ( 12) ICT03D Tieto ja tiedon varastointi Martti Laiho 15.11.2005 HELIA TIKO-05 1 ( 12) Suorituskyky DBMS-järjestelmien keskeisiä laatuvaatimuksia ovat Tiedon luotettavuus (kattaen seuraavat: tietoturva, tiedon eheys, tiedon säilyvyys) Tiedon saatavuus (kattaen myös

Lisätiedot

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

HELIA TIKO-05 1 (22) Tieto ja tiedon varastointi E.Räty, O.Virkki 12.10.2006 HELIA TIKO-05 1 (22) SQL / DML SQL / DML...2 Tiedon haku eli -lause...4 Distinct-määre...7 Lasketut sarakkeet...8 Sarakkeen uudelleen nimeäminen...9 SQL:n funktioita... 10 Merkkijonofunktiot... 10 Päivämääräfunktiot...

Lisätiedot

VINKKI: Katso Kentät Muistioon -painikkeella, mikä on taulukon nimen oikea kirjoitusasu.

VINKKI: Katso Kentät Muistioon -painikkeella, mikä on taulukon nimen oikea kirjoitusasu. RATKAISUJA PULMAILMOITUKSIIN ASTERIOHJELMIEN SQLKYSELYISSÄ Virhe kyselyssä: Microsoft Jet tietokantamoduuli ei löydä syötetaulukkoa tai kyselyä Laskut. Varmista, että se on luotu ja että kirjoitit nimen

Lisätiedot

Tietotyypit ja operaattorit

Tietotyypit ja operaattorit Tietotyypit ja operaattorit Luennossa tarkastellaan yksinkertaisten tietotyyppien int, double ja char muunnoksia tyypistä toiseen sekä esitellään uusia operaatioita. Numeeriset tietotyypit ja muunnos Merkkitieto

Lisätiedot

Tietokannat II -kurssin harjoitustyö

Tietokannat II -kurssin harjoitustyö Tietokannat II -kurssin harjoitustyö Olli Opiskelija (123), olli.opiskelija@foo.fi Maija Mallioppilas (321), maija.mallioppilas@foo.fi 13.3. 2007 1 Sisältö 1 Tietokannan kuvaus 3 1.1 Tietokannan rakenne..................................

Lisätiedot

Mikä on tietomalli? Relaatiomallin käsitteitä 1/2 (kuva 5.1) Relaatiomallin taustaa

Mikä on tietomalli? Relaatiomallin käsitteitä 1/2 (kuva 5.1) Relaatiomallin taustaa Relaatiomalli 5. Relaatiomalli Käsitteet Säännöt Käyttö 6. Relaatioalgebra (EI TENTTIIN!) Select, Project, Union, Difference, Join 7. (E)ER-mallin muuntaminen relaatioiksi Kaava Mikä on tietomalli? Malli,

Lisätiedot

4.3.4 SQL kyselyt... 45

4.3.4 SQL kyselyt... 45 TIETOKANTOJEN PERUSTEET, OPETUSMONISTE OSA 3 SQL- KYSELYT Harri Laine 4.3.4 SQL kyselyt... 45 4.3.4.1 Tulostietomäärittely... 46 4.3.4.2 Viittaukset tauluihin ja sarakkeisiin... 49 4.3.4.3 Toistuvat tulosrivit...

Lisätiedot

5 SQL TIETOKANTAKIELI...33

5 SQL TIETOKANTAKIELI...33 5 SQL TIETOKANTAKIELI...33 5.1 SQL TIETOKANTA...34 5.2 SQL:N KIRJOITUSASU...36 5.3 SQL MÄÄRITTELYKIELENÄ...36 5.3.1 Käyttäjät...36 5.3.2 Oikeudet...37 5.3.3 Kaaviot ja taulut...38 5.3.4 Taulujen rakenteen

Lisätiedot

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita valintalauseet 1 Johdantoa kontrollirakenteisiin Tähän saakka ohjelmissa on ollut vain peräkkäisyyttä eli lauseet on suoritettu peräkkäin yksi kerrallaan Tarvitsemme myös valintaa

Lisätiedot

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

Tietomallit. Näkökulmat tietoon. Näkökulmat tietoon. Mitä malleja olisi tarjolla? Abstraktiotasot tiedon käsittelyssä Tietomallit Tietomallilla (data model) tarkoitetaan tiedon rakenteen ja tiedolle suoritettavan käsittelyn määrittelevää kehikkoa - käsitteistöä Tietoa voidaan tarkastella eri näkökulmista - eri abstraktiotasoilla

Lisätiedot

Harjoitustyö. CSE-A1200 Tietokannat! Jasse Lahdenperä! 345396! killedwhale@kapsi.fi! Henri Nurmi! 345545! henri.nurmi@kapsi.fi!

Harjoitustyö. CSE-A1200 Tietokannat! Jasse Lahdenperä! 345396! killedwhale@kapsi.fi! Henri Nurmi! 345545! henri.nurmi@kapsi.fi! Harjoitustyö CSE-A1200 Tietokannat Jasse Lahdenperä 345396 killedwhale@kapsi.fi Henri Nurmi 345545 henri.nurmi@kapsi.fi 1 Ensimmäisen vaiheen ratkaisu ER-Kaavio 2 Relaatiomalli: Loanable(Id, MaximumLoanTime)

Lisätiedot

Tietokannat II -kurssin harjoitustyö

Tietokannat II -kurssin harjoitustyö Tietokannat II -kurssin harjoitustyö Jyri Lehtonen (72039), jkoleh@utu.fi Azad Hajipour (72187), azhaji@utu.fi 10.6.2007 Sisältö 1. Tietokannan kuvaus... 1 1.1 Tietokannan rakenne... 1 1.2 Relaatiokaava

Lisätiedot

Opintopiiritehtävä 3: Verkkohuutokauppa

Opintopiiritehtävä 3: Verkkohuutokauppa Opintopiiritehtävä 3: Verkkohuutokauppa Jarmo Vestola, Tommi Voss, Perttu Määttä, Tia Määttänen, Satu Salekari, Henry Kari Helsingin yliopisto Tietojenkäsittelytieteen laitos Tietokantojen perusteet -kurssi

Lisätiedot

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); 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

Lisätiedot

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto Harri Laine Helsingin yliopisto Suosion syy? Yksinkertaisuus vähän käsitteitä helppo hahmottaa Selkeä matemaattinen perusta ei tulkintaongelmia kuten esim. UML:ssä teoria käytäntö kaavio: R(A 1 :D 1, A

Lisätiedot

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin. 2. Ohjausrakenteet Ohjausrakenteiden avulla ohjataan ohjelman suoritusta. peräkkäisyys valinta toisto Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet

Lisätiedot

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

HELIA TIKO-05 1 (15) ICT03D Tieto ja tiedon varastointi Räty, Virkki 25.10.2006 HELIA TIKO-05 1 (15) SQL / DML 3 Liitos...2 SQL-92:n join operaatio...4 SQL-89:n join operaatio:...5 Karteesinen tulo... 10 Ulkoliitos (Outer join)... 11 Vasemmanpuoleinen ulkoliitos... 12 Oikeanpuoleinen

Lisätiedot

SQL-KIELEN PERUSTEET

SQL-KIELEN PERUSTEET SQL-KIELEN PERUSTEET JOUNI HUOTARI 1999-2013 KALVOT PERUSTUVAT PÄÄOSIN ARI HOVIN SQL-OPPAASEEN (DOCENDO 2004) 1. VERSIO: TAPANI ÄIJÄNEN http://www.nelliportaali.fi/link/fin24130 1 1. JOHDANTO HUOM. SQL:N

Lisätiedot

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

Tällä viikolla. Kotitehtävien tarkistus Upotettu SQL Indeksi-harjoitus täydennetään pelifirman tietokantamallia SQL-tehtäviä Tällä viikolla Kotitehtävien tarkistus Upotettu SQL Indeksi-harjoitus täydennetään pelifirman tietokantamallia SQL-tehtäviä Seuraavissa harjoituksissa käytetään tukkukauppa-kantaa. 1. Hae kaikki toimittajat

Lisätiedot

Ehto- ja toistolauseet

Ehto- ja toistolauseet Ehto- ja toistolauseet 1 Ehto- ja toistolauseet Uutena asiana opetellaan ohjelmointilauseet / rakenteet, jotka mahdollistavat: Päätösten tekemisen ohjelman suorituksen aikana (esim. kyllä/ei) Samoja lauseiden

Lisätiedot

Kirjoita kuhunkin erilliseen vastauspaperiin kurssin nimi, tentin päiväys, oma nimesi, syntymäaikasi ja nimikirjoituksesi.

Kirjoita kuhunkin erilliseen vastauspaperiin kurssin nimi, tentin päiväys, oma nimesi, syntymäaikasi ja nimikirjoituksesi. Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, kurssikoe 4.3.2015, H. Laine Tehtävien mukana jaetaan sql-syntaksin tiivistelmä. Kirjoita kuhunkin erilliseen vastauspaperiin

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, Vakio Tiedon merkkipohjainen tulostaminen Ohjelmointi (ict1tx006) Tunnus (5.3) Javan tunnus Java-kirjain Java-numero

Lisätiedot

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); 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

Lisätiedot

Näkymät ja hakemistot

Näkymät ja hakemistot Näkymät ja hakemistot A271117, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin opintomoniste Eri web-lähteet

Lisätiedot

SQL:N PERUSTEET MARKKU SUNI

SQL:N PERUSTEET MARKKU SUNI SQL:N PERUSTEET MARKKU SUNI Vertailuoperaattorit Vertailuoperaattorit vertailevat lausekkeiden arvoja Vertailu palauttaa jonkin kolmesta arvosta: TRUE Tosi FALSE Falski, väärä NULL Tuntematon JOS vertailuehtona

Lisätiedot

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

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: Linux-harjoitus 6 Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

Vain valitut kentät: SELECT Päivämäärä, Laskutusnimi, [ale mk], Loppusumma FROM Laskuotsikot

Vain valitut kentät: SELECT Päivämäärä, Laskutusnimi, [ale mk], Loppusumma FROM Laskuotsikot SQL-ESIMERKKILAUSEITA yksinkertaisesta monimutkaiseen, esim. itseopiskelua varten ASTERI LASKUTUS Kaikkien laskuotsikoiden kaikki kentät: SELECT * FROM Laskuotsikot Vain valitut kentät: SELECT Päivämäärä,

Lisätiedot

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas Tiedonhallinnan perusteet Viikko 1 Jukka Lähetkangas Kurssilla käytävät asiat Tietokantojen toimintafilosofian ja -tekniikan perusteet Tiedonsäilönnän vaihtoehdot Tietokantojen suunnitteleminen internetiä

Lisätiedot

Samanaikaisuuden hallinta. Optiot transaktionaalisissa työnkuluissa

Samanaikaisuuden hallinta. Optiot transaktionaalisissa työnkuluissa Samanaikaisuuden hallinta Optiot transaktionaalisissa työnkuluissa Sisältö Transaktionaaliset työnkulut Samanaikaisuuden ongelmat Optiot idea käyttökohteet WorkMan Optioiden toteutus Arviointi Transaktionaaliset

Lisätiedot

Jouni Huotari & Tapani Äijänen 1999-2008 Kalvot perustuvat pääosin Ari Hovin SQL-oppaaseen (Docendo 2004)

Jouni Huotari & Tapani Äijänen 1999-2008 Kalvot perustuvat pääosin Ari Hovin SQL-oppaaseen (Docendo 2004) SQL-kielen perusteet t Jouni Huotari & Tapani Äijänen 1999-2008 Kalvot perustuvat pääosin Ari Hovin SQL-oppaaseen (Docendo 2004) 1. Johdanto Huom. Relaatiomalli ym. tietokantojen perusteet on esitetty

Lisätiedot

KAAVAT. Sisällysluettelo

KAAVAT. Sisällysluettelo Excel 2013 Kaavat Sisällysluettelo KAAVAT KAAVAT... 1 Kaavan tekeminen... 2 Kaavan tekeminen osoittamalla... 2 Kaavan kopioiminen... 3 Kaavan kirjoittaminen... 3 Summa-funktion lisääminen... 4 Suorat eli

Lisätiedot

Relaatioista TIETOJENKÄSITTELYTIETEIDEN LAITOS, JUHA IISAKKA 11-14

Relaatioista TIETOJENKÄSITTELYTIETEIDEN LAITOS, JUHA IISAKKA 11-14 Relaatioista Sarakenimistä relaation kaava tulisi olla yksiselitteinen attribuutin roolinimen tulisi auttaa ymmärtämään attribuutin tarkoituksen OSASTO(NIMI,NRO, TNRO, SIJAINTI) mitä tarkoittaa TNRO? viiteavaimella

Lisätiedot

LINUX-HARJOITUS, MYSQL

LINUX-HARJOITUS, MYSQL LINUX-HARJOITUS, MYSQL Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

Toad Data Modeler 2.25. Lari Hoppula Annika Koppelomäki Johanna Pietilä Esko-Pekka Tähti

Toad Data Modeler 2.25. Lari Hoppula Annika Koppelomäki Johanna Pietilä Esko-Pekka Tähti Toad Data Modeler 2.25 Lari Hoppula Annika Koppelomäki Johanna Pietilä Esko-Pekka Tähti Huhtikuu 2007 SISÄLTÖ 1 YLEISTÄ OHJELMASTA... 3 1.1 Taustaa... 3 1.2 Ominaisuudet... 3 1.3 Tuetut tietokannat...

Lisätiedot

T-76.115 Testiraportti TR-3. ETL-työkalu

T-76.115 Testiraportti TR-3. ETL-työkalu T-76.115 Testiraportti TR-3 ETL-työkalu ExtraTerrestriaLs Versio Päivämäärä Tekijä Kuvaus 1.0 14.03.05 Risto Kunnas Ensimmäinen versio 1.1 15.03.05 Risto Kunnas Korjauksia Sivu 1 / 14 Sisällysluettelo

Lisätiedot

3. Käsiteanalyysi ja käsitekaavio

3. Käsiteanalyysi ja käsitekaavio 3. Käsiteanalyysi ja käsitekaavio lehtori Pasi Ranne Metropolia ammattikorkeakoulu E-mail: pasi.ranne@metropolia.fi sivu 1 Käsiteanalyysi Selvitetään mitä tietokantaan pitää tallentaa Lähtökohtana käyttäjien

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen

Lisätiedot

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

Access-kyselyt. Luetteloinnin kehittämispäivä 13.12.2012 Mia Kujala Access-kyselyt Luetteloinnin kehittämispäivä 13.12.2012 Mia Kujala Ennen kuin aloitat MS Access on asennettu Oracle ODBC-ajuri on asennettu C:\Voyager\Access Reports\Reports.mdb > Voyager-taulut on linkitetty

Lisätiedot

LAUSELOGIIKKA (1) Sanalliset ilmaisut ovat usein epätarkkoja. On ilmaisuja, joista voidaan sanoa, että ne ovat tosia tai epätosia, mutta eivät molempia. Ilmaisuja, joihin voidaan liittää totuusarvoja (tosi,

Lisätiedot

ASTERI-OHJELMIEN SQL-ERIKOISKURSSI LUENTOKALVOT

ASTERI-OHJELMIEN SQL-ERIKOISKURSSI LUENTOKALVOT ASTERI-OHJELMIEN SQL-ERIKOISKURSSI LUENTOKALVOT MIKSI SQL? - voit tehdä rajattomasti erilaisia tilastoja, raportteja ja tulosteita juuri omaan tarpeeseesi, esim. o yritysjohdon tarpeisiin o myyntitilastot

Lisätiedot

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu 20.9.2005

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu 20.9.2005 HELIA 1 (21) Luento 7 Relaatiomallin kertausta... 2 Peruskäsitteet... 2 Relaatio... 4 Määritelmä... 4 Relaatiokaava (Relation schema)... 4 Relaatioinstanssi (Relation instance)... 4 Attribuutti ja arvojoukko...

Lisätiedot

HELIA SQL-harjoituksia 1(1) atk72d Versiopvm: 24.3.2003

HELIA SQL-harjoituksia 1(1) atk72d Versiopvm: 24.3.2003 HELIA SQL-harjoituksia 1(1) SQL-HARJOITUKSIA Takkulan taulut Takkulan opiston relaatiotietokannan rakenne on seuraava: OPPILAS oppilasnro etunimi sukunimi syntpvm AINE lahiosoite ainenro postinro kurssikerta

Lisätiedot

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

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen Esimerkki: Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen Luo tietokanta Koulu. Tietokantaan lisätään 3 taulua. Kurssit-taulu: kurssiid not null primary key INTEGER aineid not

Lisätiedot

SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito

SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito SQL sisältää operaatiot tietokannan sisällön muodostamiseen ja ylläpitoon: insert - uusien rivien vienti tauluun delete - rivien poisto update - rivien muutos Insert lauseella on kaksi muotoa: insert into

Lisätiedot

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

Tuotteiden tiedot: Lisää uuden tuotteen tiedot. Muuta tai poista tuotteen tiedot. Selaa kaikkien tuotteiden tietoja. laskutus_index http://media.stadia.fi/~0700527/laskutus/laskutus_index.html Sivu 1/1 13.12.2007 Laskutus -tietokanta Henkilöiden tiedot: Lisää uuden henkilön tiedot Muuta tai poista henkilön tiedot Selaa

Lisätiedot

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti: 1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri

Lisätiedot

TIETOKANTOJEN PERUSTEET MARKKU SUNI

TIETOKANTOJEN PERUSTEET MARKKU SUNI TIETOKANTOJEN PERUSTEET MARKKU SUNI TIETOKANTOJEN SUUNNITTELU MARKKU SUNI TARKASTELLAAN Tietokannan SUUNNITTELUN Vaihetta 5 SUUNNITTELE FYYSINEN ESITYSMUOTO Tietokannan suunnittelun vaihe 5: Suunnittele

Lisätiedot

D B. Kyselyjen käsittely ja optimointi. Kyselyn käsittelyn vaiheet:

D B. Kyselyjen käsittely ja optimointi. Kyselyn käsittelyn vaiheet: Kyselyjen käsittely ja optimointi Kyselyn käsittelyn vaiheet: TKHJ ottaa vastaan kyselyn asiakasohjelmalta Kysely selataan ja jäsennetään tarkistetaan kyselyn rakenteellinen oikeellisuus Jäsennetty kysely

Lisätiedot

SQL-KIELEN PERUSTEET JOUNI HUOTARI 1999-2009 KALVOT PERUSTUVAT PÄÄOSIN ARI HOVIN SQL-OPPAASEEN (DOCENDO 2004) 1. VERSIO: TAPANI ÄIJÄNEN

SQL-KIELEN PERUSTEET JOUNI HUOTARI 1999-2009 KALVOT PERUSTUVAT PÄÄOSIN ARI HOVIN SQL-OPPAASEEN (DOCENDO 2004) 1. VERSIO: TAPANI ÄIJÄNEN SQL-KIELEN PERUSTEET JOUNI HUOTARI 1999-2009 KALVOT PERUSTUVAT PÄÄOSIN ARI HOVIN SQL-OPPAASEEN (DOCENDO 2004) 1. VERSIO: TAPANI ÄIJÄNEN Jouni Huotari 2000-2009 1. JOHDANTO HUOM. RELAATIOMALLI YM. TIETOKANTOJEN

Lisätiedot

Paikkatiedon hallinta ja analyysi 3. Paikkatietomallit ja kyselyt

Paikkatiedon hallinta ja analyysi 3. Paikkatietomallit ja kyselyt HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Paikkatiedon hallinta ja analyysi 3. Paikkatietomallit ja kyselyt Antti Leino 21. maaliskuuta 2005 Tietojenkäsittelytieteen

Lisätiedot

HELIA 1 (11) Outi Virkki Tiedonhallinta 4.11.2000

HELIA 1 (11) Outi Virkki Tiedonhallinta 4.11.2000 HELIA 1 (11) Access 1 ACCESS...2 Yleistä...2 Access-tietokanta...3 Perusobjektit...3 Taulu...5 Kysely...7 Lomake...9 Raportti...10 Makro...11 Moduli...11 HELIA 2 (11) ACCESS Yleistä Relaatiotietokantatyyppinen

Lisätiedot

Luento 5. Timo Savola. 28. huhtikuuta 2006

Luento 5. Timo Savola. 28. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 5 Timo Savola 28. huhtikuuta 2006 Osa I Shell-ohjelmointi Ehtolause Lausekkeet suoritetaan jos ehtolausekkeen paluuarvo on 0 if ehtolauseke then lauseke

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia. Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka

Lisätiedot

SQL:N PERUSTEET OSIO 03 MARKKU SUNI

SQL:N PERUSTEET OSIO 03 MARKKU SUNI SQL:N PERUSTEET OSIO 03 MARKKU SUNI SQL - KIELI FUNKTIOT ELI SAADUN TIEDON JATKOKÄSITTELYÄ MARKKU SUNI Tarkastellaan Koostefunktioita Päiväys- ja kellonaikafunktioita Aritmeettisia funktioita Merkkifunktioita

Lisätiedot

Tietokannan rakenteen suunnittelu

Tietokannan rakenteen suunnittelu HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja tietokkanat Tietokannan rakenteen suunnittelu Tietokannan suunnitteluprosessi... 2 Lähtökohdat... 3 Looginen mallintaminen... 4 Muunnos luokkakaaviosta

Lisätiedot

Luento 2: Tiedostot ja tiedon varastointi

Luento 2: Tiedostot ja tiedon varastointi HELIA 1 (19) Luento 2: Tiedostot ja tiedon varastointi Muistit... 2 Päämuisti (Primary storage)... 2 Apumuisti (Secondary storage)... 2 Tiedon tallennuksen yksiköitä... 3 Looginen taso... 3 Fyysinen taso...

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.2.2010 1 / 46 Merkkijonot Merkkijonojen avulla ohjelmassa voi esittää tekstitietoa, esim. nimiä, osoitteita ja

Lisätiedot

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokista Javan alkeistietotyypit ja vastaavat kääreluokat Autoboxing Integer-luokka Double-luokka Kääreluokista Alkeistietotyyppiset muuttujat (esimerkiksi

Lisätiedot

Tietokannat PERUSMATERIAALI Microsoft Access 2007 Kieliversio: suomi Materiaaliversio 1.0 päivitetty 8.6.2009 www.piuha.fi materiaalimyynti@piuha.

Tietokannat PERUSMATERIAALI Microsoft Access 2007 Kieliversio: suomi Materiaaliversio 1.0 päivitetty 8.6.2009 www.piuha.fi materiaalimyynti@piuha. Tietokannat PERUSMATERIAALI Microsoft Access 2007 Kieliversio: suomi Materiaaliversio 1.0 päivitetty 8.6.2009 materiaalimyynti@piuha.fi Tämän materiaalin kopioiminen ilman tekijän lupaa kielletään tekijänoikeuslain

Lisätiedot

HELIA 1 (17) Outi Virkki Tietokantasuunnittelu 21.11.2000

HELIA 1 (17) Outi Virkki Tietokantasuunnittelu 21.11.2000 HELIA 1 (17) Luento 2.8 Talletetut rutiinit... 2 Talletetut rutiinit SQL3:ssa... 3 Ulkopuoliset rutiinit... 4 Talletetut rutiinit Oraclessa... 7 Ohjelmakoodista... 8 Koodin virheet... 8 Virhetilanteiden

Lisätiedot