adatbázis

Vásárlási nyilvántartás tervezése

Adatbázis

Access – táblák létrehozása

Ebben a feladatban most fordítva készítünk el egy táblát, ami jobban hasonlít a valósághoz. Az igény van meg, kell egy nyilvántartás a webshop vásárlóiról, ehhez keresünk adatokat és hozunk létre kapcsolatokat 1 NF-3NF-ig. 

1NF – Első normál forma

Adatok: Vevőkód (kulcs), vevőnév, irányítószám, megye, település, utca

Első normál formában van, az adatok táblázatos szerkezetűek és atomiak. Minden mező egy értéket tartalmaz. 

 A vevőre így az elképzelt táblánk: 

vevő 1NF

2NF – Második normál forma

  • A vevőkód meghatározza az összes adatot.
  • Probléma: az irányítószám tranzitív függőségben van a megye és település adatokkal.
  • Megoldás: Külön táblába helyezzük az irányítószámot, megyét és települést.

3NF – Harmadik normál forma

A tranzitív függőségek megszüntetése után a vevőkód közvetlenül meghatározza az összes adatot a vevő táblában.

Vevő tábla:
Mező neve Adattípus Leírás
Vevőkód Rövid szöveg Egyedi azonosító (kulcs).
Vevőnév Rövid szöveg A vevő teljes neve.
Irányítószám Rövid szöveg Kapcsolat a régió táblával.
Vevőcím Rövid szöveg Számlázási cím.

Régió tábla:

 

Mező neve Adattípus Leírás
Irányítószám Rövid szöveg Egyedi azonosító (kulcs).
Település Rövid szöveg Város vagy község neve.
Megye Rövid szöveg Az adott régió megyéje.

 Áruk adatai: Árukód (kulcs), árunév, bruttó ár, kategórianév

Az árucikkeket is 1NF formára kell hozni, nem lehet pl egy sorban több termék. 

árutábla 1NF-ben

2NF – Második normál forma
A kategórianév tranzitív függőségben van az árukóddal. A kategórianév meghatározható lenne egy új kategóriatáblából.
Megoldás: a kategóriákat külön táblába helyezzük.

3NF – Harmadik normál forma
A tranzitív függőségek megszüntetése után minden attribútum közvetlenül függ az árukódtól

Áru tábla:
Mező neve Adattípus Leírás
Árukód Rövid szöveg Egyedi azonosító (kulcs).
Árunév Rövid szöveg Az áru megnevezése.
Bruttó ár Szám Az áru ára.
Kategóriakód Rövid szöveg Kapcsolat a kategória táblával.
Kategória tábla:
Mező neve Adattípus Leírás
Kategóriakód Rövid szöveg Egyedi azonosító (kulcs).
Kategórianév Rövid szöveg A kategória neve.

Számla és kapcsolódó adatok
Számlaszám (kulcs) vevőkód, vásárlás dátuma

1NF – Első normál forma
Az adatok táblázatos szerkezetőek és atomi értékűek

2NF – Második normál forma
A vevőkód közvetlenül meghatározza a vevők adatait, tehát nincs részletes függőség

3NF – Harmadik normál forma
Az összes adat közvetlenül függ a számlaszámtól, nincs tranzitív függőség

 

Számla tábla:
Mező neve Adattípus Leírás
Számlaszám Számláló Egyedi azonosító (kulcs).
Vevőkód Rövid szöveg Kapcsolat a vevő táblával.
Vásárlás dátuma Dátum/idő A vásárlás időpontja.
Számlarészletező tábla:
Mező neve Adattípus Leírás
Számlaszám Számláló Kapcsolat a számla táblával.
Árukód Rövid szöveg Kapcsolat az áru táblával.
Vásárolt mennyiség Szám

Az adott termék darabszáma.

A számlarészletező táblában szükség lesz összetett kulcsra. Az összetett kulcs olyan táblákban fordul elő, amelyek más táblák közti kapcsolatokat kezelnek. A számlarészletező táblában a számlaszám és az árukód kombinációja azonosítja az egyes sorokat. Ez a tábla rögzíti a számlán szereplő termékeket és azok mennyiségét. Egy számlán többféle termék is szerepelhet és egy termék több számlához is tartozhat. Ez az összetett kulcs biztosítja az egyedi azonosítást. 

Táblázat szerkezete:

Mező neve Adattípus Leírás
Számlaszám Számláló A számlát azonosítja (idegen kulcs).
Árukód Rövid szöveg A terméket azonosítja (idegen kulcs).
Vásárolt mennyiség Szám Az adott termék darabszáma.

Kapcsolatok az adatbázisban

Kapcsolat Kapcsolat típusa Kulcsok
Vevő → Régió Egy-a-többhöz Irányítószám
Számla → Vevő Egy-a-többhöz Vevőkód
Számla → Számla részletező Egy-a-többhöz Számlaszám
Számla részletező → Áru Egy-a-többhöz Árukód
Áru → Kategória Egy-a-többhöz Kategóriakód

Érdekességek a táblázatok szerkesztésénél Accessben:

Irányítószám: 
Tehetem rövid szöveg adattípusba, mert nem fogok vele számolni
Mezőméret: 4, mert az irányítószám 4 karakteres
Beviteli mező: 0000, mert ilyen formában várom a megjelenítését
Érvényességi szabály: >=1000
Érvényesítási szöveg: Nem megfelelő adatforma (ezt írja ki, ha az irányítószámot rossz formában adom meg)

irányítószám bevitele Accessbe

Ha eladókkal dolgozok, akik jutalékot kapnak pl egy meghatározott eladás után, ide a vevőtáblázatba felvihetem őket is. Létrehozhatok egy listát, melyből ki lehet válaszani az adott eladót. Ezt az adatot Keresés varázslóval hozom létre:

Keresésvarázsló

Egy mappában létre lehet hozni (akár több oszlopban is) az adatokat:

Keresésvarázsló kitöltése

Tovább gombbal véglegesíthetjük az eladók listáját, így ha nézetet váltunk, akkor egy legördülő mezőből kiválaszthatjuk az eladókat a táblázat kitöltésénél. 

A számlarészletezőnél összetett kulcsot adunk meg. Itt mind a két mezőt ki kell jelölnünk, az indexelés pedig igen (lehet azonos).

összetett kulcs megadása

Végül állítsuk be Accessben a kapcsolatokat: 


kapcsolatok vásárlási nyilvántartás