
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.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!
Blablabla...
Database changed
mysql>
Az adatbázisban három tábla van:
- allat: Ez tartalmazza az állatok neveit;
- regeny: Ez Fekete István regényeinek listája;
- kapcsolo: Ez a tábla kapcsolja össze az állatneveket azokkal a regényekkel, amelyekben szerepelnek.
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:
- id: Az állat egyedi azonosítója, sorszáma (típusa: egész szám);
- nev: az állat neve Fekete István regényeiben (típusa: szöveg);
- faj: az állat biológiai faja (típusa: szüveg).
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:
- id: A regény egyedi azonosítója, sorszáma (típusa: egész szám);
- ev: A regény elsõ kiadásának éve (típusa: egész szám);
- cim: A regény címe (típusa: szöveg);
- kiado: A regény kiadója (típusa: szüveg).
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:
- allatid: Az állat id-ja (típusa: egész szám);
- regenyid: a regény id-ja, amiben a megfelelõ id-jú állat szerepel (típusa: egész).
Feladatok
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
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
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'
A parancs: SELECT nev, faj FROM allat WHERE faj LIKE '%vad%'
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"
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
A parancs: SELECT DISTINTCT cim FROM allat, kapcsolo, regeny
WHERE allat.id=allatid AND regeny.id=regenyid AND faj="róka"
A parancs: SELECT nev, COUNT(cim) FROM allat, kapcsolo, regeny
WHERE allat.id=allatid AND regeny.id=regenyid
A parancs: ???
A parancs: ???
Jó munkát!