3. óra: Balatoni hajómenetrend I.

A balatoni hajók menetrendjét tárolja a Balaton nevû adatbázisunk.

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 |
| ..    | ...            | ...            | ...      | ...      |

Minden sor 5 adatot tartalmaz:

Elõzetes teendõk

-2. feladat: Lépjen be a mysql felületbe!
 
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;

Az ENTER után valami ilyesmi fogad minket:

+--------------------+
| 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;

Az ENTER után a kiszolgáló válasza:

Database changed

A lényeg, hogy meglegyen, amit kerestünk: a Balaton adatbázis.

 

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: SELECT * FROM menetrend WHERE jarat="G1";

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 |
+-------+------------------+----------------+----------+----------+

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: SELECT erkezik, honnan FROM menetrend WHERE hova="Siófok";

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   |
+----------+----------------+

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: SELECT jarat FROM menetrend WHERE honnan="Badacsony" OR hova="Badacsony";

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: SELECT indul, honnan, hova FROM menetrend WHERE indul>"12:00:00";

Lajos a kedvesét várja a badacsonyi kikötõben. A hölgy hajóval fog érkezni, de hogy mikor...?
Mi a legvégsõ idõpont, amire Lajos fel kell készüljön? (Hogy esetleg addig kell ott várakoznia...)
 
5. feladat: Kérdezzük meg, mikor és honnan érkezik az utolsó hajó Badacsonyba.
 
A parancs: ???

A család hajókázni szeretne. Vonattal mennének valamelyik kikötõbe.
Azt a kikötõt választanák, ahonnan a legtöbb hajó indul.
 
6. feladat: Kérdezzük meg, hogy az egyes kikötõk hány hajót indítanak naponta.
 
A parancs: ???

Jó munkát!