Egy egyetemi kollégiumban a diákok egy része ösztöndíjas, akiket azzal is támogatnak, hogy egy bizonyos kvóta erejéig ingyenes fénymásolási lehetőséget biztosítanak számukra a könyvtárban. A kvótát kartól függően állapítják meg és a másolt oldalakra vonatkozik, tehát egy lapon a kétoldalas nyomtatás két egységnek számít. A hallgatók a másolandó oldalakat a nap folyamán bármikor leadhatják, de csak aznap és pontosan 20 órakor vehetik át. A megoldás során felhasználhatja, hogy az adatbázis a 2012/2013-as tanév adatait tartalmazza.
kar (id, nev, kvota) | ||
id | A kar azonosítója (szám), ez a kulcs | |
nev | A kar nevének rövidítése (szöveg) | |
kvota | Az adott kari hallgatók kvótája (szám) | |
hallgato (id, nev, osztondijas, karid) | ||
id | A hallgató azonosítója (szám), ez a kulcs | |
nev | A hallgató neve (szöveg) – a feladat megoldása során feltételezheti, hogy nincs két azonos nevű hallgató | |
osztondijas | Megadja, hogy a hallgató ösztöndíjas-e (logikai) | |
karid | A hallgató karának azonosítója (szám) | |
masolas (id, hallgatoid, datum, lap, oldal) | ||
id | A másolás azonosítója (szám), ez a kulcs | |
hallgatoid | A másolást kérő hallgató azonosítója (szám) | |
datum | A másolás dátuma (dátum) | |
lap | A másolás során felhasznált lapok száma (szám) | |
oldal | Megadja, hogy a másolás egy vagy kétoldalas volt (szám) |
A következő feladatok megoldásánál a lekérdezéseket a zárójelben olvasható néven mentse! Ügyeljen arra, hogy a megoldásban pontosan a kívánt mezők szerepeljenek!
SELECT hallgato.nev, kar.kvota-[8eddig].osszesen AS maradt FROM hallgato, kar, 8eddig WHERE kar.id=hallgato.karid AND hallgato.id=[8eddig].hallgatoid AND [8eddig].osszesen<=kar.kvota;