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

SELECT-lauseen perusmuoto

SELECT-lauseen perusmuoto SQL: Tiedonhaku SELECT-lauseen perusmuoto SELECT FROM WHERE ; määrittää ne sarakkeet, joiden halutaan näkyvän kyselyn vastauksessa sisältää

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

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

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

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

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 SQL - yleistä Esa Salmikangas InMics SE Oy versio 16.6.2003 SQL - perusteet 1 SQL - perusteet 2 SQL Structured Query Language SQL on tietokantojen käsittelyyn kehitetty kieli yleisimmät

Lisätiedot

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

HELIA TIKO-05 1 (17) ICT03D Tieto ja tiedon varastointi Räty, Virkki HELIA TIKO-05 1 (17) SQL / DML 4 Alikyselyt...2 Joukko-operaatiot...7 Yhdiste, unioni...8 Leikkaus...9 Erotus... 10 Tietokannan datan muokkaus... 11 Lisäys... 11 Yhden rivin lisääminen... 12 Useamman rivin

Lisätiedot

Helsingin yliopisto/ TKTL Tietokantojen perusteet, k 2004 SQL:n perusteet Harri Laine 1

Helsingin yliopisto/ TKTL Tietokantojen perusteet, k 2004 SQL:n perusteet Harri Laine 1 tietokantakieli :llä voidaan... määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta näytölle tai tiedostoon sovellusohjelman käyttöön

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

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2005 SQL-perusteet. Harri Laine 1. SQL tietokantakieli

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2005 SQL-perusteet. Harri Laine 1. SQL tietokantakieli tietokantakieli :llä voidaan... määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta näytölle tai tiedostoon sovellusohjelman käyttöön

Lisätiedot

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

määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta SQL tietokantakieli SQL:llä voidaan... määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta näytölle tai tiedostoon sovellusohjelman

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

HELIA 1 (17) Outi Virkki Tiedonhallinta

HELIA 1 (17) Outi Virkki Tiedonhallinta HELIA 1 (17) Luento 4.1 Looginen suunnittelu... 2 Relaatiomalli... 3 Peruskäsitteet... 4 Relaatio... 6 Relaatiokaava (Relation schema)... 6 Attribuutti ja arvojoukko... 7 Monikko... 8 Avaimet... 10 Avain

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

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä hyväksymispäivä arvosana arvostelija Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä Tuomas Husu Helsinki 20.2.2010 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö i 1 Johdanto

Lisätiedot

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

Helsingin yliopisto, tktl DO Tietokantojen perusteet, kevät 2000 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot DO NOT PRINT THIS DOCUMENT SQL:ssä joukko yhteenvetofunktioita (aggregate function, koostefunktio) AVG keskiarvo MIN pienin arvo (minimi) MAX suurin arvo (maksimi) SUM summa COUNT lukumäärä Yhteenvetofunktioita

Lisätiedot

CSE-A1200 Tietokannat

CSE-A1200 Tietokannat CSE-A1200 Tietokannat 22.3.2016 CSE-A1200 Tietokannat 22.3.2016 1 / 35 Oppimistavoitteet: tämän luennon jälkeen Osaat tehdä SQL:llä kyselyitä, jotka käyttävät hyväkseen toisen kyselyn tuloksia (alikyselyt).

Lisätiedot

Harjoitustehtävä 1. Harjoitustehtävän 1 ratkaisu. Harjoitustehtävä 1. Relaatioalgebra -liitokset (join) Liitos

