Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Monikon lisääminen (1) Luetellaan kaikki lisättävän rivin arvot INSERT INTO Asiakas VALUES (4, ’Assi’, ’Asiakas’); Luetellaan vain osa arvoista; muut arvot.

Samankaltaiset esitykset


Esitys aiheesta: "Monikon lisääminen (1) Luetellaan kaikki lisättävän rivin arvot INSERT INTO Asiakas VALUES (4, ’Assi’, ’Asiakas’); Luetellaan vain osa arvoista; muut arvot."— Esityksen transkriptio:

1 Monikon lisääminen (1) Luetellaan kaikki lisättävän rivin arvot INSERT INTO Asiakas VALUES (4, ’Assi’, ’Asiakas’); Luetellaan vain osa arvoista; muut arvot alustetaan oletusarvolla INSERT INTO Asiakas (Id, Etunimi) VALUES (5, ’Jussi’); Käytetään kyselytuloksia INSERT INTO Tilaajat SELECT DISTINCT Asiakas.* FROM Asiakas, Tilaus WHERE Asiakas.Id=AsiakasId;

2 Monikon lisääminen (2) Lisäysoperaatio onnistuu vain, jos se Ei riko viite- tai entiteettieheyttä Ei riko avainrajoitetta Ei riko arvojoukkorajoitetta (esim. lukuattribuutin arvoksi ei voida asettaa merkkijonoa)

3 Monikon poistaminen DELETE FROM Taulu WHERE Ehto DELETE FROM Asiakas WHERE Id>3; DELETE FROM Asiakas WHERE Id NOT IN ( SELECT AsiakasId FROM Tilaus); Saattaa viiteavainmäärittelyistä riippuen aiheuttaa muidenkin rivien tuhoamisen (vyörytys)

4 Monikon muuttaminen (1) UPDATE... SET –komento UPDATE Tuote SET Hinta=1.1*Hinta; Jos päivityksessä tarvitaan tietoja useammasta taulusta, käytetään alikyselyitä UPDATE Tuote SET Hinta=1.1*Hinta WHERE ToimittajaId IN (SELECT Id FROM Toimittaja WHERE Nimi=’Jaskan vimpain’);

5 Transaktiot (1) Transaktioille taataan ACID-ominaisuudet Atomic: transaktio suoritetaan kokonaan tai jätetään kokonaan suorittamatta Consistent: eheä ja oikeellinen tietokanta on transaktion jälkeen eheä ja oikeellinen Isolated: transaktiot toimivat toisistaan riippumatta Durable: transaktio muuttaa tietokantaa pysyvästi Jokainen yksittäinen kysely tai päivitys on transaktio

6 Transaktiot (2) Transaktio voi koostua myös useammasta päivitysoperaatiosta tai kyselystä Siirretään 1000 euroa tililtä 123 tilille 321 BEGIN; UPDATE Tili SET Saldo=Saldo-1000 WHERE ID=123; UPDATE Tili SET Saldo=Saldo+1000 WHERE ID=321; COMMIT;

7 Kertaus (1) Ongelmallisiksi koetut alueet ER-kaavion muuntaminen relaatioiksi Ulkoliitokset Aggregaattifunktiot Peruskyselyt hallitaan ER-kaavion muuntaminen relaatioiksi Luentomonisteen tarkkuus riittää (ei heikkoja entiteettejä, tunnistavia liittymiä tms.)

8 Kertaus (2) Ulkoliitokset Käytännössä vaihtoehtoisia alikyselyille ja erityisesti NOT IN –operaatiolle Eivät keskeisessä asemassa myöskään tentissä Selitetty tarkemmin monisteen luvussa 3.3.3 Aggregaattifunktiot Tarpeen myös käytännössä, vaikka peruskyselyillä pääseekin pitkälle

9 Aggregaattifunktiot (1) Kirjoitetaan kyselyn SELECT-osaan Aggregaattifunktioiden käytöstä SELECT-osassa voi esiintyä vain aggregaattifunktioita ja ryhmittelyattribuutteja Ryhmittelyattribuutit mainittava kyselyn GROUP BY –osassa Jos ryhmittelyattribuutteja ei ole, on tuloksessa aina vain yksi rivi Jos ryhmittelyattribuutteja käytetään on tuloksessa yksi rivi jokaista ryhmittelyattribuuttien arvoyhdistelmää kohden

10 Aggregaattifunktiot (2) Hae toimittajien nimet sekä kunkin toimittaja toimittamien tuotteiden minimi- ja maksimihinta SELECT Toimittaja.Nimi, MIN(Hinta), MAX(Hinta) FROM Tuote, Toimittaja WHERE ToimittajaId=Toimittaja.Id GROUP BY Toimittaja.Nimi;

11 Aggregaattifunktiot (3)

12 Tietokannat II Osat Luennot: Jukka Teuhola Demot Tietokantaohjelmointiin liittyvä harjoitustyö Aiheet Tietokantaohjelmointi: Java & JDBC, Web- tietokannat Suunnittelu: laajennettu ER-malli, normalisointi

13 Tentistä Tenttialue: luvut 1, 2, 4 ja 5 Painopisteet Peruskäsitteet Suunnittelu SQL Tenttipäivät 1.3. klo 9:00-12:00 Alpha 26.3. klo 9:00-13:00 IX, X 22.5. klo 9:00-13:00 IX, X


Lataa ppt "Monikon lisääminen (1) Luetellaan kaikki lisättävän rivin arvot INSERT INTO Asiakas VALUES (4, ’Assi’, ’Asiakas’); Luetellaan vain osa arvoista; muut arvot."

Samankaltaiset esitykset


Iklan oleh Google