2.8.1. Étterem

iDevice ikon

A rendszer nagyvonalú ismertetése:

Az étteremben különféle ételeket és italokat rendelhetünk, amelyeket bizonyos nyersanyagokból, recept szerint készítenek el. A fogyasztás végén számla alapján fizetünk.

Az adatbázis hétköznapi, az ügyvitel egyszerű, mindenki számára elképzelhető.

 
11. ábra

 

 

ANYAG tábla a nyersanyagok törzse; pl. '12345', 'rétesliszt', 120, 'kg'

ÉTLAP tábla az ételek törzse; pl. '122333', 'Vadas marha', 750, 'K'

FAJTA tábla az ételek fajtájának szótára; pl. 'F', 'frissensült'

RECEPT tábla az ÉTLAP és ANYAG kapcsolótáblája, az ételekbe beépülő anyagok mennyiségével; pl. '555556', '54321', 0.25

SZÁMLAFEJ tábla a számlák törzse; pl. '2003/3334', 03.05.23., 4560

SZÁMLATÉTEL tábla az ÉTLAP és SZÁMLAFEJ kapcsolótáblája, a számlákon szereplő ételek mennyiségével; pl. '2003/1224', '444456', 2

A kapcsolatok ügyesen kiolvashatók az ábrából. (Minden nyíl a külső kulcsról mutat az egyedi kulcsra (bekarikázva), azaz a sokból az egybe.) A kapcsolatok nyelvtani megfelelője:

  • egy fajtára több étel is készülhet
  • egy étel több anyagból épülhet fel recept szerint
  • egy anyag több ételbe beépülhet
  • egy számlán több ételt rendelhettek ( itt nem adagot, hanem ételféleséget)
  • egy étel több számlán is szerepelhet

iDevice ikon

Az ügyvitel folyamatainak áttekintése:

Itt "végigzongorázzuk" a folyamatokat (mint pl. étlapkészítés, termékdefiniálás, rendelésfelvétel, számlaadás, forgalomkimutatás stb.), miközben technikai adatokkal toldjuk meg az adatállományainkat.

Ilyenek pl.

  1. az ÉTLAP van logikai mezeje, hiszen ettől függ, mely étel-ital van éppen étlapon.
  2. a SZÁMLAFEJ kifizet logikai mezeje, hiszen ennek állapota utal arra, hogy ki van-e már fizetve a számla.
  • Termékdefiniáláskor például nemcsak az ÉTLAP bővül egy sorral, hanem a RECEPT is akár több sorral, ill. az ANYAG, ha eddig még ilyen nem szerepelt. A FAJTA ugyancsak bővülhet, ha új ételtípust definiálunk.
  • Az étlapkészítés valójában egy lekérdezés, amit segít majd egy szezontól / szakácstól függő beállítás (van-e).
  • Egy rendelés felvétele nem egy funkció, hiszen a rendelést elkezdik, folytathatják és kifizetik. Felvitelkor egy sor születik a SZÁMLAFEJben és legalább egy sor a SZÁMLATÉTELben. A számlaszám generált azonosító, a végösszeg csak a kifizetéskor kerül be. Ha a vendég folytatja a rendelését, akkor meg kell találni a nyitott számlák között az övét, illetve régi tételének módosítását vagy új tétel felvitelét végrehajtani. Ezért legalább a számlák lezárását (kifizetve_e) be kell jegyezni az adatbázisba.
  • A számlaadás valójában egy számla lezárását jelenti: a végösszeg kiszámítását követő sor-módosítást és egy tételes lekérdezés nyomtatását.
  • A forgalomkimutatás valamilyen statisztika lekérése, mindig egy lekérdezés eredményét jeleníti meg. Pl. napi árbevétel, legjobban fogyó ételek, legsikeresebb ételfajták, stb.

Ne felejtsük el, hogy az adatbázis épségének megőrzése a hivatkozási- és adatintegritás betartásával történik (Ilyenek a külső kulcsok értékei vagy a mennyiségek korlátozása nagyobb, mint nullára.). Ezeket minden adatbáziskezelő automatikusan betartja, ha gondoskodunk róla a megszorítások definiálásakor. (Megszorításokat ld. később)