14. óra: Adatbázis-lekérdezések: Balatoni hajómenetrend I.
A balatoni hajók menetrendjét tárolja a Balaton nevû adatbázisunk.
Elõzetes teendõk
Töltse le az adatbázist tartalmazó balaton.sql fájlt a home
(házikó) könyvtárába!
(Jobb egér/hivatkozás mentése más néven...)
(Jobb egér/hivatkozás mentése más néven...)
Indítson egy fekete terminált!
(Alt+Ctrl+T)
Az adatbázist fogjuk importálni.
A parancs:
Az adatbázist fogjuk importálni.
A parancs:
mysql -u erettsegi -p < balaton.sql
Adja meg a jelszót, és ha nem jön
hibaüzenet, folytatjuk.
(Ha hibaüzenet érkezne, akkor oldja meg valahogy, de addig ne menjen tovább!)
A parancs: mysql -u erettsegi -p
(A parancs 'megszólítja' a mysql kiszolgálót, közli, hogy a felhasználónevünk 'erettsegi', és ígéretet tesz arra, hogy majd megadjuk a jelszót.)
(Ha hibaüzenet érkezne, akkor oldja meg valahogy, de addig ne menjen tovább!)
A parancs: mysql -u erettsegi -p
(A parancs 'megszólítja' a mysql kiszolgálót, közli, hogy a felhasználónevünk 'erettsegi', és ígéretet tesz arra, hogy majd megadjuk a jelszót.)
Az ENTER utána gép kéri a jelszót. Ezt adja meg!
Ha sikerült, akkor a prompt (a kurzor elõtt álló szöveg) ez lesz:
mysql>
A kiszolgáló várja a parancsainkat...
-1. feladat: Kérdezzük
meg a kiszolgálót, hogy milyen adatbázisai vannak!
A parancs: show databases;
A parancs: show databases;
Az ENTER után valami ilyesmi fogad minket:
+--------------------+
| Database |
+--------------------+
| Balaton |
| information_schema |
| mysql |
| performance_schema |
| pisti |
| sys |
+--------------------+
| Database |
+--------------------+
| Balaton |
| information_schema |
| mysql |
| performance_schema |
| pisti |
| sys |
+--------------------+
A lényeg, hogy meglegyen, amit kerestünk: a Balaton adatbázis.
0. feladat: Vegyük
használatba a Balaton
adatbázist!
A parancs: use Balaton;
A parancs: use Balaton;
Az ENTER után a kiszolgáló válasza:
Database changed
A lényeg, hogy meglegyen, amit kerestünk: a Balaton adatbázis.
Az adatbázisban egyetlen tábla van, neve: menetrend.A menetrend tábla egy részlete:
+-------+----------------+----------------+----------+----------+
| jarat | honnan | hova | indul | erkezik |
+-------+----------------+----------------+----------+----------+
| A1 | Siófok | Balatonalmádi | 09:30:00 | 10:30:00 |
| A2 | Balatonalmádi | Alsóörs | 10:35:00 | 11:10:00 |
| A2 | Alsóörs | Csopak | 11:10:00 | 11:40:00 |
| A2 | Csopak | Siófok | 11:40:00 | 12:20:00 |
| A3 | Siófok | Csopak | 16:00:00 | 16:45:00 |
| A3 | Csopak | Alsóörs | 16:45:00 | 17:15:00 |
| A3 | Alsóörs | Balatonalmádi | 17:15:00 | 17:45:00 |
| A4 | Balatonalmádi | Siófok | 17:50:00 | 18:50:00 |
| .. | ... | ... | ... | ... |
| jarat | honnan | hova | indul | erkezik |
+-------+----------------+----------------+----------+----------+
| A1 | Siófok | Balatonalmádi | 09:30:00 | 10:30:00 |
| A2 | Balatonalmádi | Alsóörs | 10:35:00 | 11:10:00 |
| A2 | Alsóörs | Csopak | 11:10:00 | 11:40:00 |
| A2 | Csopak | Siófok | 11:40:00 | 12:20:00 |
| A3 | Siófok | Csopak | 16:00:00 | 16:45:00 |
| A3 | Csopak | Alsóörs | 16:45:00 | 17:15:00 |
| A3 | Alsóörs | Balatonalmádi | 17:15:00 | 17:45:00 |
| A4 | Balatonalmádi | Siófok | 17:50:00 | 18:50:00 |
| .. | ... | ... | ... | ... |
Minden sor 5 adatot tartalmaz:
- honnan: a hajó indulási kikötõje (típusa: szöveg);
- hova: az érkezési kikötõ (típusa: szöveg);
- indul: az indulás ideje (óó:pp:ss formában);
- erkezik: az érkezés ideje (óó:pp:ss formában);
- jarat: összeköti azokat a meneteket, amelyeket
ugyanaz a hajó folytat.
Pl. a 2-3. sorban megjelenõ A2-es járat teljes útja:
Balatonalmádi -> Alsóörs -> Csopak -> Siófok
Feladatok
(A megoldásokban az SQL kulcsszavait nagybetûvel írom, hogy jobban kitûnjenek - de a valóságban kisbetûvel is jók.)
1. feladat: Készítsünk
lekérdezést, mely kilistázza a G1 járat
teljes menetrendjét!
A parancs: ???
A parancs: ???
A futás eredménye:
+-------+------------------+----------------+----------+----------+
| jarat | honnan | hova | indul | erkezik |
+-------+------------------+----------------+----------+----------+
| G1 | Balatonföldvár | Balatonszemes | 09:10:00 | 10:05:00 |
| G1 | Balatonszemes | Balatonlelle | 10:05:00 | 10:45:00 |
| G1 | Balatonlelle | Balatonboglár | 10:45:00 | 11:15:00 |
| G1 | Balatonboglár | Badacsony | 11:15:00 | 12:00:00 |
+-------+------------------+----------------+----------+----------+
| jarat | honnan | hova | indul | erkezik |
+-------+------------------+----------------+----------+----------+
| G1 | Balatonföldvár | Balatonszemes | 09:10:00 | 10:05:00 |
| G1 | Balatonszemes | Balatonlelle | 10:05:00 | 10:45:00 |
| G1 | Balatonlelle | Balatonboglár | 10:45:00 | 11:15:00 |
| G1 | Balatonboglár | Badacsony | 11:15:00 | 12:00:00 |
+-------+------------------+----------------+----------+----------+
Lajos a barátnõjét várja a siófoki
hajóállomáson. Segítsünk Lajosnak
2. feladat: Készítsünk lekérdezést, mely megadja, mikor és honnan érkeznek hajók Siófokra!
A parancs: ???
2. feladat: Készítsünk lekérdezést, mely megadja, mikor és honnan érkeznek hajók Siófokra!
A parancs: ???
A futás eredménye:
+----------+----------------+
| erkezik | honnan |
+----------+----------------+
| 12:20:00 | Csopak |
| 18:50:00 | Balatonalmádi |
| 12:45:00 | Balatonfüred |
| 17:50:00 | Balatonfüred |
| 19:50:00 | Balatonfüred |
| 11:50:00 | Balatonfüred |
| 15:50:00 | Balatonfüred |
| 18:50:00 | Balatonfüred |
| 10:50:00 | Balatonfüred |
| 14:20:00 | Balatonfüred |
+----------+----------------+
| erkezik | honnan |
+----------+----------------+
| 12:20:00 | Csopak |
| 18:50:00 | Balatonalmádi |
| 12:45:00 | Balatonfüred |
| 17:50:00 | Balatonfüred |
| 19:50:00 | Balatonfüred |
| 11:50:00 | Balatonfüred |
| 15:50:00 | Balatonfüred |
| 18:50:00 | Balatonfüred |
| 10:50:00 | Balatonfüred |
| 14:20:00 | Balatonfüred |
+----------+----------------+
Egy nap nagy vihart jelez a viharjelzõ
szolgálat Badacsony körzetében. A hajózási társaság törli az oda érkezõ,
vagy onnan induló járatokat.
3. feladat: Készítsünk lekérdezést, mely kilistázza azokat a járatszámokat, amelyek érintik Badacsonyt.
A parancs: ???
3. feladat: Készítsünk lekérdezést, mely kilistázza azokat a járatszámokat, amelyek érintik Badacsonyt.
A parancs: ???
Lajos hajókázni szeretne egy szép
délutánon...
4. feladat: Listázzuk ki, hogy délután mikor, honnan és hova indulnak egyáltalán hajók!
A parancs: ???
4. feladat: Listázzuk ki, hogy délután mikor, honnan és hova indulnak egyáltalán hajók!
A parancs: ???
Fejlesztéseket terveznek a kikötõkön,
ezért felmérnénk, hogy melyik kikötõnek mekkora a forgalma.
5. feladat: Készítsen lekérdezést, mely megadja, hogy naponta hány hajó indul az egyes kikötõkbõl. A lista az indított hajók száma szerint csökkenõen rendezett legyen!
A parancs: ???
5. feladat: Készítsen lekérdezést, mely megadja, hogy naponta hány hajó indul az egyes kikötõkbõl. A lista az indított hajók száma szerint csökkenõen rendezett legyen!
A parancs: ???
Lajos gyerekei hajókázni
szeretnének... Ki is nézték a J1 járatot, mely Balatonkenesérõl Tihanyba
megy...
6. feladat: Lekérdezés segítségével adja meg a "J1" járat teljes menetidejét. A menetidõ percben jelenjen meg!
A parancs: ???
6. feladat: Lekérdezés segítségével adja meg a "J1" járat teljes menetidejét. A menetidõ percben jelenjen meg!
A parancs: ???
A "J1" járatot Lajos
túl hosszúnak, a gyerekek túl rövidnek tartják...
7. feladat: Listázzuk ki az egyes járatok teljes menetidejét! Csak a járat száma és a percben mért menetidõ jelenjen meg - ez utóbbi szerint csökkenõ sorrendben!
A parancs: ???
7. feladat: Listázzuk ki az egyes járatok teljes menetidejét! Csak a járat száma és a percben mért menetidõ jelenjen meg - ez utóbbi szerint csökkenõ sorrendben!
A parancs: ???
Nézzünk egy másik szempontot, mely egy
járat hosszát méri! (Még mindig Lajosék...)
8. feladat: Lekérdezés segítségével adja meg, hogy az egyes járatok hány kikötõt érintenek útjuk során! A lista az érintett kikötõk száma szerint csökkenõ sorrendben legyen!
A parancs: ???
8. feladat: Lekérdezés segítségével adja meg, hogy az egyes járatok hány kikötõt érintenek útjuk során! A lista az érintett kikötõk száma szerint csökkenõ sorrendben legyen!
A parancs: ???
Jó munkát!