Skip navigation

2. példa

Taxis adatbázis

Készítsünk egy taxis adatbázist! Az adatbázisban szeretnénk eltárolni a sofőröket nevükkel, születési dátumukkal, lakcímükkel, valamint gépkocsijaikkal, amelynek típusát, rendszámát, és a műszaki vizsgálat érvényességét tartják nyilván. Minden sofőrnek egy gépkocsija van. A taxitársaság több tarifakategóriát határoz meg, amelyek egyedi elnevezés mellett a kilométerenkénti egységárakat tartalmazzák. A társaság nyilvántartja a törzsutasokat, akiknek törzsutaskártyát ad, és ők kedvezményes tarifával utazhatnak. A törzsutasokról csupán a törzsutas számot, a nevet, és születési évet tárolják. Nyilvántartják továbbá az egyes fuvarokat is, hogy melyik sofőr, mikor, honnan, hová szállított utast, és milyen tarifakategóriát állított be az útjuk során. A viteldíjat is eltárolhatjuk egy fuvarhoz, így könnyebb lesz az elszámolást elkészíteni. (Megjegyezzük, hogy a viteldíj az út hosszától és a beállított tarifa egységárától függ. Ha nem tárolnánk el a viteldíjat, akkor az a későbbiekben is kiszámolható.) Az gyakorlatban amikor egy taxis több törzsutast visz, akkor csak az egyik diktálja be a törzsutas számát. Ezt figyelembe vesszük az adatbázis tervezésénél.

Tehát az eltárolandó adatok:

  • A sofőrről eltároljuk a 
    • nevét,
    • a születési dátumát,
    • a lakcímét.
  • A gépkocsiról eltároljuk a 
    • rendszámot,
    • a gépkocsi típusát,
    • a műszaki lejárati dátumát.
  •  A tarifa kategóriákról eltároljuk a 
    • megnevezését és az
    • egységárát.
  • Az utasok kaphatnak törzsutas kártyát, tehát ezzel kapcsolatban el kell tárolni a 
    • törzsutasszámot,
    • a nevet és
    • a születési évet.
  • A fuvarról eltároljuk, hogy
    • mikor indult,
    • honnan indult,
    • hova ment,
    • hány kim-t tett meg, 
    • mennyi volt a viteldíj.

Határozzuk meg az egyedeket! A sofőrök biztosan egyedek lesznek. A gépkocsik is önálló egyedek lesznek. A tarifatípusok is külön egyedet alkotnak, mivel jellemzőikkel egyértelműen beazonosíthatók az egyes kategóriák. A törzsutasok is egyedek lesznek, mivel adataikkal egyértelműen meghatározhatók. Magát a fuvart is lehetne egyedként kezelni, de saját attribútumaival (mikor, honnan, hová, mennyiért) nehéz azonosítani, hiszen akár több kocsi is szállíthatja az utasokat ugyanakkor ugyanazon az útvonalon. Ily módon a fuvar vagy kapcsolatként vagy pedig gyenge egyedként lesz feltüntetve az E-K diagramban.

Határozzuk meg a kapcsolatokat! A sofőrök és a gépkocsik között felfedezhető egy kapcsolat. Jellegét tekintve a leírás alapján 1:1 típusú lesz. A sofőröket, a (törzs)utasokat, és a viteldíjak egységárát a fuvar köti össze. Válasszuk a második megoldást, mert a további elemzés és tervezés szempontjából nehéz kezelni a többágú kapcsolatokat. Mivel a fuvar gyenge egyed lesz, ezért őt össze kell kötni azokkal az egyedekkel, amelyekkel viszonyban áll, és ezen kapcsolatok közül legalább egynek meghatározó kapcsolatnak kell lennie. (Gyenge egyedhez mindig tartozik legalább egy meghatározó kapcsolat.) A fuvart, mint gyenge egyedet a kapcsolódó egyedek közül leginkább a sofőr határozza meg.

Egy lehetséges logikai modell a következő: