Adatbázisok - EK modellezés gyakorlat

A VIK Wikiből

Az aktuális tematika és feladatsor elérhető a tárgyhonlapon.

Feladatok

1. Filmeket, azok rendezőit, színészeit, forgatókönyvíróit kívánjuk tárolni. A filmekről tároljuk a hosszukat, megjelenésük dátumát, a megtekintésükhöz ajánlott minimális életkort és a címüket. A cím egyértelműen azonosítja a filmet. A rendezőkről, színészekről és forgatókönyvírókról tároljuk a nevüket, címüket, személyi és telefonszámukat. A személyi szám egyértelműen azonosítja a személyeket.

a. Tervezze meg a feladatnak megfelelő EK-modellt!

  • Egyedhalmazok:
    • FILM (cím, hossz, megjelenés, korhatár)
    • SZEMÉLY (név, cím, személyi-szám, telefon-szám)
  • Kapcsolatok:
    • Szerepel: FILM(n), SZEMÉLY(n)
    • Rendez: FILM(n), SZEMÉLY(n)
    • Forgatókönyvet-ír: FILM(n), SZEMÉLY(n)

b. Az EK modellben tárolni szeretnénk az egyes színészeknek megfelelő szereplők nevét (feltesszük, hogy egy színész csak egy szerepet alakíthat egy filmben). Ennek megfelelően bővítse a diagramot!

  • Szerepel: FILM(n), SZEMÉLY(n) + (szerep) attribútum

c. A filmekről tárolni szeretnénk, hogy krimi esetén kik játsszák az áldozatokat, természetfilmeknél pedig azt, hogy milyen országokban forgatták őket.

  • Egyedhalmazok:
    • KRIMI ()
    • TERMÉSZETFILM ()
    • ORSZÁG (név)
  • Kapcsolatok:
    • isa: FILM, KRIMI
    • isa: FILM, TERMÉSZETFILM
    • Forgat: TERMÉSZETFILM(n), ORSZÁG(n)
    • Áldozat: KRIMI(n), SZEMÉLY(n) (vagy Szerepel: KRIMI, SZEMÉLY (szerep, áldozat-e))

-- csacsiga - 2008.12.03.

2. Iskolákat, azokon belüli osztályokat valamint tanárokat és diákokat tartunk nyilván. Az iskolákról tároljuk a nevüket, címüket, igazgatóik kilétét. Az osztályokról tároljuk létszámukat, nevüket osztályfőnökük valamint tanulóik kilétét. A tanárokról tároljuk, hogy melyik osztályokat tanítják, mit tanítanak. Minden emberről továbbá tárojuk a személyes adatokat (név, lakcím, szem_szám, születési időpont)

a. Tervezze meg az EK modelleket, válassza meg a kulcsokat!

  • Egyedhalmazok:
    • ISKOLA (név, cím)
    • OSZTÁLY (név, létszám)
    • SZEMÉLY (név, lakcím, szemszám, szül-dátum)
    • TÁRGY (név)
  • Kapcsolatok:
    • Igazgató: ISKOLA(1), SZEMÉLY(1)
    • Része: OSZTÁLY(n), ISKOLA(1) - sőt, az iskola létezése nélkül az osztály sem létezik
    • Osztályfőnök: OSZTÁLY(1), SZEMÉLY(1)
    • Tanul: OSZTÁLY(1), SZEMÉLY(n)
    • Tanít: OSZTÁLY(n), SZEMÉLY(n), TÁRGY(n)

Megj.: így azt tároljuk, hogy melyik osztályban ki milyen tárgyat tanít. Származtathatunk egy TANÁR osztályt a SZEMÉLY-ből, és két relációra bontani a Tanít kapcsolatot: OSZTÁLY és TANÁR ill. TANÁR és TÁRGY között; ekkor ismerjük, hogy melyik tanár mit tanít, és hogy melyik osztályban, de nem tudjuk, hogy az egyes osztályoknak mit tanít.

b. Az EK-diagramban tárolja a munkaviszonyok, hallgatói jogviszonyok kezdetét is.

  • Jogviszony: ISKOLA(1), SZEMÉLY(n) (kezdet)

-- csacsiga - 2008.12.03.

3. Egy lízing szerződés kapcsán a kereskedő átadja a kocsit az ügyfélnek, a kocsit a bank fizeti ki a kereskdőnek és az ügyfél pedig a banknak törleszt. Milyen módokon lehet ábrázolni EK-diagrammal, melyiknek mi az előnye és a hátránya?

Gondolkodtató feladatok

1. Az alábbiak közül melyek jelennek meg az EK-modellben és melyek az általa modellezett világban (az EK-modellben milyen formában)?

  • a. egyed
  • b. egyedhalmaz
  • c. kapcsolat
  • d. kapcsolattípus
  • e. attribútum
  • f. attribútumtípus

2. Hozzon egy-egy példát arra, hogy a "pénzt" mint attribútumot, illetve mint egyedet tároljuk.

3. Lehetséges-e? Mondjunk rá példát! Hogyan jelöljük az EK-diagrammon?

  • a. Két egyedhalmaz között több kapcsolathalmazt veszünk fel.
  • b. Egy-egy kapcsolatból több fut egyedek között.
  • c. Egyedhalmaz önmagával van kapcsolatban.

Gyakorló feladatok

1. Hogyan alakítható át egy ternális kapcsolatot tartalmazó ER diagram ekvivalensen csak bináris kapcsolatot tartalmazó ER diagrammá?

2. Egy menza havi menüit szeretnénk tárolni egy adatbázhisban. A menü minden nap egy levest, egy főételt és egy édességet tartalmaz. Egy étel többször is előfordulhat az adott hónapban, de tudjuk, hogy egy adott leves-főétel kombinációhoz csak egy édesség illik. Minden ételnek tárolni szeretnénk a nevét, az energiatartalmát, és hogy melyik hozzávalóbül mennyi kell az elkészítéséhez.

  • Készítsen ER diagramot az adatbázishoz!*

3. Adott a következő laikus leírás:

  • Egy paciensnek számos betegsége is lehet, vannak betegségek, amiben pillanatnyilag senki sem szenved. Minden pacienst egyetlen mentőállomáson kezelnek, akár több orvos is. Az orvoskoknak több paciensük is lehet, akik különböző mentőállomásokon is fekhetnek. Egy mentőállomást lehet akár üres is, és mindig pontosan egy kórházhoz tartozik. Egy kórháznnak esetleg több mentőállomása és több orvosa is van. Egy orvost legfeljebb 3 kórház alkalmaz. A kórházhat mindig egy olyan igazgató vezeti, aki a kórház orvosa is, közgazdászdiplomával is rendelkezik és más kórházzal nincs munkaviszonya.*

Készítsen a fentiekről egyed-kapcsolati (ER) diagramot! A tanult szintaktikával tüntesse fel pontosan a kapcsolatok funkcionalitását is! Azonosítsa az egyedeket célszerűen megválasztott attribútumokkal, határozza mega kulcsokat!

4. Adott a következő laikus leírás:

  • Egy Kórház számos osztályból áll, mindegyiknek van egy osztályvezető főorvosa és akárhány főorvosa. Ha nincs osztályvezető főorvos, akkor van megbízott osztáylvezető. Ők valamiennyien a kórház - orvosdiplomával is rendelkező - alkalmazottai, másik kórházban nincs állásuk. Egy kórházhnak ezen kivül még számos más dolgozója is van: orvosok, nővérek, segédszemélyzet. Az orvosok és a nővérek mindig egy meghatározott osztályon dolgoznak, míg a segédszemélyzet közvetlenül a kórházhoz is tartozhat. Minden alkalmazottnak van kódszáma, de az orvosoknak nyilvántartják a kamarai tagsági számukat is. A kórházat mindig egy olyan igazgató vezeti, aki a kórház ovosa is, közgazdászdiplomával is rendelkezik és más kórházzal nincs munkaviszonya. Egy beteg - ha bekerül a kórházba - számos osztályt is megjárhat, amíg meggyógyul, és eközben számos betegséggel kezelhetik.*

Készítsen a fentiekről egyed-kapcsolat (ER) diagramot! A tanult szintaktikával tüntesse fel pontosan a kapcsolat funkionalitását is! Azonosítsa az egyedeket célszerűen megválasztott attribútumokkal, aláhúzással jelölje meg a kulcsokat!

-- G - 2008.11.06.