1. labor: Adatok feltöltése

Vissza a labor főoldalára.

  1. Indítsd el a Ampps-t.
    • Milyen szerverek indultak el?
    • Nyisd meg az Apache és a MySql konfigurációs filejait és tanulmányozd kicsit a tartalmukat.
    • Melyik directoryban keresi a lokális web szerver az alapértelmezett kezdőoldalt?
    • Mi a MySql szerver alapértelmezett jelszava?
    • Az Ampps ablakának felső sorában levő ikonokra rákattintva milyen oldalak jönnek elő?
  2. A fenti directoryban hozz létre egy saját weboldalt tetszőleges (egyszerű) tartalommal (index.html néven).
  3. Indítsd el a MySQL Workbench-et, csatlakozz a lokális MySQL szerverhez (a fenti jelszóval)
    • Hozz létre egy új adatbázis sémát results néven (Figyelem: sémát, ne modellt! Jobb klikk bal alul a Schemas dobozban < Create schema) (Collation: utf8 - utf8_hungarian_ci)
    • Tedd aktívvá a létrehozott adatbázist a további munkához dupla kattintással.
    • Hozz létre egy új táblát students néven. Ennek a attribútumai legyek:
      (Az attribútumok típusait válaszd életszerűen.)
      Segítség: https://dev.mysql.com/doc/refman/5.7/en/data-types.html
      A mothers_name és az entrance_result kivételével egyik se lehessen üres (NULL)
      • neptun (legyen elsődleges kulcs)
      • name
      • birth_date
      • sex (Csak Male ill. Female lehessen az értéke. Lásd. ENUM. Megj.: A stringet mindig szimpla idézőjelbe kell tenni: 'Male' )
      • mothers_name
      • active (Azaz, hogy Aktív, vagy Passzív féléven van-e: ENUM. Alapértelmezetten legyen Aktív.)
      • entrance_result (ez a felvételi pont akar lenni)
    • Írj be néhány sornyi adatot.
    • Hozz létre, egy triggert, ami megakadályozza, hogy a felvételi eredmény attribúrum értékének 500-nál nagyobb értéket adjunk meg a beszúrásnál.
      A megfelelő helyre beszúrandó kód minta:

      if new.entrance_result > 500
      then
      signal sqlstate '45000' set message_text = 'entrance_result must be at most 500';
      end if;
    • Hozz létre egy triggert, ami ugyanezt a korlátozást teszi update esetén is.
    • Hozz létre, egy triggert, ami megakadályozza, hogy a születési dátum jövőbeli dátum legyen beszúrás és update esetén is. (Tipp: curdate() https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html)
    • Mi történik, ha a sex attribútum értékét pl. férfi-re? akarjuk állítani? Oldd meg a problémát valahogy!
    • Hozz létre egy events nevű táblát.
      Ennek a attribútumai legyek:
      (Az attribútumok típusait válaszd életszerűen.)
      • idevents (ez legyen az elsődleges kulcs, értéke automatikusan generálódjon, növekvően: Auto Increment)
      • neptun
      • event (lehetséges értékei: ZH1, ZH2, PZH1,PZH2)
      • points
    • Fontos, hogy az events táblába, csak létező hallgatók eredményeit lehessen beírni. Ezért az events táblában add meg a megfelelő Foreign Key-t.
    • Írj be néhány sornyi adatot az events táblába is. Mi történik, ha nem létező neptunt írsz?
    • A MySQL Workbench Modellerben készítsük el a results adatbázis EK modelljét. (Home, Models, Kis nyil, Create EER Modell from Database, ...), értelmezd a kapott ábrát.