Ülesanne 9-Erinevad päringud mitmest tabelist (0)
1. Tee aktiivseks andmebaas, kuhu soovid varundusfailis kool.sql tabelid
koos andmetega paigutada. Klõpsa menüüs valikule Impordi, vali fail,
kontrolli formaati (peab olema SQL) ning klõpsa nupul "Mine".
mysql> SHOW TABLES;
+-----------------------+
| Tables_in_eensaara_AB |
+-----------------------+
| AINE |
| AINE_OPILANE |
| EMA |
| EMAD |
| HIIR |
| HIIR_2 |
| H_EMA |
| LAENUTUS |
| LUGEJA |
| OPETAJA |
| OPILANE |
| OSAKOND |
| O_GRUPP |
| RAAMAT |
| SYNNID |
| koolitaja |
| koolitusfirma |
| koolituskursus |
| koolitusteema |
| tootaja |
| tootaja_koolitus |
+-----------------------+
21 rows in set (0.01 sec)
2. Uuri millised tabelid tekkisid juurde? Uuri lisaks ER-mudelit, mis on
lisatud ülesande juhendile (kool ER-mudel.jpg).
3. Väljasta õpilase ees- ja perekonnanimi, grupi nimi (tähis),
kursusejuhendaja ees- ja perenimi.
mysql> SELECT OPILANE.eesnimi, OPILANE.perenimi, O_GRUPP.o_gr_nimi,
CONCAT(OPETAJA.eesnimi, ' ', OPETAJA.perenimi) AS Kursusejuhataja FROM
OPILANE, O_GRUPP, OPETAJA WHERE OPILANE.g_kood=O_GRUPP.o_gr_kood AND
OPETAJA.juhend_grupp=O_GRUPP.o_kood;
+---------+----------+-----------+-----------------+
| eesnimi | perenimi | o_gr_nimi | Kursusejuhataja |
+---------+----------+-----------+-----------------+
| Kalle | Kohin | ARV07 | Sirje Mnd |
| Mari | Maasikas | ARV07 | Sirje Mnd |
| Kevin | Kivi | ARV07 | Sirje Mnd |
| Veiko | Vesi | ARV07 | Sirje Mnd |
| Hannes | Hein | ARV07 | Sirje Mnd |
| Tiia | Tuisk | KKK06 | Terje Tamm |
| Joosep | Jalakas | KKK06 | Terje Tamm |
| Sille | Siil | KKK06 | Terje Tamm |
| Lilli | Lill | KKK06 | Terje Tamm |
| Liia | Lips | KKK06 | Terje Tamm |
| Kalev | Komm | KKK06 | Terje Tamm |
| Rita | Rehv | KKK06 | Terje Tamm |
| Pille | Pill | RMT07 | Sirje Mnd |
| Tiit | Tikk | RMT07 | Sirje Mnd |
| Luisa | Tuul | RMT07 | Sirje Mnd |
| Sandra | Saar | RMT07 | Sirje Mnd |
| Janek | Jooksik | RMT07 | Sirje Mnd |
| Kati | Karummm | RMT07 | Sirje Mnd |
| Kati | Kask | HTL05 | Tiiu Rohi |
| Ragnar | Roos | HTL05 | Tiiu Rohi |
| Kadri | Kade | HTL05 | Tiiu Rohi |
| Jane | Jnes | HTL05 | Tiiu Rohi |
| Malle | Moos | TSL05 | Aile Aas |
| Robert | Rohi | TSL05 | Aile Aas |
| Vaiko | Kook | TSL05 | Aile Aas |
| Leo | Loots | TSL05 | Aile Aas |
| Mart | Karu | TSL05 | Aile Aas |
+---------+----------+-----------+-----------------+
27 rows in set (0.00 sec)
4. Leia meessoost õpilaste ees- ja perekonnanimi, grupi nimi (tähis),
kursusejuhendaja ees- ja perenimi.
mysql> SELECT OPILANE.eesnimi, OPILANE.perenimi, O_GRUPP.o_gr_nimi AS 'grupi
nimi', CONCAT(OPETAJA.eesnimi, ' ', OPETAJA.perenimi) AS Kursusejuhataja FROM
OPILANE, O_GRUPP, OPETAJA WHERE OPILANE.g_kood=O_GRUPP.o_gr_kood AND
OPETAJA.juhend_grupp=O_GRUPP.o_kood AND (LEFT(OPILANE.isikukood,1)=3 OR
LEFT(OPILANE.isikukood,1)=5);
+---------+----------+------------+-----------------+
| eesnimi | perenimi | grupi nimi | Kursusejuhataja |
+---------+----------+------------+-----------------+
| Kalle | Kohin | ARV07 | Sirje Mnd |
| Kevin | Kivi | ARV07 | Sirje Mnd |
| Veiko | Vesi | ARV07 | Sirje Mnd |
| Hannes | Hein | ARV07 | Sirje Mnd |
| Joosep | Jalakas | KKK06 | Terje Tamm |
| Kalev | Komm | KKK06 | Terje Tamm |
| Tiit | Tikk | RMT07 | Sirje Mnd |
| Janek | Jooksik | RMT07 | Sirje Mnd |
| Ragnar | Roos | HTL05 | Tiiu Rohi |
| Robert | Rohi | TSL05 | Aile Aas |
| Vaiko | Kook | TSL05 | Aile Aas |
| Leo | Loots | TSL05 | Aile Aas |
| Mart | Karu | TSL05 | Aile Aas |
+---------+----------+------------+-----------------+
13 rows in set (0.00 sec)
5. Väljasta õpilase ees- ja perekonnanimi ning osakonna nimi, kus ta õpib.
mysql> SELECT CONCAT(OPILANE.eesnimi, ' ', OPILANE.perenimi) AS 'opilane',
O_GRUPP.nimi FROM OPILANE, O_GRUPP WHERE OPILANE.g_kood=O_GRUPP.o_gr_kood;
+----------------+-----------------+
| opilane | nimi |
+----------------+-----------------+
| Kalle Kohin | Arvutiteenindus |
| Mari Maasikas | Arvutiteenindus |
| Kevin Kivi | Arvutiteenindus |
| Veiko Vesi | Arvutiteenindus |
| Hannes Hein | Arvutiteenindus |
| Tiia Tuisk | Kokk |
| Joosep Jalakas | Kokk |
| Sille Siil | Kokk |
| Lilli Lill | Kokk |
| Liia Lips | Kokk |
| Kalev Komm | Kokk |
| Rita Rehv | Kokk |
| Pille Pill | Raamatupidamine |
| Tiit Tikk | Raamatupidamine |
| Luisa Tuul | Raamatupidamine |
| Sandra Saar | Raamatupidamine |
| Janek Jooksik | Raamatupidamine |
| Kati Karummm | Raamatupidamine |
| Kati Kask | Hotellindus |
| Ragnar Roos | Hotellindus |
| Kadri Kade | Hotellindus |
| Jane Jnes | Hotellindus |
| Malle Moos | Tisler |
| Robert Rohi | Tisler |
| Vaiko Kook | Tisler |
| Leo Loots | Tisler |
| Mart Karu | Tisler |
+----------------+-----------------+
27 rows in set (0.00 sec)
6. Leia mitu õpilast õpib igas osakonnas. Väljasta osakonna nimi ja
õpilaste arv.
mysql> SELECT O_GRUPP.nimi, (SELECT COUNT(*) FROM OPILANE WHERE
O_GRUPP.o_gr_kood=OPILANE.g_kood) AS 'opilased' FROM O_GRUPP;
+-----------------+----------+
| nimi | opilased |
+-----------------+----------+
| Arvutiteenindus | 5 |
| Kokk | 7 |
| Raamatupidamine | 6 |
| Hotellindus | 4 |
| Tisler | 5 |
+-----------------+----------+
5 rows in set (0.00 sec)
7. Väljasta õpilaste õpitulemused (õpilase ees- ja perenimi, aine nimetus,
hinne ja õpetaja perenimi).
mysql>
SELECT
OPILANE.eesnimi,
OPILANE.perenimi,
AINE.nimetus,
AINE_OPILANE.hinne, OPETAJA.perenimi FROM OPILANE, AINE, AINE_OPILANE, OPETAJA
WHERE
OPILANE.isikukood=AINE_OPILANE.o_isikukood
AND
AINE.a_kood=AINE_OPILANE.aine_kood
AND
AINE_OPILANE.opetaja_kood=OPETAJA.opetaja_isikuk;
+---------+----------+------------------------------------------------+-------
+----------+
| eesnimi | perenimi | nimetus | hinne
| perenimi |
+---------+----------+------------------------------------------------+-------
+----------+
| Mari | Maasikas | Aedvilja ttlemise tehn. | 3
| Kask |
| Joosep | Jalakas | Aedvilja ttlemise tehnoloogia | 4
| Kuusk |
| Tiit | Tikk | Ajalugu | 4
| Katus |
| Ragnar | Roos | Alternatiivsed kontoritpaketid | 5
| Siil |
| Robert | Rohi | Andmebaasid | 5
| Karu |
| Kevin | Kivi | Andmebaaside alused | 5
| Rebane |
| Sille | Siil | Andmebaaside projekteerimine | 5
| Jnes |
| Lilli | Lill | Andmebaaside projekteerimine ja haldus | 5
| Koer |
| Luisa | Tuul | Andmeturbe alused | 3
| Kass |
| Sandra | Saar | Andmeturve | 3
| Rebane |
| Kadri | Kade | Andmettlus ja statistika | 3
| Mnd |
| Vaiko | Kook | Arhiivinduse alused | 3
| Saar |
| Veiko | Vesi | Arvutipetus | 5
| Kuusik |
| Hannes | Hein | Asjaajamine | 5
| Tamm |
| Leo | Loots | Asjaajamisse alused | 5
| Tammik |
| Liia | Lips | Avalik esinemine | 3
| Lilleaed |
| Kalev | Komm | Baarit | 4
| Lilleaed |
| Rita | Rehv | Betoonitd | 4
| Rohi |
| Janek | Jooksik | Bioloogia | 4
| Leht |
| Jane | Jnes | Catering | 4
| Oks |
| Mart | Karu | CCNA1-arvutivrkude alused | 5
| Kadaks |
| Kati | Karummm | CCNA2-ruuterite ja marsruutimise alused | 4
| Okas |
| Kalle | Kohin | CCNA3-Kommunikatsiooni alused ja marsruutimine | 3
| Mgi |
| Tiia | Tuisk | CCNA4-Laivrgu tehnoloogiad | 4
| Org |
+---------+----------+------------------------------------------------+-------
+----------+
24 rows in set (0.00 sec)
8. Väljasta vaid õpilaste õpitulemused (õpilase ees- ja perenimi, aine
nimetus, hinne ja õpetaja perenimi), kes on saanud hindeks 4 või 5.
mysql>
SELECT
OPILANE.eesnimi,
OPILANE.perenimi,
AINE.nimetus,
AINE_OPILANE.hinne, OPETAJA.perenimi FROM OPILANE, AINE, AINE_OPILANE, OPETAJA
WHERE
OPILANE.isikukood=AINE_OPILANE.o_isikukood
AND
AINE.a_kood=AINE_OPILANE.aine_kood
AND
AINE_OPILANE.opetaja_kood=OPETAJA.opetaja_isikuk AND (AINE_OPILANE.hinne=4 OR
AINE_OPILANE.hinne=5);
+---------+----------+-----------------------------------------+-------
+----------+
| eesnimi | perenimi | nimetus | hinne |
perenimi |
+---------+----------+-----------------------------------------+-------
+----------+
| Joosep | Jalakas | Aedvilja ttlemise tehnoloogia | 4 | Kuusk
|
| Tiit | Tikk | Ajalugu | 4 | Katus
|
| Ragnar | Roos | Alternatiivsed kontoritpaketid | 5 | Siil
|
| Robert | Rohi | Andmebaasid | 5 | Karu
|
| Kevin | Kivi | Andmebaaside alused | 5 |
Rebane |
| Sille | Siil | Andmebaaside projekteerimine | 5 | Jnes
|
| Lilli | Lill | Andmebaaside projekteerimine ja haldus | 5 | Koer
|
| Veiko | Vesi | Arvutipetus | 5 |
Kuusik |
| Hannes | Hein | Asjaajamine | 5 | Tamm
|
| Leo | Loots | Asjaajamisse alused | 5 |
Tammik |
| Kalev | Komm | Baarit | 4 |
Lilleaed |
| Rita | Rehv | Betoonitd | 4 | Rohi
|
| Janek | Jooksik | Bioloogia | 4 | Leht
|
| Jane | Jnes | Catering | 4 | Oks
|
| Mart | Karu | CCNA1-arvutivrkude alused | 5 |
Kadaks |
| Kati | Karummm | CCNA2-ruuterite ja marsruutimise alused | 4 | Okas
|
| Tiia | Tuisk | CCNA4-Laivrgu tehnoloogiad | 4 | Org
|
+---------+----------+-----------------------------------------+-------
+----------+
17 rows in set (0.00 sec)
9. Leia iga aine keskmine hinne. Väljasta aine nimetus ja keskmine hinne.
mysql> SELECT AINE.nimetus, AVG(AINE_OPILANE.hinne) AS 'keskmine hinne' FROM
AINE, AINE_OPILANE WHERE AINE.a_kood=AINE_OPILANE.aine_kood GROUP BY
AINE.nimetus;
+------------------------------------------------+----------------+
| nimetus | keskmine hinne |
+------------------------------------------------+----------------+
| Aedvilja ttlemise tehn. | 3 |
| Aedvilja ttlemise tehnoloogia | 4 |
| Ajalugu | 4 |
| Alternatiivsed kontoritpaketid | 5 |
| Andmebaasid | 5 |
| Andmebaaside alused | 5 |
| Andmebaaside projekteerimine | 5 |
| Andmebaaside projekteerimine ja haldus | 5 |
| Andmettlus ja statistika | 3 |
| Andmeturbe alused | 3 |
| Andmeturve | 3 |
| Arhiivinduse alused | 3 |
| Arvutipetus | 5 |
| Asjaajamine | 5 |
| Asjaajamisse alused | 5 |
| Avalik esinemine | 3 |
| Baarit | 4 |
| Betoonitd | 4 |
| Bioloogia | 4 |
| Catering | 4 |
| CCNA1-arvutivrkude alused | 5 |
| CCNA2-ruuterite ja marsruutimise alused | 4 |
| CCNA3-Kommunikatsiooni alused ja marsruutimine | 3 |
| CCNA4-Laivrgu tehnoloogiad | 4 |
+------------------------------------------------+----------------+
24 rows in set (0.00 sec)
10. Valmis töö lae Moodle'isse tagasisidestamiseks või jaga faili õpetajaga.
Lisa veebiteksti, milliste käskude kasutamist peab järgmises tunnis kordama,
kui kõik oli arusaadav, kirjuta, et ei vaja ülesandes tehtud käskude
kordamist.
MySQL kodune töö
Sarnased õppematerjalid
9
docx
Ülesanne 6-Tabeli struktuuri muutmine-Erinevad päringud
|
| Lk_arv | smallint(6) | NO | | NULL |
|
| Keel | varchar(50) | YES | | NULL |
|
| Hind | decimal(6,2) | YES | | NULL |
|
| Tiraaz | mediumint(10) | YES | | NULL |
|
+-------------+-----------------------+------+-----+---------+----------------
+
9 rows in set (0.00 sec)
4. Kustuta tabelist RAAMAT väli Tiraaz.
mysql> ALTER TABLE RAAMAT DROP COLUMN Tiraaz;
Query OK, 42 rows affected (0.01 sec)
Records: 42 Duplicates: 0 Warnings: 0
mysql> DESCRIBE RAAMAT;
+-------------+-----------------------+------+-----+---------+----------------
+
| Field | Type | Null | Key | Default | Extra
|
+-------------+-----------------------+------+-----+---------+----------------
+
| Raamatu_id | mediumint(8) unsigned | NO | PRI | NULL | auto_increment
|
9
docx
Ülesanne 4-Päringud mitmest tabelist
1. Loo tabel LAENUTUS järgmiste väljadega: Laenamise_id PK, Kuupaev
(kuupäev), Lugeja_ID (täisarv) FK, Raamatu_ID (täisarv) FK, Tahtaeg
(kuupäev), Tagastamine (kuupäev). Tabeli kirjelduses näita ära primaarvõti
ja ka võõrvõtmed.
mysql> CREATE TABLE LAENUTUS(
-> Laenamise_id int unsigned not null auto_increment,
-> Luupaev date not null,
-> Lugeja_id mediumint(8) unsigned not null,
-> Raamatu_id mediumint(8) unsigned not null,
-> Tahtaeg date not null,
-> Tagastamine date,
-> PRIMARY KEY(Laenamise_id),
-> FOREIGN KEY(Lugeja_id) REFERENCES LUGEJA (Lugeja_id),
-> FOREIGN KEY(Raamatu_id) REFERENCES RAAMAT (Raamatu_id));
Query OK, 0 rows affected (0.01 sec)
mysql> DESCRIBE LUGEJA;
+-----------+-----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-----------------------+------+-----+---------+----------------+
| lugeja_id | mediu
15
pdf
Andmebaasid
23-3','[email protected]','õpilane','Teie kool');
Laps
CREATE TABLE LAPS (
Laps_ID INT AUTO_INCREMENT ,
Eesnimi VARCHAR(40) NOT NULL,
Pikkus CHAR(5) NOT NULL,
Sünniaasta CHAR(4) NOT NULL,
Sünnilinn VARCHAR(100),
PRIMARY KEY (Laps_ID));
ÜLESANDED
Ülesanne 3
15.02.2017
__________________________________
Ülesanne 3. Lihtsamad select päringud
Lihtsamad päringud SQL-is
Käsud (alates 3. ülesandest), mida sisestad MySql-is ja saadud tulemused kopeeri ka siia töölehele.
1. Loo tabelid RAAMAT ja LUGEJA MySql-is, kui Sa pole seda veel teinud.
2. Sisesta andmed tabelisse RAAMAT vt faili "raamat.txt"
___
3. Väljasta kogu tabeli RAAMAT andmed.
SELECT * FROM `RAAMAT`;
4. Väljasta raamatute pealkirjad, autorid ja ilmumisaastad.
SELECT Pealkiri, Autor, Aasta FROM RAAMAT
5
258
xlsx
Informaatika 1 - tekstikorpuse analüüs
valideerimisega valida vaid aktiivse teaduskonna töötajate vahel (Mis funktsio
kuvatakse funktsiooni VLOOKUP (!!!) kasutades tema kabinetinumber ja nelja
NB! Andke kõik õiged nimed
ÜLESANDE TEINE OSA - ANDMETE IMPORTIMINE
Variandinumbri arvutamiseks sisestage oma tudengikood töölehele Majandus
Valige otsingu kõrvalt "Töötaja otsing". Otsige teie variandile vastavat õppeto
Excelisse - esialgu tuleb see halva vormindusega. Kopeerige sealt tabelist vä
parema-nupu menüüs asuvat Paste-Special->Values käsku, et saadud tulemu
nimed jäävad ka lõpptulemuseks - halva vormindusega tabel kustutage.
Tehke sama oma variandile vastava teise õppetooliga.
E
s igale teaduskonna nimele järgneb nimekiri selle töötajatega,
esimesena valida teaduskonna. Seejärel saab ta teise
e vahel (Mis funktsiooni kasutate?). Kolmandasse lahtrisse
binetinumber ja neljandasse samamoodi telefoninumber.
töölehele Majandusteaduskond. Avage aadress www
Meedia
Kommentaarid (0)
Kõik kommentaarid