Kéktúra - Adatbázis-kezelés (50 pont)

A Kéktúra adatbázis, Az Országos Kéktúra 27 főszakaszáról, a főszakaszok alszakaszairól, az alszakaszok pontjairól és pontokon található bélyegzőhelyekről fog információkat tartalmazni. Az adatokat a foszakasz.txt, alszakasz.txt, pont.txt és belyegzohely.txt állományok tartalmazzák. Az állományok tabulátorral tagolt, UTF-8 kódolású szövegfájlok, az első sor tartalmazza a mezőneveket.

  1. Készíts kektura néven egy adatbázist!
  2. Importáld az adattáblákat az adatbázisba foszakasz, alszakasz, pont, belyegzohely néven!
    • A létrehozás során állítsd be a megfelelő típusokat és kulcsokat!
    • A táblákban ne szerepeljenek felesleges mezők!

Táblák:

foszakasz (id, táv, emelkedés, süllyedés, tájegység)
     id                         A főszakasz egyedi azonosítója (számláló) kulcs
     táv                       A főszakasz hossza km-ben (szám)
     emelkedés         A főszakasz szint emelkedése méterben (szám)
     süllyedés            A főszakasz szint süllyedése méterben (szám)
     tájegység            A tájegység, amelyen a főszakasz áthalad (szöveg)

alszakasz (id, fő_id, tól)
     id                         Az alszakasz egyedi azonosítója (számláló) kulcs
     fő_id                    A főszakasz azonosítója, amelyhez az alszakasz tartozik (szám)
     tól                        A pont azonosítója, ahol az alszakasz kezdődik (szám)

pont (id, név)
     id                         A pont egyedi azonosítója (számláló) kulcs
     név                      A pont neve (szöveg)

belyegzohely (id, pont_id, megnevezés, leírás, felirat, szélesség, hosszúság, cím, elérhetőség)
     id                         A bélyegzőhely egyedi azonosítója (számláló) kulcs
     pont_id               A pont azonosítója, amihez a bélyegzőhely tartozik (szám)
     megnevezés      A bélyegzőhely megnevezése (szöveg)
     leírás                   A bélyegzőhely megtalálásának leírása (szöveg)
     felirat                  A bélyegző felirata (szöveg)
     szélesség            A bélyegzőhely szélességi foka (szám) – nem kötelező
     hosszúság          A bélyegzőhely hosszúsági foka (szám) – nem kötelező
     cím                      A bélyegzőhely címe, ha van (szöveg) – nem kötelező
     elérhetőség        A bélyegzőhely elérhető-e bármikor, vagy nyitvatartáshoz kötött (logikai)
                                  ha bármikor elérhető, akkor az érték igaz

A táblák közötti kapcsolatokat mutatja az alábbi ábra:


Készíts lekérdezéseket és jelentést!

A következő feladatok megoldásánál a lekérdezéseket és jelentést a zárójelben olvasható néven mentsd el! Ügyelj arra, hogy a lekérdezésben pontosan a kívánt mezők szerepeljenek, felesleges mezőt ne jeleníts meg!

  1. Készíts lekérdezést azokról a bélyegzőhelyekről, amelyeknek van címe! A főszakasz azonosítóját, a pont nevét, a bélyegzőhely megnevezését és címét jelenítsd meg, bélyegzőhely azonosító szerint növekvő sorrendbe rendezve! (1cimes)
  2. Mely szakaszok ajánlhatók kisgyermekes családok számára? Készíts listát, ahol a 20 km-nél rövidebb szakaszok adatai szerepelnek! Jelenítsd meg a főszakasz azonosítóját, a tájegységet, a távot, a szakasz szintjeit (emelkedés és süllyedés), és az alszakaszok számát! (2csaladi)
  3. Az adatbázisban nem mindenhol van megadva a bélyegzőpontok szélességi és hosszúsági foka. Ahol tudjuk a koordinátákat, ott határozzuk meg a 3 legdélebbi bélyegzőpontot! A lekérdezésben a pont nevét, a bélyegzőhely megnevezését és koordinátáit jelenítsd meg! (3legdelebbi)
  4. Készíts lekérdezést, ahol a nyitvatartással rendelkező (nem bármikor elérhető) bélyegzőhelyek közül azokat listázod ki, amelyek megnevezésében szerepel a bolt vagy az üzlet szó!
    Az eredményben szerepeljen a pont neve, a bélyegzőhely megnevezése és címe! (4boltok)
  5. Mely főszakaszok és pontok találhatóak még ugyanazon a tájegységen, ahol Vállus pont főszakasza is? A főszakaszokat és a hozzájuk tartozó pontok megnevezését jelenítsd csak meg!  (5vallus)
  6. A kéktúra pontjait sorban egymás után látták el azonosítóval, ami azt jelenti, hogy egy alszakasz a kiinduló ponttól a következő (+1) azonosítóval ellátott pontig tart! Jelenítsd meg az összes alszakaszt az azonosítója szerint növekvő sorrendbe rendezve, a kezdő- és végpont megnevezésével együtt! (6tolig)
  7. A kéktúra főszakaszait (azonosítóját) is jelenítsd meg a kezdő- és végpontok megnevezésével! (7foszakaszok)
  8. Készíts jelentést (lekérdezés alapján) csak az egész évben bármikor elérhető bélyegzőhelyekről! Jelenítsd meg a főszakasz azonosítóját, a pont azonosítóját és nevét, a bélyegzőhely megnevezését és leírását! Csoportosítsd az adatokat főszakasz azonosító, pont azonosító és pont név szerint!
    A formázást a minta alapján végezd! A szükséges képet belyegzohely.jpg néven találod meg! (8elerhető)

Minta: