Feladat: I.218 Korcsoport: - Nehézségi fok: -
Füzet: 2009/szeptember, 359 - 361. oldal  PDF  |  MathML 
Témakör(ök): Feladat

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

Az informatikában jártas felhasználók, a fórumok és blogok mellett, igen hatékonyan használják a levelezési listákat is. A nyílt listák minden beérkező levelet továbbítanak, a zárt listák viszont csak a listatagok leveleit.
Az alábbi adatbázis egy listaszerver által kezelt listákat, azok forgalmát és tagságát tartalmazza. (Az adatbázis által tárolt adatok kitaláltak.)
1. Készítsünk új adatbázist levlista néven. A mellékelt négy adattáblát (lista.txt, szemely.txt, tagsag.txt, log.txt) importáljuk az adatbázisba a fájlnévvel azonos lista, szemely, tagsag és log táblanéven. Az állományok tabulátorral tagolt, UTF-8 kódolású szövegfájlok, az első sorok a mezőneveket tartalmazzák. A létrehozás során minden táblában állítsuk be a megfelelő típusokat, és jelöljük meg a kulcsnak alkalmas mezőt. A log táblához adjunk hozzá az néven egyedi azonosítót.
Táblák
lista (nev, admin, zart)
nevA lista neve (szöveg), ez a kulcs.adminA lista adminisztrátorának e-mail címe (szöveg).zartHa a lista zárt, akkor arra csak a listatagok leveleittovábbítja (logikai).  
szemely (nev, email)
emailA személy e-mail címe (szöveg), ez a kulcs.nevA személy neve (szöveg), megadása nem kötelező.  
tagsag (az, email, listanev, felirido, leirido)
azA tagság azonosítója (szám), ez a kulcs.emailA listatagot azonosító e-mail cím (szöveg).listanevA listát azonosító listanév (szöveg).feliridoA listatag ekkor iratkozott fel a listára (dátum). Ettől azidőponttól a személy zárt listára küldött leveleit a szerverkipostázza.leiridoA listatag ekkor iratkozott le a listáról (dátum). Ha mégnem iratkozott le, a mező üres. Zárt lista esetén atagságukat megszüntetett személyek levelet a szerver nempostázza ki.  
log (az, listanev, felado, ido)
azA logfájl-bejegyzés azonosítója (számláló), ez a kulcs.listanevA listaszerverre érkező levél címzettje (szöveg).feladoA levél feladójának e-mail címe (szöveg).idoa levél érkezési ideje (dátum).  

 
 

A következő feladatok megoldásánál a lekérdezéseket és a jelentést a zárójelben olvasható néven mentsük. Ügyeljünk arra, hogy a megoldásban pontosan az előírt oszlopok szerepeljenek, felesleges adatokat ne jelenítsünk meg.
2. Készítsünk lekérdezést, amely ábécérendben jeleníti meg a tel.hu-s címmel rendelkező személyek nevét (2tel).
3. Készítsünk jelentést, amely adminisztrátoronként csoportosítva sorolja fel a levelezési listákat. Az adminisztrátor e-mail címe mellett jelenjen meg a kezelt listák száma (3admin).
4. Készítsünk lekérdezést, amely listánként megadja, hogy a listaszerverre hány zárt listára címzett levél érkezett 2007-ben (4zart2007).
5. Készítsünk lekérdezést, amely megadja, hogy melyik listán indult meg utoljára a forgalom. Adjuk meg a lista nevét és az első levél érkezési idejét (5utolso).
6. Készítsünk lekérdezést, amely megadja, hogy jelenleg mely listák tagjaihoz juttathatja el leveleit az a.and@suli.eu e-mail című személy (6and).
7. Készítsünk lekérdezést, amely megadja azokat a listákat, amelyeknek 2008. január 1-jén 0 órakor 40 főnél több tagja volt (7tagszam).
8. Készítsünk lekérdezést, amely kilistázza a matek listáról kiküldött leveleket. Jelenítsük meg a feladó e-mail címét és a levél érkezési idejét. A megjelenítés sorrendjét a levél érkezési ideje szabja meg (8matek).
Beküldendő az adatbázis (i218.odb, i218.mdb) valamint egy rövid dokumentáció (i218.txt, i218.pdf), amelyből kiderül az alkalmazott adatbázis-kezelő neve, verziószáma egy i218.zip tömörített állományban.