3.11. Feladatok

  1. Tekintse a hallgatók tanulmányi eredményeinek nyilvántartására használt EGYETEM adatbázis követelményeinek alábbi listáját! Ez hasonló az 1.2. ábrán látható adatbázishoz, de nem azonos azzal.

    1. Az egyetem nyilvántartja a hallgatók nevét, Neptun-kódját, személyi számát, tartózkodási helyét, állandó lakcímét, telefonszámát, születési dátumát, nemét, évfolyamát (1-től 5-ig), szakját, szakirányát (ha van) és képzési szintjét (BSc, MSc, PhD). Egyes felhasználói alkalmazásoknak szükségük van a hallgató állandó lakcíméből az irányítószámra, a megyére és a városra, valamint a hallgató vezetéknevére. Minden egyes hallgatóhoz egyedi személyi szám és Neptun-kód tartozik.

    2. Egy kart a neve, a kódja, a dékáni hivatalának az iroda- és telefonszáma, valamint az intézménye (amihez tartozik) jellemez. Minden egyes kar egyedi névvel és kóddal rendelkezik.

    3. A tantárgyak névvel, leírással, tantárgykóddal, félévenkénti óraszámmal, szinttel és egy őket hirdető tanszékkel rendelkeznek. Minden tartárgy tantárgykódja egyedi.

    4. Minden kurzushoz tartozik egy oktató, egy félév, egy tanév, egy tantárgy és egy kurzuskód. A kurzuskód külünbözteti meg egy tantárgy ugyanazon félévben/tanévben tartott kurzusait; értékei 1, 2, 3, … lehetnek, az egyes félévekben tartott kurzusok számával bezárólag.

    5. A vizsgaeredmény azt mondja meg, hogy egy hallgató egy kurzust milyen érdemjeggyel teljesített (1-től 5-ig).

    Tervezzen meg egy ER sémát ehhez az alkalmazáshoz, és rajzolja meg a sémához tartozó ER diagramot! Adja meg az összes egyedtípus kulcs attribútumait, és a kapcsolattípusok strukturális megszorításait! Jegyezze fel a nem specikifált követelményeket, és adja meg a megfelelő feltételezéseket, hogy a specifikáció teljes legyen!

  2. Az összetett és többértékű attribútumokat tetszőleges szintig egymásba ágyazhatjuk. Tegyük fel, hogy a HALLGATÓ egyedtípushoz szeretnénk egy olyan attribútumot tervezni, amely a korábbi felsőfokú tanulmányait tartja nyilván! Egy ilyen attribútum minden korábban látogatott felsőoktatási intézményhez tartalmaz egy bejegyzést, és minden bejegyzés az intézmény nevéből, egy kezdő és egy befejező dátumból, diploma bejegyzésekből (az adott intézmény által kibocsátott diplomákról, ha vannak) és tantárgy bejegyzésekből (az adott inzézményben teljesített tantárgyakról) áll. Az egyes diploma bejegyzések a diploma nevét, illetve a diploma kiadásának évét és hónapját tartalmazzák, míg a tantárgy bejegyzések egy tantárgynévből, egy tanévből, egy félévből és egy jegyből állnak. Tervezzen egy attribútumot, amely mindezeket az információkat tárolja! Használja a 3.5. ábrán látható jelöléseket!

  3. Készítsen egy alternatív tervet a 3.2 feladatban leírt attribútumhoz úgy, hogy csak egyedtípusokat (beleértve a gyenge egyedtípusokat is, ha szükségesek) és kapcsolattípusokat használ!

  4. Tekintse a 3.19. ábrán látható ER diagramot, amely egy légitársaság helyfoglalási rendszerének egy egyszerűsített sémáját ábrázolja! Gyűjtse össze az ER diagramból azokat a követelményeket és megszorításokat, amelyek ezt a sémát eredményezték! Próbáljon meg a lehető legprecízebb lenni a követelmények és megszorítások specifikálásakor!

    3.19. ábra - ER diagram a REPÜLŐGÉP-MENETREND adatbázissémához.

    ER diagram a REPÜLŐGÉP-MENETREND adatbázissémához.

  5. Az 1. és 2. fejezetben az adatbázis környezetéről és az adatbázis felhasználóiról tárgyaltunk. Egy ilyen környezet leírásához sok egyedtípust használhatunk fel, mint például a DBMS, a tárolt adatbázis, a DBA és a katalógus/adatszótár. Próbálja meg megadni az összes olyan egyedtípust, amelyek teljesen leírnak egy adatbázisrendszert és a környezetét; majd adja meg a közöttük lévő kapcsolattípusokat, és rajzolja fel azt az ER diagramot, amely egy ilyen általános adatbázis-környezetet ír le!

  6. Tervezzen egy ER sémát az Egyesült Államok képviselőházában az aktuális kétéves kongresszusi ciklusban leadott szavazatokat leíró információk nyilvántartására. Az adatbázisnak tárolnia kell az összes amerikai ÁLLAM Nevét (pl. 'Texas', 'New York', 'Kalifornia'), és tartalmaznia kell az adott állam Régióját (amelynek tartománya {'Északkelet', 'Középnyugat', 'Délkelet', 'Délnyugat', 'Nyugat'}). A képviselőház minden KÉPVISELŐ-jét a Nevével, az általa képviselt Körzettel, a Kezdő_dátummal, amikor a képviselőt először megválasztották, valamint azzal a politikai Párttal írjuk le, amelyikhez tartozik (ennek tartománya {'republikánus', 'demokrata', 'független', 'egyéb'}). Az adatbázis nyilvántartja az összes ELŐTERJESZTÉS-t (azaz benyújtott törvényjavaslatot), beleértve az Előterjesztés_címét, az előterjesztés Szavazási_dátumát, hogy az előterjesztés Átment_vagy_megbukott (ennek tartománya {'igen', 'nem'}) és a Szponzort (azokat a képviselőket, akik szponzorálták — azaz támogatták — az előterjesztést). Az adatbázis nyilvántartja azt is, hogy hogyan szavaztak az egyes képviselők az egyes előterjesztésekre (a Szavazat attribútum tartománya {'igen', 'nem', 'tartózkodás', 'távollét'}). Rajzoljon fel egy ER sémna diagramot ehhez az alkalmazáshoz! Írja fel világosan az esetlegesen megfogalmazódó feltételezéseit!

  7. Egy olyan adatbázist készítünk, amely egy sportliga csapatait és mérkőzéseit tartja nyilván. A csapatok néhány játékossal rendelkeznek, akik közül nem mindenki vesz részt minden mérközésen. Nyilván kell tartanunk, hogy az egyes csapatokból az egyes mérkőzéseken mely játékosok vettek részt, milyen pozícióban játszottak a meccsen, és hogy mi lett a mérkőzés végeredménye. Tervezzen egy ER séma diagramot ehhez az alkalmazáshoz, és írja le az esetlegesen megfogalmazódó feltételezéseit! Válassza ki a kedvenc sportágát (pl. futball, vízilabda, kézilabda, jégkorong)!

  8. Tekintse a BANK adatbázis egy részének a 3.20. ábrán látható ER diagramját! Minden banknak több bankfiókja lehet, és minden bankfiók több számlát és kölcsönt kezelhet.

    3.20. ábra - ER diagram a BANK adatbázissémához.

    ER diagram a BANK adatbázissémához.

    1. Sorolja fel az ER diagramon látható (nem gyenge) egyedtípusokat!

    2. Van gyenge egyedtípus? Ha igen, adja meg a nevét, a részleges kulcsát és az azonosító kapcsolattípusát!

    3. Milyen megszorításokat definiál az ábrán látható gyenge egyedtípus részleges kulcsa és azonosító kapcsolattípusa?

    4. Sorolja fel a kapcsolattípusok neveit, és határozza meg az egyes kapcsolattípusokban részt vevő egyedtípusok (min, max) megszorításait! Igazolja állításait!

    5. Sorolja fel tömören azokat a felhasználói követelményeket, amelyek ehhez az ER sématervhez vezettek!

    6. Tegyük fel, hogy minden ügyfélnek legalább egy számlával kell rendelkeznie, de egy időben legfeljebb csak két kölcsöne lehet, illetve hogy egy bankfiók nem kezelhet 1000-nél több kölcsönt! Hogyan mutatkoznak meg ezek a előírások a (min, max) megszorításokban?

  9. Tekintsük a 3.21. ábrán látható ER diagramot! Tegyük fel, hogy egy dolgozó legfeljebb két osztályon dolgozhat, vagy egyetlenegy osztályhoz sem tartozik! Tegyük fel, hogy minden osztály legalább egy és legfeljebb három telefonszámmal rendelkezik! Adja meg a (min, max) megszorításokat a diagramon! Írja fel világosan az esetlegesen megfogalmazódó további feltételezéseit! Milyen feltételek mellett lenne a TELEFONJA kapcsolat redundáns ebben a példában?

    3.21. ábra - A VÁLLALAT adatbázis ER diagramjának egy részlete.

    A VÁLLALAT adatbázis ER diagramjának egy részlete.

  10. Tekintsük a 3.22. ábrán látható ER diagramot! Tegyük fel, hogy egy tantárgyhoz tartozhat is ajánlott irodalom, meg nem is, de az irodalom definíció szerint olyan könyv, amely valamely tantárgyhoz tartozik! Egy tantárgyhoz nem tartozhat ötnél több könyv. Az oktatók legalább kettő és legfeljebb négy tantárgyat oktatnak. Adja meg a (min, max) megszorításokat a diagramon! Írja fel világosan az esetlegesen megfogalmazódó további feltételezéseit! Ha felveszünk egy FELHASZNÁL kapcsolatot az OKTATÓ és az IRODALOM közé, milyen (min, max) megszorításokat írna mellé? Miért?

    3.22. ábra - A TANTÁRGYAK adatbázis ER diagramjának egy részlete.

    A TANTÁRGYAK adatbázis ER diagramjának egy részlete.

  11. Tekintsünk egy KURZUS egyedtípust az EGYETEM adatbázisban, amely a tantárgyak kurzushirdetéseit írja le! A KURZUS attribútumai a Kurzuskód, a Tanév, a Félév, a Tantárgykód, az Oktató, az Épület (ahol a kurzust tartják), a Tanterem (ahol a kurzust tartják), a Napok (amelynek a tartománya a hét napjainak a lehetséges kombinációi, amikor a kurzust tarthatják: {'HSzP', 'HSz', 'KCs' stb.}) és az Órák (amelynek tartománya az összes lehetséges időintervallum, amikor a kurzust tarthatják: {9:00–10:00, 10:00–11:00, …, 15:30–17:00, 17:30–18:30 stb.}). Tételezzük fel, hogy a Kurzuskód minden kurzusnál egyedi egy konkrét tanév/félév kombináció esetén (azaz ha egy tantárgyat egy adott félévben többször is meghirdetnek, akkor a kurzusait 1-től kezdődően sorszámozzuk (1, 2, 3 stb.)! A kurzusnak számos összetett kulcsa van, és bizonyos attribútumok egynél több kulcsban is szerepelnek. Azonosítson be három összetett kulcsot, és mutassa meg, hogyan reprezentálhatjuk őket egy ER séma diagramon!

  12. A számosságok gyakran megszabják egy adatbázis részletes tervezésének a folyamatát. A számosság a kérdéses egyedtípusok valós világbeli jelentésétől függ, és a konkrét alkalmazás definiálja. Javasoljon számosságokat az alábbi bináris kapcsolatokhoz az egyedtípusok hétköznapi jelentése alapján! Írja fel világosan az esetlegesen megfogalmazódó feltételezéseit!

     Egyik egyedSzámosságMásik egyed
    1.HALLGATÓ SZEMÉLYI_IGAZOLVÁNY
    2.HALLGATÓ OKTATÓ
    3.TANTEREM FAL
    4.ORSZÁG AKTUÁLIS_ELNÖK
    5.TANTÁRGY IRODALOM
    6.TÉTEL (amely egy rendelésen található) RENDELÉS
    7.HALLGATÓ ÉVFOLYAM
    8.ÉVFOLYAM OKTATÓ
    9.OKTATÓ IRODA
    10.EBAY_ÁRVERÉSI_TÉTEL EBAY_LICIT
  13. Tekintse a FILMEK adatbázis 3.23. ábrán látható ER sémáját! Tegyük fel, hogy a FILMEK egy feltöltött adatbázis! A színész egy általános kifejezés, amelybe a színésznőket is beleértjük. Az ER sémán látható megszorításokat figyelembe véve válaszoljon az alábbi állításokra az igaz, hamis vagy talán szavak valamelyikével. Azon állításokra adjon talán választ, amelyekről bár explicit módon nem látható, hogy igazak, de a séma alapján azt sem lehet bebizonyítani róluk, hogy hamisak. Igazolja minden válaszát!

    1. Nincs olyan színész az adatbázisban, aki egyetlen filmben sem szerepel.

    2. Van néhány olyan színész, aki tíznél több filmben játszik.

    3. Egyes színészek több filmben is főszerepet játszanak.

    4. Egy filmnek legfeljebb két főszereplője lehet.

    5. Minden rendező szerepel színészként valamelyik filmben.

    6. Egyik producer sem színész.

    7. Egy producer nem lehet színész egy másik filmben.

    8. Vannak olyan filmek, amelyekben több mint egy tucat színész szerepel.

    9. Egyes producerek rendezők is.

    10. A legtöbb filmnek egy rendezője és egy producere van.

    11. Egyes filmeknek egy rendezője, de több producere van.

    12. Vannak olyan színészek, akik főszerepet játszanak egy filmben, rendezői egy filmnek, valamint producerei valamely filmnek.

    13. Egyik film rendezője sem szerepel színészként abban a filmben.

    3.23. ábra - ER diagram a FILMEK adatbázissémához.

    ER diagram a FILMEK adatbázissémához.

  14. A FILMEK adatbázis 3.23. ábrán látható ER sémája mellé rajzoljon fel egy példánydiagramot három nemrég vetített filmmel! Rajzoljon példányokat az összes egyedtípushoz: legyenek benne filmek, színészek, producerek és rendezők; a kapcsolatok példányait úgy hozza létre, ahogyan az adott filmek esetén a valóságban léteznek!

  15. Rajzolja fel a 3.1 feladat UML diagramját! Az UML tervnek az alábbi követelményeknek kell megfelelnie:

    1. A hallgatóknak képesnek kell lenniük kiszámítani a tanulmányi átlagukat, illetve felvenni vagy leadni főszakokat és minorokat.

    2. A tanszékeknek képesnek kell lenniük új tantárgyakat felvenni és létezőeket törölni, valamint új oktatót felvenni és meglévőt elbocsátani.

    3. Az oktatóknak képesnek kell lenniük egy hallgatónak egy adott tantárgyból szerzett jegyét felvinni és módosítani.

    Megjegyzés: A felsorolt tevékenységek közül néhány több osztályt is érinthet.