Rólam Tanulmányok és Oktatás Érdeklődési körök Munkák
| A következő gyakorlatok céljai:
A gyakorlatok szép fokozatosan hagyják magára a tanulót, önálló munkára szoktatva. Ha valaki úgy érzi, hogy valamit nem ért, valószínűleg előzőleg valami felett elsiklott.
1. FeladatA első feladatsor célja, hogy megtervezzük és létrehozzuk az adatbázist. A feladat során egy képzeletbeli zöldséges lesz a megrendelőnk. (Az EAF4 házi feladatok megoldása során a megrendelő szerepét is többé kevésbe a hallgató játsza el, saját maga számára.) Az adatbázisban tárolandó dolgok összegyűjtéseA zöldségessel való beszélgetésünk során megállapítottuk, hogy a zöldséges a következő dolgokat akarja az adatbázisban tárolni:
Vázoljuk fel, hogy milyen adataink és tábláink lesznekEgy táblában egy oszlop egy tulajdonságot reprezentál. Egy táblában azokat az adatokat tároljuk, amelyek összetartoznak. Ez azt jelenti, hogy elemhez [rekordhoz, sorhoz] egyértelműen hozzárendelhető az adott tulajdonság [oszlop]. (Persze szükséges, hogy logikailag is összetartozzanak az adatok.)
Az adatbázis szerkezete első közelítésben
2. Kapcsolódjuk az adatbázis kiszolgálóhoz
mysql test 3. Hozzuk létre a táblákatAz első táblát a következőképpen kell létrehozni: CREATE TABLE vegetables (id INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT, name TEXT NOT NULL);
A felhasznált típusok:
A másik két tábla létrehozása önálló feladat. 4. Változtassuk meg a tábla szerkezetétAmikor eljutottunk erre a pontra, hirtelen telefonhívást kapunk, és a zöldséges közli, hogy elfelejtette mondani: a zöldségekhez az aktuális árukat, és a raktáron lévő mennyiséget (kg-ban) is szeretné tárolni. Semmi gond: ALTER TABLE vegetables ADD COLUMN (price INTEGER, storage INTEGER); Ekkor jön a következő hívás, hogy az árat mégsem kell tárolni. Tipp: ALTER, DROP COLUMN. 5. Vegyünk fel adatokat
INSERT INTO vegetables (name, storage) VALUES ('répa', 2);
Vegyünk fel még öt zöldséget. Vegyünk fel szállítókat is. Kapcsoljuk össze a szállítókat a termékkel. 6. Módosítsunk egy adatotUPDATE vegetables SET storage = 3 WHERE name = 'répa'; Modosítsunk további adatokat. 7. TörlésTöröljük ki az 1-es azonosítóval jelölt szállítót. DELETE FROM suppliers WHERE id = 1; 8. ListázásokListázzuk ki a termékeket: SELECT * FROM vegetables; Listázzuk ki azokat a szállítókat, amelynek azonosítói kisebbek, mint öt: SELECT * FROM suppliers WHERE id < 5; Válasszuk ki azokat a zöldségeket, amelyek répafélék (most név alapján): SELECT * FROM vegetables WHERE name LIKE '%répa%'; 9. Összetett lekérdezésA következő feladat előtt bizonyosodjunk meg a következőkről (megfelelő SELECT utasítások segítségével - a hibásakat javítsuk, hogy a feltétel teljesüljön):
Listázzuk ki azokat a szállítókat, amelyek répát szállítanak be: SELECT suppliers.name FROM vegetables LEFT JOIN vegetable_suppliers ON vegetables.id = vegetable_id LEFT JOIN suppliers ON supplier_id = suppliers.id WHERE vegetables.name = 'répa'; 10. Dobjuk el a táblákatDROP TABLE vegetables; A másik két tábla eldobása (törlése) önálló feladat. |
1.7.5.1