Minta ZH
A ZH jelenléti oktatás esetében lesz ilyen, egyéb esetben online tesztkérdések lesznek.
Az itt bemutatott ZH nehéz, ettől nehezebb ZH nem lehet, könnyebb előfordulhat, de ehhez hasonlóan 5 feladat lesz, SQL lekérdezésekkel az utolsó kérdésben.
1. Mit értünk dekompozíció alatt? (5p)
2. Mutassa ba az SQL sorbarendezési műveletét! (8p)
3. Mutassa be az adatbázis anomáliákat! (10p)
4. Adjon példát, mikor használhatjuk a flexibilis tábla tervezési mintát, mutassa be az eredményét. (15p)
5. Adott a következő adatstruktúra:
measurement(mid: AutoNumber, sid: egész, value: tizedestört, date: dátum)
sensor(sid: AutoNumber, name: szöveg, type: szöveg, x: tizedestört, y: tizedestört)
Adja meg SQL segítségével (vagy relációs algebrával) a következő lekérdezéseket (4x3p):
a. Hány mérést végeztek az 1-es azonosítójú szenzorral?
b. Listázza ABC sorrendben a szenzorokat!
c. Mennyi a "Nyúlásmérő bélyeg 1" szenzorral történt mérések maximuma?
d. Mutassa meg mikor volt a különböző szenzorok által végzett mérések átlaga maximális!
Az itt bemutatott ZH nehéz, ettől nehezebb ZH nem lehet, könnyebb előfordulhat, de ehhez hasonlóan 5 feladat lesz, SQL lekérdezésekkel az utolsó kérdésben.
SQL megoldások:
a. SELECT COUNT(*) FROM measurement;
b. SELECT name FROM sensor ORDER BY name;
c. SELECT MAX(measurement.value) FROM sensor NATURAL JOIN measurement WHERE sensor.name='Nyúlásmérő bélyeg 1';
d/1. SELECT sid, DAY(date), AVG(value) FROM measurement GROUP BY sid, DAY(date) ORDER BY AVG(value) DESC LIMIT 1;
d/2. SELECT sensor.name, DAY(measurement.date), AVG(measurement.value) FROM measurement NATURAL JOIN sensor GROUP BY sensor.name, DAY(measurement.date) ORDER BY AVG(measurement.value) DESC LIMIT 1;
d/3. SELECT measurement.value,sensor.name FROM (SELECT sensor.sid, AVG(measurement.value) AS v FROM sensor NATURAL JOIN measurement GROUP BY sensor.sid) AS avg INNER JOIN measurement ON avg.v=measurement.value AND avg.sid=measurement.sid ORDER BY measurement.value DESC LIMIT 1;
Relációs algebra megoldások (nem kell megadni, de talán segít a megértésben):
a. πCOUNT(*)(σsid=1(measurement))
b. τname(sensor)
c. πMAX(measurement.value)(σsensor.name='Nyúlásmérő bélyeg 1'(sensor⋈measurement)) vagy γMAX(measurement.value),sensor.name(σsensor.name='Nyúlásmérő bélyeg 1'(sensor⋈measurement))
d. τAVG(value),date(γdate, AVG(value)(measurement))
Az itt bemutatott ZH nehéz, ettől nehezebb ZH nem lehet, könnyebb előfordulhat, de ehhez hasonlóan 5 feladat lesz, SQL lekérdezésekkel az utolsó kérdésben.
1. Mit értünk dekompozíció alatt? (5p)
2. Mutassa ba az SQL sorbarendezési műveletét! (8p)
3. Mutassa be az adatbázis anomáliákat! (10p)
4. Adjon példát, mikor használhatjuk a flexibilis tábla tervezési mintát, mutassa be az eredményét. (15p)
5. Adott a következő adatstruktúra:
measurement(mid: AutoNumber, sid: egész, value: tizedestört, date: dátum)
sensor(sid: AutoNumber, name: szöveg, type: szöveg, x: tizedestört, y: tizedestört)
Adja meg SQL segítségével (vagy relációs algebrával) a következő lekérdezéseket (4x3p):
a. Hány mérést végeztek az 1-es azonosítójú szenzorral?
b. Listázza ABC sorrendben a szenzorokat!
c. Mennyi a "Nyúlásmérő bélyeg 1" szenzorral történt mérések maximuma?
d. Mutassa meg mikor volt a különböző szenzorok által végzett mérések átlaga maximális!
Az itt bemutatott ZH nehéz, ettől nehezebb ZH nem lehet, könnyebb előfordulhat, de ehhez hasonlóan 5 feladat lesz, SQL lekérdezésekkel az utolsó kérdésben.
SQL megoldások:
a. SELECT COUNT(*) FROM measurement;
b. SELECT name FROM sensor ORDER BY name;
c. SELECT MAX(measurement.value) FROM sensor NATURAL JOIN measurement WHERE sensor.name='Nyúlásmérő bélyeg 1';
d/1. SELECT sid, DAY(date), AVG(value) FROM measurement GROUP BY sid, DAY(date) ORDER BY AVG(value) DESC LIMIT 1;
d/2. SELECT sensor.name, DAY(measurement.date), AVG(measurement.value) FROM measurement NATURAL JOIN sensor GROUP BY sensor.name, DAY(measurement.date) ORDER BY AVG(measurement.value) DESC LIMIT 1;
d/3. SELECT measurement.value,sensor.name FROM (SELECT sensor.sid, AVG(measurement.value) AS v FROM sensor NATURAL JOIN measurement GROUP BY sensor.sid) AS avg INNER JOIN measurement ON avg.v=measurement.value AND avg.sid=measurement.sid ORDER BY measurement.value DESC LIMIT 1;
Relációs algebra megoldások (nem kell megadni, de talán segít a megértésben):
a. πCOUNT(*)(σsid=1(measurement))
b. τname(sensor)
c. πMAX(measurement.value)(σsensor.name='Nyúlásmérő bélyeg 1'(sensor⋈measurement)) vagy γMAX(measurement.value),sensor.name(σsensor.name='Nyúlásmérő bélyeg 1'(sensor⋈measurement))
d. τAVG(value),date(γdate, AVG(value)(measurement))