1. labor: Adatok feltöltése
- 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ő?
-
A fenti directoryban hozz létre egy saját weboldalt tetszőleges
(egyszerű) tartalommal (index.html néven).
- 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.