GoDrive autókölcsönző

Kategória: SQL emelt szint

Feladat leírása

GoDrive autókölcsönző illusztráció

GoDrive Autókölcsönző Adatbázis

Egy dinamikusan fejlődő autókölcsönző cég, a GoDrive mindennapi működését támogató adatbázist kell kezelned. A rendszerben tároljuk az ügyfelek adatait, a bérbe adható gépjárművek jellemzőit, valamint a létrejött kölcsönzéseket. A cél az, hogy pontos képet kapjunk a flotta kihasználtságáról és az ügyfelek szokásairól.

Az adatbázis három fő táblából áll, amelyek kapcsolatát az alábbiakban részletezzük. A feladatok megoldása során ezekre a táblákra kell hivatkoznod.

Adattáblák szerkezete

ugyfel (id, nev, varos, szul_ev)

  • id: Az ügyfél egyedi azonosítója (szám), ez az elsődleges kulcs.
  • nev: Az ügyfél teljes neve (szöveg).
  • varos: A város neve, ahol az ügyfél lakik (szöveg).
  • szul_ev: Az ügyfél születési éve (szám).

auto (id, rendszam, marka, tipus, kategoria, napidij, ev)

  • id: Az autó egyedi azonosítója (szám), ez az elsődleges kulcs.
  • rendszam: Az autó rendszáma (szöveg, pl. ABC-123).
  • marka: Az autó márkája (szöveg, pl. Ford).
  • tipus: Az autó pontos típusa (szöveg, pl. Focus).
  • kategoria: Az autó kategóriája (szöveg, pl. Kisautó, SUV, Luxus).
  • napidij: Az autó bérlésének napi díja forintban (szám).
  • ev: Az autó gyártási éve (szám).

kolcsonzes (id, auto_id, ugyfel_id, elvitel, visszahozatal)

  • id: A kölcsönzés egyedi azonosítója (szám), ez az elsődleges kulcs.
  • auto_id: A kikölcsönzött autó azonosítója (szám), idegen kulcs az auto táblára.
  • ugyfel_id: A kölcsönző ügyfél azonosítója (szám), idegen kulcs az ugyfel táblára.
  • elvitel: A kölcsönzés kezdetének dátuma (dátum).
  • visszahozatal: Az autó visszahozatalának dátuma (dátum).

Példa: A kolcsonzes tábla egy rekordja például: (10, 3, 5, '2023-05-10', '2023-05-15').

Ez azt jelenti, hogy a 10-es sorszámú tranzakció során a 3-as azonosítójú autót (pl. egy Suzuki Vitara) az 5-ös azonosítójú ügyfél (pl. Kiss Péter) vette bérbe május 10-én, és május 15-én hozta vissza.

Technikai elvárások

A következő feladatokat megoldó SQL-parancsokat rögzítsd a feladatok végén zárójelben megadott nevű és .sql kiterjesztésű szöveges állományban! A javítás során csak ezeknek az állományoknak a tartalma lesz értékelve! Ügyelj arra, hogy a lekérdezésekben pontosan a kívánt mezők szerepeljenek!


Részfeladatok

  1. 1. Listázd ki az összes 'Kisautó' kategóriájú autót! (rendszám, típus) (1kisauto.sql)

  2. 2. Rendezd az ügyfeleket születési évük szerint csökkenő sorrendbe! (név, születési év) (2kor.sql)

  3. 3. Milyen városokból származnak az ügyfelek? Minden város csak egyszer szerepeljen a listában! (3varosok.sql)

  4. 4. Listázd ki azokat az autókat, amelyek napidíja 10 000 és 15 000 Ft közé esik! (4kozepes.sql)

  5. 5. Kik azok az ügyfelek, akiknek a neve 'Kovács' vagy 'Nagy' kezdetű? (5nevek.sql)

  6. 6. Írasd ki az autók márkáját és típusát egy mezőben, szóközzel elválasztva! Az oszlop neve legyen 'megnevezes'! (6fullnev.sql)

  7. 7. Hány darab 'Ford' márkájú autó van az adatbázisban? (7forddb.sql)

  8. 8. Mennyi a 'Luxus' kategóriájú autók átlagos napidíja? (8luxusar.sql)

  9. 9. Listázd ki a kölcsönzéseket, ahol az autó elvitele 2023 márciusában történt! (9marcius.sql)

  10. 10. Kik azok az ügyfelek (név), akik 'Budapest' városában laknak és már kölcsönöztek autót? (10pestiaktiv.sql)

  11. 11. Mely autókat (rendszám) kölcsönözte ki 'Kiss Péter'? (11kissauto.sql)

  12. 12. Listázd ki azokat a kölcsönzéseket, amelyek időtartama meghaladta az 5 napot! (elvitel, visszahozatal) (12hosszu.sql)

  13. 13. Hány kölcsönzés történt városonként csoportosítva? (város, darabszám) (13varosstat.sql)

  14. 14. Melyik kategóriában van a legtöbb autó? Csak a darabszámot és a kategóriát listázd, csökkenő sorrendben! (14katdb.sql)

  15. 15. Jelenítsd meg a kölcsönzések mellett, hogy a bevétel 'Magas' (ha a napok száma * napidíj > 100000) vagy 'Normál'! (15bevetelkat.sql)

  16. 16. Listázd ki azokat az autókat, amelyek napidíja a legmagasabb! (Több ilyen is lehet, mindet listázd ki) (16legdragabb.sql)

  17. 17. Kik azok az ügyfelek, akik még soha nem kölcsönöztek autót? (17inaktiv.sql)

  18. 18. Melyek azok az autók, amelyeket többször kölcsönöztek ki, mint az átlagos kölcsönzési szám autónként? (18nepszeru.sql)

  19. 19. Mennyi az átlagos kölcsönzési darabszám ügyfelenként? (Egy számot adj meg eredményül) (19atlagdb.sql)

  20. 20. Keresd meg azokat az ügyfél-párokat, akik ugyanabban a városban laknak! (Az egyik ügyfél neve, a másik ügyfél neve, város) (20szomszed.sql)