59. óra: Állatnevek

Fekete István állatregényei a gyermekirodalom népszerû mûvei. Ezek a könyvek közelebb hozzák a természetet, megismertetik a fiatal olvasókkal az állatok életét, de némelyik szimbolikusan az emberi jellemeket és kapcsolatokat is bemutatja.

Az errõl készült adatbázisban fogunk feladatokat megoldani

-1. feladat: Indítson egy (fekete) terminált
 
A parancs: Alt+Ctrl+T

Kb. ebbe a helyzetbe kell kerülnie (csak a 'barnabas' helyén az ön login-neve, ill utána az ön gépének neve áll):
barnabas@deg-11-14:~$


Az adatok importálása

0.1. feladat: Töltse le a home könyvtárába (házikó) az allatnevek.sql fájlt! (Kattintson a linkre!) Ebben a fájlban vannak az adatok.
 
0.2. feladat: Térjen vissza a fekete terminálhoz! (De még ne lépjen be a mysql-be!)
 
0.3. feladat: 'Etesse meg' a mysql-lel az allatnevek.sql fájl tartalmát!
 
A parancs: mysql -u erettsegi -p < allatnevek.sql
(Utána adja meg a jelszót: pingvin)
 
Akkor jó ha gép a jelszó után nem szól vissza.

Lépjen vissza az adatbáziskezelõbe! (mysql -u erettsegi -p, majd a jelszó)

Nyissa meg az barlang adatbázist!

mysql>use allatnevek;
Blablabla...

Database changed
mysql>

Az adatbázisban három tábla van:

Az allat tábla egy részlete (ön is lekérdezheti: select * from allat;):

+----+-----------+---------+
| id | nev       | faj     |
+----+-----------+---------+
|  1 | Lajos     | szamár  |
|  2 | Csuri     | veréb   |
|  3 | Böske     | ló      |
|  4 | Bark      | róka    |
|  5 | Csámpás   | szamár  |
| ...| ...       | ...     |

Minden sor 3 adatot tartalmaz:

 

A regeny tábla egy részlete (ön is lekérdezheti: select * from regeny;):

+----+------+------------------------------+----------------------------------------+
| id | ev   | cim                          | kiado                                  |
+----+------+------------------------------+----------------------------------------+
|  1 | 1937 | A koppányi aga testamentuma  | Dante Könyvkiadó                       |
|  2 | 1939 | Zsellérek                    | Királyi Magyar Egyetemi Nyomda         |
|  3 | 1940 | Csi. Történet állatokról ... | Singer és Wolfner Irodalmi Intézet Rt  |
|  4 | 1941 | Öreg utakon                  | Singer és Wolfner Irodalmi Intézet Rt. |
|  5 | 1942 | Hajnal Badányban             | Singer és Wolfner Irodalmi Intézet Rt. |
| ...|  ... | ...                          | ...                                    |

Minden sor 4 adatot tartalmaz:

 

A kapcsolo tábla egy részlete (ön is lekérdezheti: select * from kapcsolo;):

+---------+----------+
| allatid | regenyid |
+---------+----------+
|       7 |       15 |
|       7 |       20 |
|      11 |       20 |
|      16 |       12 |
|     ... |      ... |

Minden sor 3 adatot tartalmaz:

Pl. az elsõ sor azt fejezi ki, hogy 7-es id-jú állat szerepel a 15-ös id-jú regényben.

 

Feladatok

1. feladat: Pályája kezdetén Fekete István inkább a falusi emberekrõl írt regényeket.
 
Készítsen lekérdezést, amely Fekete István 1950 elõtt kiadott regényeinek címét, a kiadás évét és a kiadót sorolja fel! (Egyszerû feltétel.)
 
A parancs: SELECT ev, cim, kiado FROM regeny WHERE ev<=1950

2. feladat: Pályája középsõ szakaszán jelennek meg nagyobb számban az állatokat megszemélyesítõ regényei.
 
Készítsen lekérdezést, amely Fekete István 1950 és 1970 között kiadott regényeinek címét, kiadóját és a kiadás évét jeleníti meg! A megadott idõszakaszba a határok is beleértendõk. (Összetett feltétel ÉS kapcsolattal.)
 
A parancs: SELECT ev, cim, kiado FROM regeny WHERE ev>=1950 AND ev<=1970

3. feladat: Az állatokról (is) szóló regényekben gyakran megjelenik a kutyák és a rókák közti állandó ellenségeskedés.
 
Készítsen lekérdezést, mely megjeleníti a Fekete István által használt kutya- és rókaneveket! Jelenjen meg az állat neve, és faja! (Összetett feltétel VAGY kapcsolattal.)
 
A parancs: SELECT nev, faj FROM allat WHERE faj='róka' OR faj='kutya'

4. feladat: Készítsen lekérdezést, amely kilistázza azokat az állatneveket, amelyeknél a faj neve a „vad” szórészletet tartalmazza! A felsorolásban az állat neve és a faj megnevezése jelenjen meg! (Mintaillesztés.)
 
A parancs: SELECT nev, faj FROM allat WHERE faj LIKE '%vad%'

5. feladat: Fekete István talán legismertebb regénye a Vuk, amely egy róka életérõl szól.
 
Készítsen lekérdezést, amely megszámolja, hány róka szerepel Fekete István regényeiben! (Megszámlálás feltétellel.)
 
A parancs: SELECT COUNT(nev) FROM allat WHERE faj="róka"

6. feladat: Fekete István névadásai között a különbözõ fajú állatok eltérõ számban fordulnak elõ.
 
Készítsen lekérdezést, amely fajonként meghatározza az állatnevek számát! A listában a fajok neve és a nevek száma jelenjen meg az utóbbi szerint csökkenõ sorrendben! (Megszámlálás csoportosítással + rendezés.)
 
A parancs: SELECT faj, COUNT(nev) FROM allat GROUP BY faj ORDER BY COUNT(nev) DESC

7. feladat: Készítsen lekérdezést, amely azoknak a regényeknek a címét listázza ki, amelyben szerepel róka! (Táblák összekapcsolása.)
 
A parancs: SELECT DISTINTCT cim FROM allat, kapcsolo, regeny
WHERE allat.id=allatid AND regeny.id=regenyid AND faj="róka"

8. feladat: Készítsen lekérdezést, amely azokat az állatneveket listázza ki, amelyek több regényben is szerepeltek! (Táblák összekapcsolása, megszámlálás csoportosítással, utólagos feltétel.)
 
A parancs: SELECT nev, COUNT(cim) FROM allat, kapcsolo, regeny
WHERE allat.id=allatid AND regeny.id=regenyid

9. feladat: Készítsen lekérdezést, amely megadja, hogy melyik regényben szerepel a legtöbb állat! (Táblák összekapcsolása, megszámlálás csoportosítással, maximumkiválasztás)
 
A parancs: ???

10. feladat: Készítsen lekérdezést, amely azon állatok nevét írja ki, amelyek szerepelnek a Vuk és a Kele címû mûvekben is! (Feltétel allekérdezéssel.)
 
A parancs: ???

Jó munkát!