Harjoitustehtävä 1. Harjoitustehtävän 1 ratkaisu. Harjoitustehtävä 1. Relaatioalgebra -liitokset (join) Liitos Harjoitustehtävän 1 ratkaisu Tonttu( tonttutunnus, nimi) Puutarha( puutarhatunnus, omistaja, sijainti ) Vastuualue ( puutarhatunnus->puutarha, aluenumero, maaperä, kosteus, valaistus, sijainti, vastuutonttu

Lisätiedot

Helsingin yliopisto, TKTL Tietokantojen perusteet, k 2000 SQL- osa Harri Laine 1. SQL-valintaehto. SQL-valintaehto.

Helsingin yliopisto, TKTL Tietokantojen perusteet, k 2000 SQL- osa Harri Laine 1. SQL-valintaehto. SQL-valintaehto. DO NOT PRINTTHIS DOCUMENT SQL -valintaehto SQL-valintaehto CREATE TABLE opettaja ( opetunnus varchar(12) NOT NULL, nimi varchar(40) NOT NULL, puhelin varchar(12), tyohuone varchar(12), PRIMARY KEY (opetunnus)

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

Relaatioalgebra. Relaatioalgebra. Relaatioalgebra. Relaatioalgebra - erotus (set difference) Kyselyt:

Relaatioalgebra. Relaatioalgebra. Relaatioalgebra. Relaatioalgebra - erotus (set difference) Kyselyt: Relaatiomalliin liittyy malli tietokannan käsittelystä Tietokannasta pitää pystyä hakemaan tietoa ja toisaalta tietokantaa on ylläpidettävä Tietokannan käsittelyn malli relaatioalgebra määrittelee operaatiot,

Lisätiedot

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

Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, , H.Laine Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, 3.5.2007, H.Laine Kirjoita kuhunkin erilliseen vastauspaperiin kurssin nimi, oma nimesi, syntymäaikasi ja nimikirjoituksesi

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 (11) Outi Virkki Tiedonhallinta

HELIA 1 (11) Outi Virkki Tiedonhallinta HELIA 1 (11) Luento Käyttöoikeuksista ja tiedon suojauksesta... 2 Käyttäjätunnukset... 3 Tunnuksen luominen... 4 Oikeudet / Valtuudet... 5 Oikeuksien hallinta SQL:ssa... 6 Suojaustarkkuus?... 7 Roolit...

Lisätiedot

2. Haet työntekijöiden tiedot etunimen mukaan nousevasti järjestettyinä. (ORDER BY) SELECT * FROM employees ORDER BY firstname ASC;

2. Haet työntekijöiden tiedot etunimen mukaan nousevasti järjestettyinä. (ORDER BY) SELECT * FROM employees ORDER BY firstname ASC; Tällä viikolla Kotitehtävien läpikäynti SQL-harjoituksia, osa 1 Jatketaan Pelifirman tietovaraston suunnittelua: tietotyyppien kertaus, taulun luonti ER-kaavioon, taulun luonti kaavion avulla tietokantaan,

Lisätiedot

13. Loogiset operaatiot 13.1

13. Loogiset operaatiot 13.1 13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.

Lisätiedot

Tietokantojen perusteet, s 1999 SQL- osa Harri Laine 1. SQL -ohjelmistojen markkinaosuuksia SQL. SQL - historiaa. SQL - standardointi

Tietokantojen perusteet, s 1999 SQL- osa Harri Laine 1. SQL -ohjelmistojen markkinaosuuksia SQL. SQL - historiaa. SQL - standardointi SQL SQL:llä voidaan... määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta näytölle tai tiedostoon sovellusohjelman käyttöön tehdä

Lisätiedot

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

Joko tunnet nämän Oracle10g SQL:n piirteet? Kari Aalto Saariston IT Joko tunnet nämän Oracle10g SQL:n piirteet? Kari Aalto Saariston IT Agenda Regular Expression - funktiot Case-insensitive Sort Case-insensitive Seach Merge muutokset Tree-walking in 10g DML Returning Values

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

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

Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005

Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Tällä luennolla Algebralliset tietotyypit Hahmonsovitus (pattern matching) Primitiivirekursio Esimerkkinä binäärinen hakupuu Muistattehan...

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

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

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

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

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

TIEDONHALLINNAN PERUSTEET - SYKSY 2013 TIEDONHALLINNAN PERUSTEET - SYKSY 2013 Kurssikoodi: Saapumisryhmä: Luento 5 XX00AA79-3013 TU12S2 Pasi Ranne 11.9.2013 11/9/13 Helsinki Metropolia University of Applied Sciences 1 Tietokannan normalisoinnin

Lisätiedot

Näkymät ja tiedon suojaus

Näkymät ja tiedon suojaus HELIA TIKO-05 1 (23) Näkymät ja tiedon suojaus Näkymät...2 Eri tyyppisiä relaatioita...2 Taulu - Tallennettu relaatio...2 Tulosrelaatio - Kyselyn tulos...2 Työtaulut - Väliaikaisiksi luodut taulut...2

Lisätiedot

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty

Lisätiedot

HELIA 1 (13) Outi Virkki Tietokantasuunnittelu

HELIA 1 (13) Outi Virkki Tietokantasuunnittelu HELIA 1 (13) Luento 2.9 Tietohakemistot 2 2 Coddin 12 säännöstä RDBMS:lle... 3 Oraclen tietohakemistonäkymät (osa) 4 Yleiset 4 Taulut 4 Säännöt 4 Näkymät 4 Synonyymit 5 Talletetut rutiinit 5 Käyttöoikeudet

Lisätiedot

HAAGA-HELIA TIKO - Heti09 1 (22) ICT05 Tiedonhallinta ja Tietokannat E.Räty, O.Virkki, M.Laiho

HAAGA-HELIA TIKO - Heti09 1 (22) ICT05 Tiedonhallinta ja Tietokannat E.Räty, O.Virkki, M.Laiho HAAGA-HELIA TIKO - Heti09 1 (22) SQL SQL... 2 Historiaa... 2 Standardit... 3 Käyttö... 4 Sql-komentojen kirjoittaminen... 5 DDL... 7 Tietokantaobjektien määrittely... 7 SQL:n keskeiset tietotyypit... 8

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

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

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

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

4.3.1 SQL tietokanta SQL:n kirjoitusasu SQL määrittelykielenä... 36

4.3.1 SQL tietokanta SQL:n kirjoitusasu SQL määrittelykielenä... 36 TIETOKANTOJEN PERUSTEET, OPETUSMONISTE OSA 2 SQL- TIETOKANNAN RAKENNE JA MÄÄRITTELYT Harri Laine 4.3 SQL TIETOKANTAKIELI... 33 4.3.1 SQL tietokanta... 34 4.3.2 SQL:n kirjoitusasu... 36 4.3.3 SQL määrittelykielenä...

Lisätiedot

joukko operaatioita, joilla relaatioista voidaan muodostaa uusia relaatioita joukko opin perusoperaatiot yhdiste, erotus, ristitulo, leikkaus

joukko operaatioita, joilla relaatioista voidaan muodostaa uusia relaatioita joukko opin perusoperaatiot yhdiste, erotus, ristitulo, leikkaus DO NOT PRINT THIS DOCUMENT joukko operaatioita, joilla relaatioista voidaan muodostaa uusia relaatioita joukko opin perusoperaatiot yhdiste, erotus, ristitulo, leikkaus erityisiä relaatioalgebran operaatioita

Lisätiedot

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5) Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,

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

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

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

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

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

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

Tietokantojen perusteet

Tietokantojen perusteet 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,

Lisätiedot

D B. Kyselypuut ja ekvivalenssi

D B. Kyselypuut ja ekvivalenssi Kyselypuut ja ekvivalenssi Sisäisessä esityksessä kyselyt esitetään kyselypuuna lehdissä taulut juuressa lopputulos välisolmuina suoritettavat operaatiot s=select p=project j=join p (teos.nimi, kirjanro)

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,

Lisätiedot

Kari Aalto Saariston IT

Kari Aalto Saariston IT Saariston IT perustettu helmikuussa 2005 pitkä kokemus koulutuspalveluiden toimittamisesta Suomessa, Euroopassa ja Lähi-Idässä Arvot keskinäinen luottamus ja aito kumppanuus pitkäjänteinen yhteistoiminta,

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

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

5/20: Algoritmirakenteita III

5/20: Algoritmirakenteita III Ohjelmointi 1 / syksy 2007 5/20: Algoritmirakenteita III Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/17 Tämän

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

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

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

TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI

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

Lisätiedot

Opiskeluoikeuksien maaran tiedonkeruu

Opiskeluoikeuksien maaran tiedonkeruu Opiskeluoikeuksien maaran tiedonkeruu Määrittely Opinto-oikeuksista tarvitaan seuraavat tiedot: Tieto jokaisesta yksittäisestä opinto-oikeudesta ja kytkentä niistä opinto-oikeuksista jotka ovat samalla

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

Tyyppejä ja vähän muutakin. TIEA341 Funktio ohjelmointi 1 Syksy 2005

Tyyppejä ja vähän muutakin. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Tyyppejä ja vähän muutakin TIEA341 Funktio ohjelmointi 1 Syksy 2005 Viime luennolla... Haskellin alkeita pääasiassa Hello World!... ja muita tutunoloisia ohjelmia Haskellilla Haskellin voima on kuitenkin

Lisätiedot

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

Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa Tietojen tallennusrakenteet Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa tiedot tiedostoon kuuluvista lohkoista esim. taulukkona, joka voi muodostua ketjutetuista

Lisätiedot

12. Javan toistorakenteet 12.1

12. Javan toistorakenteet 12.1 12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu

Lisätiedot

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

HELIA TIKO-05 1 (28) ICT03D Tieto ja tiedon varastointi O.Virkki HELIA TIKO-05 1 (28) 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ö...9

Lisätiedot

1. Käytä muuttujalle ja literaalille sarakkeen tietomuotoa ja pituutta.

1. Käytä muuttujalle ja literaalille sarakkeen tietomuotoa ja pituutta. DB2-YHTEISTYÖRYHMÄ tulostus 09.03.01 1(19) SQL-OHJELMOIJAN MUISTILISTAN LIITE(DB2 V6R1) MIS = Matching Index Scan MIA = Multiple Index Scan Lause "... Matching Index Scan (MIS) -saantipolku ei ole mahdollinen"

Lisätiedot

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2005 relaatiomalli Harri Laine 1.

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2005 relaatiomalli Harri Laine 1. Relaatiotietokannat Relaatiomalli Perustana rakennetason tietomalli (the relational model of data) perusteoria: E.F.Codd 1970 ensimmäiset kaupalliset toteutukset 70-luvun lopulla yleistynyt 80-luvun lopulla

Lisätiedot

Hohde Consulting 2004

Hohde Consulting 2004 Luento 5: XQuery AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XQuery XQuery uudet funktiot sekvenssit muuttujat Iterointi järjestys suodatus järjestäminen Ehtorakenteet Muita toimintoja www.hohde.com

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

11. Javan toistorakenteet 11.1

11. Javan toistorakenteet 11.1 11. Javan toistorakenteet 11.1 Sisällys Laskuri- ja lippumuuttujat. Sisäkkäiset silmukat. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin

Lisätiedot

Sisältö. 2. Taulukot. Yleistä. Yleistä

Sisältö. 2. Taulukot. Yleistä. Yleistä Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä

Lisätiedot

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma. 2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä

Lisätiedot

Olio-ohjelmointi Syntaksikokoelma

Olio-ohjelmointi Syntaksikokoelma C++-kielen uusia ominaisuuksia Olio-ohjelmointi Syntaksikokoelma 31.10.2008 Bool-tietotyyppi: Totuusarvo true (1), jos ehto on tosi ja false (0) jos ehto epätosi. Dynaaminen muistinvaraus: Yhden muuttuja

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

SPARQL(SPARQL Protocol and RDF Query Language)

SPARQL(SPARQL Protocol and RDF Query Language) SPARQL SPARQL(SPARQL Protocol and RDF Query Language) Suosituin RDF-kyselykieli Vrt. SQL & Relaatiotietokannat W3C-standardi v. 2008 Versio 1.1 standardi v.2013 Käytetään usein SPARQL-endpointien kautta.

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 22. huhtikuuta 2016 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille! Kirjoittamasi luokat, funktiot ja aliohjelmat

Lisätiedot

Sisällys. 12. Javan toistorakenteet. Yleistä. Laskurimuuttujat

Sisällys. 12. Javan toistorakenteet. Yleistä. Laskurimuuttujat Sisällys 12. Javan toistorakenteet Ylstä toistorakentsta. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirhtä. Silmukan rajat asetettu kierroksen

Lisätiedot

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

D B. Tietokannan hallinta - kurssin tavoite. Kurssilla opitaan periaatteet. Edellytyksenä osallistumiselle on Tietokantojen perusteiden hallinta Tietokannan hallinta - kurssin tavoite Kurssilla opitaan periaatteet fyysisen tietokannan tallennuksesta ja käsittelystä tietokantakyselyiden muuntamisesta fyysisen tietokannan käsittelyoperaatioiksi kyselyn

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

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä hyväksymispäivä arvosana arvostelija Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä Tuomas Husu Helsinki 9.3.2010 Kandidaatin tutkielma, aine HELSINGIN YLIOPISTO Tietojenkäsittelytieteen

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

Sisältö. 22. Taulukot. Yleistä. Yleistä

Sisältö. 22. Taulukot. Yleistä. Yleistä Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä

Lisätiedot

Kuva 7.2 vastaustaulu harjoitukseen 7.2

Kuva 7.2 vastaustaulu harjoitukseen 7.2 Harjoitus 7. Lataa tiedosto http://users.metropolia.fi/~pasitr/opas/ran13b/data/ran13b.zip levylle Z: ja pura se. Kun olet tehnyt kaikki seuraavat 17 tehtävää palauta Tuubiin harjoituksen 7 vastauksena

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

Sisällys. 17. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. for-lause lyhemmin

Sisällys. 17. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. for-lause lyhemmin Sisällys 17. Ohjelmoinnin tekniikkaa for-lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. if-else-lause vaihtoehtoisesti

Lisätiedot

17. Ohjelmoinnin tekniikkaa 17.1

17. Ohjelmoinnin tekniikkaa 17.1 17. Ohjelmoinnin tekniikkaa 17.1 Sisällys for-lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. if-else-lause vaihtoehtoisesti

Lisätiedot

Tietomallit. Näkökulmat tietoon. Näkökulmat tietoon. Näkökulmat tietoon. Abstraktiotasot tiedon käsittelyssä

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

Lisätiedot

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

Tietotekniikan laitos Käki-projekti TIETOKANTASUUNNITELMA. 1. Johdanto Jyväskylän yliopisto SUUNNITELMA Tietotekniikan laitos 5.11.2003 Käki-projekti TIETOKANTASUUNNITELMA 1. Johdanto Suunnitelma sisältää kuvauksen tietokannan suunnittelussa käytetyistä periaatteista, kuvan

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

HELIA 1 (16) Outi Virkki Tietokantasuunnittelu

HELIA 1 (16) Outi Virkki Tietokantasuunnittelu HELIA 1 (16) Luento 3.2 Suorituskyvyn optimointi jatkuu...... 2 Tietojen tallennusratkaisut... 2 Tiedon tallennuksen yksiköitä... 3 Loogiset... 3 Fyysiset... 3 Tallennusmäärittelyt Oraclessa... 5 Loogiset

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Muuttujat ja kontrolli. Ville Sundberg

Muuttujat ja kontrolli. Ville Sundberg Muuttujat ja kontrolli Ville Sundberg 14.9.2007 Alkeistyyppi Alin abstraktiotaso josta tarvitsee välittää Yksittäinen, jakamaton tiedonjyvä Tavallaan kaikki alkeistyypit ovat lukuja arvojoukko vaihtelee

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 26.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 26.1.2009 1 / 33 Valintakäsky if syote = raw_input("kerro tenttipisteesi.\n") pisteet = int(syote) if pisteet >=

Lisätiedot