vissza a kezdőlapra

Beiskolázás feladat

A középiskolákba történő jelentkezés során az iskolák határozzák meg, hogy a felvételi rangsort mi alapján döntik el. A Jószakma Szakgimnázium a felvételi során az általános iskolából hozott és a központi felvételin szerzett pontok alapján rangsorolja az iskolába jelentkezőket. A központi felvételit magyar nyelv és irodalom, illetve matematika tantárgyakból írják a jelentkezők. Mindkét tárgy esetén legfeljebb 50 pont szerezhető. A felvételiző hozott pontjait az általános iskolai év végi eredményei alapján számolják, ez a pontszám legfeljebb 50 pont lehet. A hozott pontokat duplázzák. A központi felvételin szerzett és a hozott pontok összege adja a felvételiző összesített pontszámát. A következő feladatban ennek az iskolának a következő évi beiskolázási adatait tartalmazó adatbázisával kell dolgoznia. Az adatbázis a következő táblákat tartalmazza:

Beiskolázás feladat

Az elsődleges kulcsokat PK-val, az idegenkulcsokat FK-val jelöltük.

A feladatok megoldására elkészített SQL parancsokat a megoldasok.sql állományba illessze be a feladatok végén zárójelben jelölt sor alá! A javítás során csak ennek az állománynak a tartalmát értékelik.

Ügyeljen arra, hogy a lekérdezésben pontosan a kívánt mezők a megadott névvel szerepeljenek, és felesleges mezőt ne jelenítsen meg!

1. Hozzon létre a lokális SQL szerveren beiskolazas néven adatbázist! Az adatbázis alapértelmezett rendezési sorrendje a magyar szabályok szerinti legyen! Ha az Ön által választott SQL szervernél nem alapértelmezés az UTF-8 kódolás, akkor azt is állítsa be alapértelmezettnek az adatbázis létrehozásánál! (1. feladat:)

CREATE DATABASE beiskolazas DEFAULT CHARACTER SET utf8 COLLATE utf8_hungarian_ci;

2. A tablak.sql és az adatok.sql állományok tartalmazzák a táblákat létrehozó és az adatokat a táblába beszúró SQL parancsokat! Futtassa elsőként a tablak.sql, majd az adatok.sql parancsfájlt a beiskolazas adatbázisban!

a tablak.sql és az adatok.sql letöltése

3. Állítsa be a következő ábra szerint és a fenti leírás alapján az idegenkulcsokat a jelentkezesek táblában! (3. feladat:)

Az adattáblák közti kapcsolatot az alábbi ábra mutatja:

Beiskolázás feladat kapcsolatok

4. „Nagy Vince” (okt. azon: 0143302) egészségügyi okok miatt a pótnapon írta meg központi felvételijét, aminek a magyar irodalom és nyelv tantárgy pontszámát hibásan rögzítették. Javítsa a diakok táblában a vonatkozó rekordban a kpmagy mező értékét „43”-ra! Megoldásában figyeljen arra, hogy akár azonos nevű diákok is lehetnek a jelentkezők között! (4. feladat:)

UPDATE diakok SET diakok.kpmagy=43 WHERE diakok.oktazon=0143302

5. Készítsen lekérdezést, amely kilistázza azon felvételizők nevét, akik maximális pontszámú központi felvételit írtak mindkét központi felvételi tárgyból, és a hozott pontjuk az általános iskolából legalább 40 pont! A listát a felvételizők neve szerint ábécé rendben jelenítse meg! (5. feladat:)

SELECT diakok.nev FROM diakok WHERE diakok.kpmagy=50 AND diakok.kpmat=50 AND diakok.hozott>=40 ORDER BY diakok.nev

Beiskolázás feladat 5

6. Listázza ki ágazatonként, első helyen a Jószakma Szakgimnázium nyelvi előkészítő osztályába jelentkezők számát! A lekérdezésben jelenítse meg a jelentkezők hozott pontjainak terjedelmét is! (Terjedelem alatt a legtöbb és a legkevesebb hozott ponttal jelentkező pontszámkülönbségét értjük.) A számított mező címkéje „jelentkezoszam” és „terjedelem” legyen! A listát rendezze a jelentkezőszám szerint csökkenő sorrendbe! (6. feladat:)

Beiskolázás feladat 6

SELECT tagozatok.agazat,COUNT(jelentkezesek.diak) AS jelentkezoszam,MAX(diakok.hozott)-MIN(diakok.hozott) AS terjedelem FROM diakok INNER JOIN jelentkezesek ON jelentkezesek.diak=diakok.oktazon INNER JOIN tagozatok ON tagozatok.akod=jelentkezesek.tag WHERE jelentkezesek.hely=1 AND tagozatok.nyek=1 GROUP BY tagozatok.agazat ORDER BY jelentkezoszam DESC

Beiskolázás feladat 6

7. Az iskola szeretné elkészíteni a jelentkezők előzetes rangsorát. Lekérdezéssel listázza ki a felvételizők nevét, a jelentkezésben megjelölt ágazatot, a nyelvi előkészítő jelleget, a jelentkezés sorszámát és a felvételiző összesített pontszámát! A számított mező címkéje „osszpont” legyen! A listát rendezze az agazat mező szerint növekvő sorrendbe, azon belül pedig az osszpont mező szerint csökkenő sorrendbe! Ha a jelentkezők összpontszáma azonos, akkor pedig a hely mező szerint növekvő sorrendben jelenjenek meg a felvételizők adatai! (7. feladat:)

Beiskolázás feladat 7

SELECT diakok.nev,tagozatok.agazat,tagozatok.nyek,jelentkezesek.hely,2*diakok.hozott+diakok.kpmagy+diakok.kpmat AS osszpont FROM diakok INNER JOIN jelentkezesek ON jelentkezesek.diak=diakok.oktazon INNER JOIN tagozatok ON tagozatok.akod=jelentkezesek.tag ORDER BY tagozatok.agazat, osszpont DESC,jelentkezesek.hely

Beiskolázás feladat 7