CSE-A1200 Tietokannat
|
|
- Ari-Matti Väänänen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 CSE-A1200 Tietokannat CSE-A1200 Tietokannat / 35
2 Oppimistavoitteet: tämän luennon jälkeen Osaat tehdä SQL:llä kyselyitä, jotka käyttävät hyväkseen toisen kyselyn tuloksia (alikyselyt). Osaat tehdä SQL:ssä liitoksia suoraan siihen tarkoitetuilla operaatioilla. Osaat SQL:ssä laskea esimerkiksi summia tai keskiarvoja halutun ehdon täyttävien monikoiden jonkin attribuutin arvoista (koostefunktiot ja ryhmittely). CSE-A1200 Tietokannat / 35
3 Esimerkkitietokanta Tämän luennon esimerkit käsittelevät aikaisempien luentojen esimerkkitietokantaa, joka koostuu seuraavista relaatioista Customers(custNo, name, born, bonus, address, ) Products(number, prodname, description, price, manufid) Manufacturers(ID, manufname, phone) Orders(orderNo, deliver, status, custno) BelongsTo(orderNo, productno, count) CSE-A1200 Tietokannat / 35
4 Alikyselyt SQL-kyselyn sisään voi kirjoittaa WHERE- tai FROM-osan sisään toisen kyselyn. Tällaista kyselyä sanotaan alikyselyksi (subquery). Alikyselyn tuloksena on joko yksittäinen arvo (skalaarisen arvon tuottava alikysely) tai relaatio. CSE-A1200 Tietokannat / 35
5 Skalaarisen arvon tuottava alikysely Esimerkki: halutaan löytää tuotteen T (tuotenumero) valmistajan nimi ja puhelinnumero. Aikaisemmin opituilla tavoilla SELECT manufname, phone FROM Manufacturers, Products WHERE ID = manufid AND number = T ; Annettu kysely käy hyvin ongelman ratkaisemiseen, mutta tiedot voidaan hakea myös toisella tavalla: haetaan ensin tuotteen T valmistajan tunnus Products-relaatiosta. Sen jälkeen etsitään Manufacturers-relaatiosta annettua tunnusta vastaavan valmistajan tiedot. CSE-A1200 Tietokannat / 35
6 Skalaarisen arvon tuottava alikysely, jatkoa Ensimmäinen kysely kirjoitetaan nyt toisen kyselyn WHERE-osan sisään: SELECT manufname, phone FROM Manufacturers WHERE ID = (SELECT manufid FROM Products WHERE number = T ); CSE-A1200 Tietokannat / 35
7 Relaation tuottavat alikyselyt Edellistä tapaa voidaan käyttää sellaisenaan kuitenkin vain silloin, kun alikyselyn tuloksena on yksittäinen arvo, ei relaatio. Alikyselyn tuloksena voi olla myös relaatio. SQL:ssä on tarjolla erilaisia operaattoreita, joiden avulla voi tutkia pääkyselyn ja alikyselyn tulosrelaation suhteita. Voidaan esimerkiksi tutkia, kuuluuko alikyselyn tulosrelaatioon yhtään monikkoa tai vastaako pääkyselyssä tarkasteltava monikko yhtään alikyselyn tulosrelaatioon kuuluvaa monikkoa. CSE-A1200 Tietokannat / 35
8 Relaation tuottavat alikyselyt: ehdoissa käytetteviä operaattoreita EXISTS R Tosi, jos R ei ole tyhjä. s IN R Tosi jos ja vain jos s on sama kuin jokin R:ään kuuluva monikko. s > ALL R Tosi jos ja vain jos s on suurempi kuin jokainen R:ään kuuluva arvo. R:n täytyy olla unaarinen (yksisarakkeinen) relaatio. Operaation > tilalla voi olla myös jokin muista vertailuoperaattoreista <, <=, >=, = tai <>. s > ANY R Tosi jos ja vain jos s on suurempi kuin jokin R:ään kuuluva arvo. R:n täytyy olla unaarinen relaatio. Operaation > tilalla voi olla myös jokin muista vertailuoperaattoreista <, <=, >=, = tai <>. Ehdoista saadaan aikaan negaatio lisäämällä operaattorin eteen sana NOT. Huom: harjoituksissa käytettävässä SQLitessä ei ole operaattoreita ALL (tässä merkityksessä) ja ANY. CSE-A1200 Tietokannat / 35
9 Esimerkkejä Haetaan niiden tilausten numerot, joihin kuuluu tuote, jonka kuvaus on camera: SELECT DISTINCT orderno FROM BelongsTo WHERE productno IN (SELECT number FROM Products WHERE description = camera ); CSE-A1200 Tietokannat / 35
10 Välitehtävä Kirjoita seuraava kysely SQL:llä käyttämällä alikyselyä: Hae niiden valmistajien nimet, joilla on verkkokaupassa yli 100 euron arvoisia tuotteita. CSE-A1200 Tietokannat / 35
11 Esimerkkejä, jatkuu Haetaan niiden asiakkaiden nimet ja asiakasnumerot, jotka ovat tilanneet tuotteen T (tuotenumero). SELECT name, custno FROM Customers WHERE custno IN (SELECT custno FROM Orders AS O WHERE O.orderNo IN (SELECT B.orderNo FROM BelongsTo AS B WHERE productno = T ) ); CSE-A1200 Tietokannat / 35
12 Ulomman kyselyn monikkoon viittaaminen alikyselyssä Alikyselyssä voidaan myös viitata ulommassa kyselyssä käytettyyn monikkoon. Esimerkki: haetaan kustakin tuoteryhmästä (sama kuvaus) halvin tuote. Jos samanhintaisia halvimpia tuotteita on useita, kysely tuottaa ne kaikki. Tämä kysely ei toimi SQLitessä. SELECT DISTINCT number, prodname, description, price FROM Products AS Cheap WHERE price <= ALL (SELECT price FROM Products WHERE description = Cheap.description ); Alikysely joudutaan suorittamaan erikseen jokaista ulomman kyselyn nimeä kohti. CSE-A1200 Tietokannat / 35
13 Ulomman kyselyn monikkoon viittaaminen alikyselyssä, jatkoa Vaihtoehtoinen kysely, joka toimii SQLitessä SELECT DISTINCT number, prodname, description, price FROM Products AS Cheap WHERE NOT EXISTS (SELECT FROM Products WHERE description = Cheap.description AND price < Cheap.price ); CSE-A1200 Tietokannat / 35
14 Ulomman kyselyn monikkoon viittaaminen alikyselyssä Kun kysely sisältää alikyselyitä, joudutaan miettimään, minkä relaation attribuutteja missäkin kyselyssä tarkoitetaan. Sääntö: Kyselyssä oleva attribuutin nimi viittaa saman kyselyn FROM-osassa olevaan relaatioon, jos jollain FROM-osassa mainitulla relaatiolla on tällainen attribuutti. Jos ei ole, haetaan nimeä seuraavaksi uloman kyselyn FROM-osan relaatiosta jne. Rivimuuttujaa käyttämällä voidaan kertoa, että tarkoitetaan ulommassa kyselyssä mainittua relaatiota. Näin ollen rivimuuttujat O ja B kalvolla 11 ovat tarpeettomia. CSE-A1200 Tietokannat / 35
15 Alikysely FROM-osassa Myös kyselyn FROM-osaan voidaan kirjoittaa alikysely. Ulompi kysely kohdistuu tällöin alikyselyn tuloksena tulevaan relaatioon. Jos alikyselyn tulosrelaatioon halutaan viitata muualla kyselyssä, pitää käyttää rivimuuttujaa. Esimerkki: toinen tapa hakea niiden asiakkaiden nimet ja asiakasnumerot, jotka ovat tilanneet tuotteen T SELECT name, custno FROM Customers, (SELECT custno FROM Orders AS O, BelongsTo AS B WHERE O.orderNo = B.orderNo AND productno = T ) AS C1 WHERE Customers.custNo = C1.custNo; CSE-A1200 Tietokannat / 35
16 Liitosoperaatioiden kirjoittaminen käyttämällä SQL:n liitosoperaattoreita Aikaisemmin kurssilla on kirjoitettu kahden tai useamman relaation liitoksia kirjoittamalla liitettävät relaatiot FROM-osaan ja käytettävät liitosehdot WHERE-osaan. Toinen vaihtoehto on käyttää suoraan SQL:n liitosoperaattoreita CROSS JOIN, JOIN, NATURAL JOIN ja OUTER JOIN. CROSS JOIN tuottaa kahden relaation karteesisen tulon, joka on harvoin sellaisenaan käyttökelpoinen. Seuraavilla kalvoilla käydään läpi muita mainittuja liitosoperaatoita. CSE-A1200 Tietokannat / 35
17 Operaattori JOIN Operaattorin JOIN avulla voidaan tehdä Theta-liitos. Esimerkiksi halutaan yhdistää tuotteet niiden valmistajiin Products JOIN Manufacturers ON manufid = ID; Tämä on itsessään kysely, jonka tulosrelaatiossa on kaikki liitettävien relaatioden attribuutit (SQLitessä tämä ei kuitenkaan toimi sellaisenaan, vaan mukaan on liitettävä SELECT-osa). Jos halutaan tulokseen vain osa attribuuteista, voidaan em. kyselyä käyttää alikyselynä toisessa kyselyssä. Seuraava kysely tulostaa tuotteiden ja niiden valmistajien nimet yhdessä. SELECT prodname, manufname FROM Products JOIN Manufacturers ON manufid = ID; CSE-A1200 Tietokannat / 35
18 Luonnollinen liitos Luonnollinen liitos voidaan tehdä operaation NATURAL JOIN avulla. Tulosrelaatioon otetaan kaikki ne alkuperäisten relaatioiden monikoiden yhdistelmät, joissa kaikilla samannimisillä attribuuteilla on sama arvo. Tulosrelaatiossa samannimiset attribuutit esiintyvät vain kerran (SQLitessä ne tulevat kuitenkin useaan kertaan). Esimerkki: haetaan asiakkaiden tiedot yhdessä heidän tilaustensa tietojen kanssa SELECT FROM Customers NATURAL JOIN Orders; CSE-A1200 Tietokannat / 35
19 Ulkoliitokset Liitosta tehdessä alkuperäisissä relaatiossa on usein monikoita, joille ei löydy yhtään vastinparia toisesta liitokseen osallistuvasta relaatiosta. Normaalisti tällaiset alkuperäisen relaation monikot eivät näy mitenkään liitoksen tulosrelaatiossa. Joskus tällaisetkin monikot kuitenkin haluttaisiin tulosrelaatioon mukaan. Ne saadaan mukaan ulkoliitoksella (outerjoin). Jos monikolla ei ole vastinparia toisessa liitokseen osallistuvassa relaatiossa, on ulkoliitoksen tulosrelaatiossa tätä monikkoa vastaavassa monikossa toisen relaation attribuuttien arvona NULL. Esimerkki: halutaan liittää asiakkaiden ja tilausten tiedot niin, että tuloksessa on kaikki asiakkaat ja tilaukset, siis myös ne asiakkaat, jotka eivät ole tilanneet mitään, ja ne tilaukset, joiden tehnyttä asiakasta ei löydy tietokannasta. Jos monikolle ei löydy vastinparia toisesta relaatiosta, on tuloksessa toisen relaation attribuuteilla arvo NULL. CSE-A1200 Tietokannat / 35
20 Ulkoliitos, jatkoa Haluttu tulos saadaan aikaan kyselyllä (ei toimi SQLitessä) Customers NATURAL FULL OUTER JOIN Orders; Jos tulosrelaatioon halutaan vain ilman vastinparia olevat asiakkaat, mutta ei tuntemattomien asiakkaiden tilaukset, tehdään vasen ulkoliitos (left-outerjoin, ei toimi SQLitessä näin): Customers NATURAL LEFT OUTER JOIN Orders; Jos taas tulosrelaatioon halutaan vain ilman vastinparia olevat tilaukset, mutta ei asiakkaita, tehdään oikea ulkoliitos (right-outerjoin, ei toimi SQLitessä): Customers NATURAL RIGHT OUTER JOIN Orders; CSE-A1200 Tietokannat / 35
21 Ulkoliitos, jatkoa Ulkoliitoksissa voidaan käyttää myös joitain ehtoa, esimerkiksi (ei toimi SQLitessä) SELECT FROM Products FULL OUTER JOIN Manufacturers ON manufid = ID; tuottaa tuloksen, jossa on tuotteiden tiedot yhdessä niiden valmistajien tietojen kanssa, mutta lisäksi myös ne tuotteet, joille ei löydy valmistajaa ja ne valmistajat, joille ei tietokannasta löydy tuotetta. CSE-A1200 Tietokannat / 35
22 Ulkoliitos, jatkoa Myös ehdon kanssa annettu ulkoliitos voidaan tehdä vasemman- tai oikeanpuoleisena versiona: SELECT FROM Products LEFT OUTER JOIN Manufacturers ON manufid = ID; sisältää myös ne tuotteet, joille ei löydy valmistajaa SELECT FROM Products RIGHT OUTER JOIN Manufacturers ON manufid = ID; sisältää myös ne valmistajat, joiden tuotteita ei löydy tietokannasta. Huomautus: SQLitessä on toteutettu vain vasemmanpuoleinen ulkoliitos LEFT OUTER JOIN (FULL OUTER JOIN ja RIGHT OUTER JOIN ja kaikki versiot NATURAL OUTER JOINista siis puuttuvat). CSE-A1200 Tietokannat / 35
23 Välitehtävä Kirjoita seuraava kysely SQL:llä: listaa kaikki tietokannasta löytyvien tuotteiden tuotenumero ja nimi yhdessä niiden tilausten tilausnumeroiden kanssa, joihin tuotteet kuuluvat. Listaa myös ne tuotteet, joita ei ole tilattu lainkaan. CSE-A1200 Tietokannat / 35
24 Koosteoperaattorit Ongelma: halutaan laskea tilastoja jonkin relaation jonkin attribuutin arvosta, esimerkiksi kaikkien tuotteiden hintojen summa tai keskiarvo tai niiden asiakkaiden lukumäärä, jotka ovat syntyneet vuoden 1990 jälkeen. Tällaisia tietoja voidaan laskea koosteoperaattoreiden (aggregation operators) avulla. SQL tarjoaa koosteoperaattorit SUM, AVG, MIN, MAX ja COUNT summan, keskiarvon, minimin, maksimin ja lukumäärän laskemista varten. Näiden operaattoreiden operandina voi yleensä olla jokin attribuutti, jolla on numeerinen arvo. Poikkeuksena operaattori COUNT, jolla voidaan laskea kyselyn tulokseen kuuluvien monikoiden lukumäärä. CSE-A1200 Tietokannat / 35
25 Esimerkkejä koosteoperaattoreista Esimerkki: lasketaan kaikkien Products-relaatiossa olevien tuotteiden hintojen keskiarvo: SELECT AVG(price) FROM Products; Lasketaan hintojen keskiarvo kameroista (kuvaus camera ): SELECT AVG(price) FROM Products WHERE description = camera ; Haetaan niiden asiakkaiden lukumäärä, jotka ovat syntyneet vuoden 1990 jälkeen: SELECT COUNT( ) FROM Customers WHERE born > 1990; CSE-A1200 Tietokannat / 35
26 Esimerkkejä koosteoperaattoreista, jatkuu Haetaan relaatiossa Orders olevien eri asiakkaiden lukumäärät. Yksi asiakas lasketaan mukaan vain yhteen kertaan, vaikka hänellä olisi useita tilauksia. SELECT COUNT(DISTINCT custno) FROM Orders; CSE-A1200 Tietokannat / 35
27 Ryhmittely Ongelma: halutaan laskea jonkin koosteoperaattorin arvo monikoilla, joilla on sama arvo jollain toisella attribuutilla, esim. tuotteiden hintojen keskiarvo erikseen eri valmistajien tuotteille. Koosteoperaattoreita käytettäessä monikoita voidaan ryhmitellä GROUP BY-operaattorin avulla. Tuotteiden hintojen keskiarvo valmistajittain saataisin kyselyllä SELECT manufid, AVG(price) FROM Products GROUP BY manufid; Jos kyselyyn halutaan mukaan vain kamerat, voidaan tämä saada aikaan seuraavasti: SELECT manufid, AVG(price) FROM Products WHERE description = camera GROUP BY manufid; CSE-A1200 Tietokannat / 35
28 Esimerkki kyselyn suorittamisesta Suoritetaan alla olevalle relaation instanssille seuraava kysely: SELECT manufid, AVG(price) FROM Products GROUP BY manufid; Relation Products number prodname description price manufid T Samsung Galaxy A5 cellphone S123 R IPad Air 2 tablet M554 T Superstar Track M jacket 30.0 A432 S Brasserie 24 pan F542 T NX 300 Smart Camera camera 399 S123 T Sony Cyber-shot camera L711 P Teema 26 plate F542 T Smart LED-TV TV L711 T Smart LED-TV TV S123 CSE-A1200 Tietokannat / 35
29 Esimerkki kyselyn suorittamisesta, jatkoa Jaetaan monikot ryhmiin GROUP BY-kohdassa annetun attribuutin mukaan: Relation Products number prodname description price manufid T Samsung Galaxy A5 cellphone S123 T NX 300 Smart Camera camera 399 S123 T Smart LED-TV TV S123 R IPad Air 2 tablet M554 T Superstar Track M jacket 30.0 A432 S Brasserie 24 pan F542 P Teema 26 plate F542 T Sony Cyber-shot camera L711 T Smart LED-TV TV L711 CSE-A1200 Tietokannat / 35
30 Esimerkki kyselyn suorittamisesta, jatkoa Lasketaan haluttu keskiarvo jokaiselle ryhmälle erikseen Relation Products number prodname description price manufid AVG T Samsung Galaxy A5 cellphone S123 T NX 300 Smart Camera camera 399 S123 T Smart LED-TV TV S R IPad Air 2 tablet M T Superstar Track M jacket 30.0 A S Brasserie 24 pan F542 P Teema 26 plate F T Sony Cyber-shot camera L711 T Smart LED-TV TV L CSE-A1200 Tietokannat / 35
31 Esimerkki kyselyn suorittamisesta, jatkoa Listataan kyselyssä pyydetyt attribuutit ja koostefunktioiden arvot Result manufid AVG(price) S M A F L Oikeasti kyselyn täsmällinen suoritus voi poiketa esitetystä, mutta lopputulos on sama. CSE-A1200 Tietokannat / 35
32 Ryhmittely, jatkoa Ryhmittelyä voi käyttää myös silloin, kun kyselyssä on mukana useita relaatioita. Esimerkki: halutaan laskea kunkin tilauksen yhteishinta SELECT orderno, SUM(price count) FROM Products, BelongsTo WHERE productno = number GROUP BY orderno; CSE-A1200 Tietokannat / 35
33 NULL-arvot koosteoperaattoreiden yhteydessä Jos relaation monikoilla on joidenkin attribuuttien arvona NULL, vaikuttavat ne seuraavasti koosteoperaatioiden tuloksiin: NULL-arvoja ei oteta lainkaan huomioon koosteoperaatioden arvoja laskettaessa. Ne eivät siis vaikuta esimerkiksi summaan tai keskiarvoon. Lukumäärää laskettaessa COUNT( ) kertoo aina relaatioon kuuluvien monikoiden määrä (jolloin mukaan lasketaan myös monikot, joiden jollain attribuutilla on arvo NULL), mutta COUNT(A) kertoo relaation niiden monikoiden lukumäärän, joilla attribuutilla A on eri arvo kuin NULL. Ryhmittelyssä NULL katsotaan kuitenkin tavalliseksi arvoksi. Ryhmittely voidaan siis tehdä myös sellaisen attribuutin suhteen, jolla on osalla monikoista arvo NULL. Jos koosteoperaattori kohdistetaan ryhmään, jossa ei ole yhtään monikkoa, tuloksena on arvo NULL. Poikkeuksena on operaatio COUNT, jonka tuloksena on tällöin 0. CSE-A1200 Tietokannat / 35
34 HAVING-ehdot Jos ryhmille halutaan antaa jokin ehto, jossa käytetään koosteoperaattoria, ei tällaista ehtoa voida kirjoittaa WHERE-osaan, koska siinä ei voida käyttää koosteoperaattoreita. Esimerkikki: halutaan laskea eri valmistajien tuotteiden hintojen keskiarvot. Halutaan kuitenkin ottaa mukaan vain sellaiset valmistajat, joilla on vähintään yksi yli 100 euroa maksava tuote. Otetaan vastaukseen mukaan valmistajien tunnuksen ja hintojen keskiarvon lisäksi valmistajan nimi. Kysely: SELECT manufid, manufname, AVG(price) FROM Products, Manufacturers WHERE id = manufid GROUP BY manufid HAVING MAX(price) > 100; CSE-A1200 Tietokannat / 35
35 HAVING-ehdot, jatkoa Huomaa: HAVING-osassa esiintyvän koostefunktion arvo lasketaan erikseen jokaiselle ryhmälle (esimerkissä jokaiselle valmistajan tunnukselle). HAVING-osassa voi esiintyä minkä tahansa FROM-osassa annettujen relaatioiden koostefunktioita, mutta niiden lisäksi myös GROUP BY -osassa annettuja attribuutteja ilman koostefunktioita. CSE-A1200 Tietokannat / 35
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
CS-A1150 Tietokannat CS-A1150 Tietokannat / 39
CS-A1150 Tietokannat 20.2.2018 CS-A1150 Tietokannat 20.2.2018 1 / 39 Oppimistavoitteet: tämän luennon jälkeen Tunnet SQL:n perusteet ja osaat tehdä yksinkertaisia SQL-kyselyitä, esimerkiksi hakea relaatiosta
CS-A1150 Tietokannat CSE-A1150 Tietokannat / 29
CS-A1150 Tietokannat 20.5.2019 CSE-A1150 Tietokannat 20.5.2019 1 / 29 Kertausluento Tällä luennolla kerrataan lyhyesti tenttivaatimuksissa esitettyjä asioita ja samalla tarkastellaan sitä, mitä niistä
CS-A1150 Tietokannat CSE-A1150 Tietokannat / 39
CS-A1150 Tietokannat 9.5.2017 CSE-A1150 Tietokannat 9.5.2017 1 / 39 Kertausluento Tällä luennolla kerrataan lyhyesti tenttivaatimuksissa esitettyjä asioita ja samalla tarkastellaan sitä, mitä niistä voidaan
CS-A1150 Tietokannat CSE-A1150 Tietokannat / 32
CS-A1150 Tietokannat 15.5.2018 CSE-A1150 Tietokannat 15.5.2018 1 / 32 Kertausluento Tällä luennolla kerrataan lyhyesti tenttivaatimuksissa esitettyjä asioita ja samalla tarkastellaan sitä, mitä niistä
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
CS-A1150 Tietokannat CS-A1150 Tietokannat / 43
CS-A1150 Tietokannat 27.3.2018 CS-A1150 Tietokannat 27.3.2018 1 / 43 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten tietokannan relaatioiden (taulujen) määrittelyt kirjoitetaan SQL:llä. Osaat päivittää
CS-A1150 Tietokannat CS-A1150 Tietokannat / 44
CS-A1150 Tietokannat 12.3.2019 CS-A1150 Tietokannat 12.3.2019 1 / 44 Oppimistavoitteet: tämän luennon jälkeen Osaat muuttaa UML-kaavion relaatiomalliin. Toisin sanoen: jos sinulla on valmis UML-kaavio,
CS-A1150 Tietokannat CS-A1150 Tietokannat / 44
CS-A1150 Tietokannat 2.4.2019 CS-A1150 Tietokannat 2.4.2019 1 / 44 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten tietokannan taulujen (relaatioiden) määrittelyt kirjoitetaan SQL:llä. Osaat päivittää
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
CS-A1150 Tietokannat CS-A1150 Tietokannat / 51
CS-A1150 Tietokannat 7.3.2017 CS-A1150 Tietokannat 7.3.2017 1 / 51 Oppimistavoitteet: tämän luennon jälkeen Osaat muuttaa ER-kaavion relaatiomalliin. Toisin sanoen: jos sinulla on valmis ER-kaavio, niin
Kyselyn yleisrakenne:
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
CSE-A1200 Tietokannat
CSE-A1200 Tietokannat 10.5.2016 CSE-A1200 Tietokannat 10.5.2016 1 / 50 Kertausluento Tällä luennolla kerrataan lyhyesti tenttivaatimuksissa esitettyjä asioita ja samalla tarkastellaan sitä, mitä niistä
CS-A1150 Tietokannat CS-A1150 Tietokannat / 54
CS-A1150 Tietokannat 6.3.2018 CS-A1150 Tietokannat 6.3.2018 1 / 54 Oppimistavoitteet: tämän luennon jälkeen Osaat muuttaa ER-kaavion relaatiomalliin. Toisin sanoen: jos sinulla on valmis ER-kaavio, niin
CSE-A1200 Tietokannat
CSE-A1200 Tietokannat 8.3.2016 CSE-A1200 Tietokannat 8.3.2016 1 / 49 Oppimistavoitteet: tämän luennon jälkeen Osaat muuttaa ER-kaavion relaatiomalliin. Toisin sanoen: jos sinulla on valmis ER-kaavio, niin
TIEDONHALLINTA - SYKSY Luento 10. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences
TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 10 TU00AA48-2002 TU10S1E Hannu Markkanen 14.-15.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 SQL: Monen taulun kyselyt
CS-A1150 Tietokannat CS-A1150 Tietokannat / 43
CS-A1150 Tietokannat 13.3.2018 CS-A1150 Tietokannat 13.3.2018 1 / 43 Oppimistavoitteet: tämän luennon jälkeen Osaat muuttaa huonon tietokantakaavion paremmaksi: Tiedät mitä tarkoitetaan sillä, että relaatio
CS-A1150 Tietokannat CS-A1150 Tietokannat / 43
CS-A1150 Tietokannat 14.3.2017 CS-A1150 Tietokannat 14.3.2017 1 / 43 Oppimistavoitteet: tämän luennon jälkeen Osaat muuttaa huonon tietokantakaavion paremmaksi: Tiedät mitä tarkoitetaan sillä, että relaatio
CSE-A1200 Tietokannat
CSE-A1200 Tietokannat 15.3.2016 CSE-A1200 Tietokannat 15.3.2016 1 / 45 Oppimistavoitteet: tämän luennon jälkeen Osaat muuttaa huonon tietokantakaavion paremmaksi: Tiedät mitä tarkoitetaan sillä, että relaatio
SELECT-lauseen perusmuoto
SQL: Tiedonhaku SELECT-lauseen perusmuoto SELECT FROM WHERE ; määrittää ne sarakkeet, joiden halutaan näkyvän kyselyn vastauksessa sisältää
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
CS-A1150 Tietokannat CS-A1150 Tietokannat / 51
CS-A1150 Tietokannat 19.3.2019 CS-A1150 Tietokannat 19.3.2019 1 / 51 Oppimistavoitteet: tämän luennon jälkeen Osaat muuttaa huonon tietokantakaavion paremmaksi: Tiedät mitä tarkoitetaan sillä, että relaatio
TIEDONHALLINTA - SYKSY Luento 8. Saapumisryhmä: Pasi Ranne /9/13 Helsinki Metropolia University of Applied Sciences
TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 8 XX00AA79-3013 TU12S2 Pasi Ranne 25.9.2013 25/9/13 Helsinki Metropolia University of Applied Sciences 1 Harjoitustyö Harjoitustöiden tilanne
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-
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
CS-A1150 Tietokannat CS-A1150 Tietokannat / 34
CS-A1150 Tietokannat 7.2.2017 CS-A1150 Tietokannat 7.2.2017 1 / 34 Oppimistavoitteet: tämän luennon jälkeen Tiedät, mitä tarkoitetaan relaatioalgebralla. Osaat tehdä erilaisia kyselyitä relaatioalgebran
CS-A1150 Tietokannat CS-A1150 Tietokannat / 35
CS-A1150 Tietokannat 5.3.2019 CS-A1150 Tietokannat 5.3.2019 1 / 35 Oppimistavoitteet: tämän luennon jälkeen Osaat tehdä tietokantaa kuvaavan mallin UML-kaavion avulla. Tunnet esimerkiksi seuraavat UML-mallinnuksen
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
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
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
CSE-A1200 Tietokannat
CSE-A1200 Tietokannat 12.4.2016 CSE-A1200 Tietokannat 12.4.2016 1 / 42 Oppimistavoitteet: tämän luennon jälkeen Tiedät, mitä tarkoitetaan hakemistolla ja mitä hyötyä hakemistosta on. Tiedät, miten voidaan
CS-A1150 Tietokannat CS-A1150 Tietokannat / 34
CS-A1150 Tietokannat 6.2.2018 CS-A1150 Tietokannat 6.2.2018 1 / 34 Oppimistavoitteet: tämän luennon jälkeen Tiedät, mitä tarkoitetaan relaatioalgebralla. Osaat tehdä erilaisia kyselyitä relaatioalgebran
CS-A1150 Tietokannat CS-A1150 Tietokannat / 43
CS-A1150 Tietokannat 15.4.2019 CS-A1150 Tietokannat 15.4.2019 1 / 43 Oppimistavoitteet: tämän luennon jälkeen Tiedät, mitä tarkoitetaan hakemistolla ja mitä hyötyä hakemistosta on. Tiedät, miten voidaan
Kyselyt: Lähtökohtana joukko lukuja Laskukaava kertoo miten luvuista lasketaan tulos soveltamalla laskentaoperaatioita
Relaatioalgebra Relaatiomalliin liittyy malli tietokannan käsittelystä Tietokannasta pitää pystyä hakemaan tietoa ja toisaalta tietokantaa on ylläpidettävä Tietokannan käsittelyn malli relaatioalgebra
SQL - STRUCTURED QUERY LANGUAGE
SQL Peruskomentoja SQL - STRUCTURED QUERY LANGUAGE SQL on tietokantojen käsittelyyn kehitetty kieli Esimerkkejä kielellä hoidettavistaa toiminnoista: Tietokannan rakenteen määrittely ja muuttaminen Kyselyt
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
Relaatioalgebra. Kyselyt:
Relaatioalgebra Relaatiomalliin liittyy malli tietokannan käsittelystä Tietokannasta pitää pystyä hakemaan tietoa ja toisaalta tietokantaa on ylläpidettävä Tietokannan käsittelyn malli relaatioalgebra
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
HELIA 1 (14) Outi Virkki Tiedonhallinta
HELIA 1 (14) Luento Näkymät... 2 Relaatiotyypit... 2 Taulu - Tallennettu relaatio... 3 Näkymä - Virtuaalirelaatio... 3 Tulosrelaatio - Kyselyn tulos... 3 Otetaulut - Tauluun tallennettu kyselyn tulos...
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,
CS-A1150 Tietokannat CS-A1150 Tietokannat / 47
CS-A1150 Tietokannat 10.4.2018 CS-A1150 Tietokannat 10.4.2018 1 / 47 Oppimistavoitteet: tämän luennon jälkeen Tiedät, mitä tarkoitetaan hakemistolla ja mitä hyötyä hakemistosta on. Tiedät, miten voidaan
Koostefunktiot. Viisi standardifunktiota: Esim. montako henkilöä on henkilo-taulussa:
Funktiot Koostefunktiot Viisi standardifunktiota: AVG -- keskiarvo MIN -- pienin arvo MAX -- suurin arvo SUM -- summa COUNT-- lukumäärä Esim. montako henkilöä on henkilo-taulussa: SELECT Count(*) AS Lkm
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
HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät
HAAGA-HELIA Heti-09 1 (12) Näkymät Näkymät... 2 Eri tyyppisiä relaatioita... 2 Taulu - Tallennettu relaatio... 2 Tulosrelaatio - Kyselyn tulos... 2 Näkymä - Virtuaalirelaatio... 2 Näkymien määrittely...
CS-A1150 Tietokannat CS-A1150 Tietokannat / 43
CS-A1150 Tietokannat 27.2.2018 CS-A1150 Tietokannat 27.2.2018 1 / 43 Oppimistavoitteet: tämän luennon jälkeen Osaat tehdä tietokantaa kuvaavan mallin ER-kaavion avulla. Tunnet esimerkiksi seuraavat ER-mallinnuksen
Helsingin yliopisto Tietojenkäsittelytieteen laitos (H.Laine) Tietokantojen perusteet. Liitteenä: Tiivistelmä SQL-syntaksista
Helsingin yliopisto Tietojenkäsittelytieteen laitos 26.2.2014 (H.Laine) Tietokantojen perusteet Liitteenä: Tiivistelmä SQL-syntaksista Kirjoita jokaiseen erilliseen vastausarkkiin kurssin nimi, tenttipäivä,
Tietokantojen perusteet, syksy 1999 SQL- osa Harri Laine 1. SQL-valintaehto. SQL-valintaehto. Opettajien nimet: Opiskelijoiden pääaineet
DO NOT PRINT THIS DOCUMENT SQL -valintaehto CREATE TABLE opettaja ( opetunnus varchar(12) NOT NULL, nimi varchar(40) NOT NULL, puhelin varchar(12), tyohuone varchar(12), PRIMARY KEY (opetunnus) ) ; CREATE
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
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,
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,
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
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)
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
Helsingin yliopisto/ tktl D Tietokantojen perusteet, s 2000 Relaatioalgebra. Harri Laine 1. Relaatioalgebra.
Tietokantaoperaatiot tiedon haku kyselyt miten märitellään haettava tieto ylläpito-operaatiot lisäys, poisto, muuttaminen Kyselyt: lähtökohtana tietokannan tila joukkona relaatioita kyselyn tuloksena yksi
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
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
CSE-A1200 Tietokannat
CSE-A1200 Tietokannat 1.3.2016 CSE-A1200 Tietokannat 1.3.2016 1 / 41 Oppimistavoitteet: tämän luennon jälkeen Osaat tehdä tietokantaa kuvaavan mallin ER-kaavion avulla. Tunnet esimerkiksi seuraavat ER-mallinnuksen
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
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ä
CSE-A1200 Tietokannat
CSE-A1200 Tietokannat Osa laukaisimia käsittelevistä kalvoista perustuu kurssin oppikirjaan 19.4.2016 CSE-A1200 Tietokannat 19.4.2016 1 / 36 Oppimistavoitteet: tämän luennon jälkeen Osaat määritellä SQL:ssä
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..................................
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
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
CS-A1150 Tietokannat
CS-A1150 Tietokannat Osa laukaisimia käsittelevistä kalvoista perustuu kurssin oppikirjaan 29.4.2019 CS-A1150 Tietokannat 29.4.2019 1 / 39 Oppimistavoitteet: tämän luennon jälkeen Osaat määritellä SQL:ssä
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.
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.
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.
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
CS-A1150 Tietokannat
CS-A1150 Tietokannat Osa kalvoista perustuu Juha Puustjärven luentokalvoihin aikaisemmalta kurssikerralta sekä kurssin oppikirjaan 30.1.2018 CS-A1150 Tietokannat 30.1.2018 1 / 28 Aloitusluento: tämän luennon
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
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 14.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 14.9.2015 1 / 17 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
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
Tietokantojen perusteet, syksy 1999 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
TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences
TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 11 TU00AA48-2002 TU10S1E Hannu Markkanen 22.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 Indeksit Indeksit Taulun
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,
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
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
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
4.1 Yleistä SQL:stä 4.2 SQL-lauseet 4.3 DML: datan hallinta 4.4 DDL: rakenteen määrittäminen 4.5 DCL: valtuuttaminen 4.6 TxCL: tapahtumanhallinta
Luku 4 SQL 4.1 Yleistä SQL:stä 4.2 SQL-lauseet 4.3 DML: datan hallinta 4.4 DDL: rakenteen määrittäminen 4.5 DCL: valtuuttaminen 4.6 TxCL: tapahtumanhallinta ITKA204 kevät 2016 1 4.1 Yleistä SQL:stä Structured
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
Metropolia ammattikorkeakoulu TU00BS : ICT-teknologiaosaaminen Tuntitehtävät 5 Pasi Ranne
Osoitteessa http://users.metropolia.fi/~pasitr/2015-2016/tu00bs69-3001/tt/05/kanta ovat taulujen Henk (kuva A), Proj (kuva B) ja Prhe (kuva C) luontilauseet ja sisällön lisäyslauseet. Tee phpmyadmin-ohjelmalla
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
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
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
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 21.9.2016 CSE-A1111 Ohjelmoinnin peruskurssi Y1 21.9.2016 1 / 22 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
CSE-A1200 Tietokannat
CSE-A1200 Tietokannat Osa kalvoista perustuu Juha Puustjärven luentokalvoihin vuodelta 2011 sekä kurssin oppikirjaan 2.2.2016 CSE-A1200 Tietokannat 2.2.2016 1 / 28 Aloitusluento: tämän luennon jälkeen
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)
CS-A1150 Tietokannat
CS-A1150 Tietokannat Osa kalvoista perustuu Juha Puustjärven luentokalvoihin aikaisemmalta kurssikerralta sekä kurssin oppikirjaan 4.2.2019 CS-A1150 Tietokannat 4.2.2019 1 / 29 Aloitusluento: tämän luennon
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ä
CS-A1150 Tietokannat
CS-A1150 Tietokannat Osa kalvoista perustuu Juha Puustjärven luentokalvoihin vuodelta 2011 sekä kurssin oppikirjaan 31.1.2017 CS-A1150 Tietokannat 31.1.2017 1 / 28 Aloitusluento: tämän luennon jälkeen
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ä,
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...
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 19.9.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 19.9.2018 1 / 18 Oppimistavoitteet: tämän luennon jälkeen Osaat kirjoittaa Python-ohjelman, joka suorittaa eri kerroilla
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
FUNKTIOITA. Sisällysluettelo
Excel 2013 Funktioita Sisällysluettelo FUNKTIOITA FUNKTIOITA... 1 Keskiarvo-funktio... 1 Minimi ja maksimi... 1 Lukumäärä... 1 IF-funktio (JOS)... 2 IF-funktion tekeminen funktioluettelon avulla... 2 IF-funktio,
Ohje Hammasvälineen verkkokauppaan
Ohje Hammasvälineen verkkokauppaan Hammasvälineen uusi verkkokauppa löytyy osoitteesta kauppa.hammasvaline.fi Sisäänkirjautuminen Paina yläpalkin Kirjaudu sisään -painiketta. Sisäänkirjautumisikkuna avautuu.
TIETOKANTOJEN PERUSTEET MARKKU SUNI
TIETOKANTOJEN PERUSTEET MARKKU SUNI SQL - KIELI HIERARKIAAKO ELI ALIKYSELYT MARKKU SUNI Periaatteessa Alikyselyt ovat upotettuja SELECT-käskyjä Kysymys kuuluu: Upottavatko upotetut SELECT-käskyt SQL-ohjelmani?
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
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 24.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 1 / 36 Luentopalaute kännykällä alkaa tänään! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast
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