Tartalom
- Bevezetés
- Alapfogalmak
- Adatbázis-kezelő rendszerek funkciói
- Adatmodellek
- Anomáliák az adatbázisban
- Normálformák
- Adatbázisok tervezése
- integritás
Esettanulmany
Vegyszernyilvántartó rendszer:
Egy laboratórium vegyszerkészletnek nyilvántartására készült ez az adatbázis. El kell tárolni a használt vegyszereket. Nyilván kell tartani a bevételezést, a vegyszerek beszerzését, a vegyszerek kiadását. A részletes helyzetelemzést követően a dokumentációkból és a korábbi papíralapú nyilvántartásból meghatározásra kerültek azok a tulajdonságtípusok, amelyek az adatbázis egyedét és az egyedtípusait alkotják. Ezek az információk alkotják a kiindulási alapot. A normálformákat konszolidációs lapon ábrázoljuk. A 3NF-re hozott adatstruktúrát egyedtípus lista és egyedtípus szerkezeti lista segítségével ábrázoljuk Az E-R diagram vizuálisan ábrázolja az egyedtípusok közötti kapcsolatot. Az adatbázis így jól meghatározott. A fizikai struktúrát táblázatok segítségével határozzuk meg. Az adatbázis eseményeket, pedig az egyed esemény mátrix írja le. Az elsődleges cél a jelenlegi papíralapú rendszer számítógépre vitele, ezért a számítógépes nyilvántartás kiinduló adat típusait a jelenlegi vegyszernyilvántartó karton adatai képezik. A nyilvántartásba célszerű bevenni a szállító/gyártó cégre vonatkozó alapvető adatokat, melyeket a szállítólevél tartalmaz. Ezek az adatok képezik majd a program inputjait. A megrendeléssel és felhasználással kapcsolatos egyéb adatok bevétele a raktári nyilvántartásba jelenleg nem szerepel a célok közt. Az alapvető dokumentumokon (szállítólevél, számla, vegyszernyilvántartó karton) a következő, nyilvántartásra számot tartó adatok fordulnak elő: belső nyilvántartási szám, itj szám, nyilvántartott fogyóeszköz jellege, elszámolási mód, főkönyvi számlaszám, megnevezés, minőség, kiszerelés, mennyiségi egység, legkisebb készlet, legnagyobb készlet, elszámoló ár, kelet (beérkezés dátuma) (kiadás dátuma), naplóhivatkozás, bizonylatszám (szállítólevél száma), szöveg (megjegyzés), mennyiség bevétel, mennyiség kiadás, mennyiség készlet, érték bevétel, érték kiadás, érték készlet, gyártó név, ország, város, irányítószám (irszám), utca, házszám, emelet, tel, ügyintéző neve, mobil. A felsorolt tulajdonságok közül a nyilvántartó kartonon jelenleg nem vezetik a legkisebb-legnagyobb készlet rovatot, illetve nem értelmezett a naplóhivatkozás rovat. A készítendő új nyilvántartásban célszerű megtartani a legkisebb készlet tulajdonságot, mivel ez fontos információ lehet a felhasználó részére. A mennyiség és érték készlet adatok származtatott mennyiségek, melyeket a kiindulási adatok közt nem szükséges szerepeltetni. A gyártó azonosítását egyszerűsíti a kód (gyártó azon) bevezetése. A normalizálatlan adathalmaz rendezésének első lépése az ismétlések kiiktatása két relációra bontással (1NF). A forgalmi adatokat tartalmazó reláció összetett kulcsa a nyilvántartási szám és a bizonylatszám lesz. Mivel a bevételi adatok az összetett kulcs (bevételi) bizonylat szám alkotójától részlegesen függenek, a reláció újabb kettébontása következik (2NF). A 3NF létrehozásához a vegyszer adatait tartalmazó relációt a fellelhető tranzitív függések eltávolítására idegen kulcsok kijelölésével (itj szám, gyártó azon, irszám) bontottam tovább. A konszolidáció befejezéseként a kiadási adatokat tartalmazó reláció összetett kulcsot kap a kiadási bizonylatszám bevezetésével.A normalizálás folyamatát a következő szemléltető táblázatban foglaltam össze:
Nem normalizált |
1NF |
2NF |
3NF |
|
nyilvántartási szám |
nyilvántartási szám |
nyilvántartási szám |
nyilvántartási szám |
|
itj szám |
itj szám |
itj szám |
megnevezés |
|
nyilvántartott fogyóeszköz jellege |
nyilvántartott fogyóeszköz jellege |
nyilvántartott fogyóeszköz jellege |
minőség |
|
elszámolási mód |
elszámolási mód |
elszámolási mód |
kiszerelés |
|
főkönyvi számlaszám |
főkönyvi számlaszám |
főkönyvi számlaszám |
mennyiségi egység |
|
megnevezés |
megnevezés |
megnevezés |
legkisebb készlet |
|
minőség |
minőség |
minőség |
elszámoló ár |
|
kiszerelés |
kiszerelés |
kiszerelés |
gyártó azon |
|
mennyiségi egység |
mennyiségi egység |
mennyiségi egység |
itj
szám |
|
legkisebb készlet |
legkisebb készlet |
legkisebb készlet |
|
|
elszámoló ár |
elszámoló ár |
elszámoló ár |
itj szám |
|
gyártó azon |
gyártó azon |
gyártó azon |
nyilvántartott fogyóeszköz jellege |
|
gyártó név |
gyártó név |
gyártó név |
elszámolási mód |
|
ország |
ország |
ország |
főkönyvi számlaszám |
|
város |
város |
város |
|
|
irszám |
irszám |
irszám |
gyártó azon |
|
utca |
utca |
utca |
gyártó név |
|
házszám |
házszám |
házszám |
ország |
|
emelet |
emelet |
emelet |
irszám |
|
tel |
tel |
tel |
utca |
|
ügyintéző neve |
ügyintéző neve |
ügyintéző neve |
házszám |
|
mobil |
mobil |
mobil |
emelet/ajtó |
|
kelet |
|
|
tel/fax |
Nem normalizált |
1NF |
2NF |
3NF |
|
bizonylatszám |
nyilvántartási szám |
nyilvántartási szám |
ügyintéző neve |
|
szöveg (megjegyzés) |
bizonylatszám |
bizonylatszám |
mobil |
|
mennyiség bevétel |
kelet |
kelet |
|
|
mennyiség kiadás |
szöveg (megjegyzés) |
mennyiség bevétel |
irszám |
|
napló hivatkozás |
mennyiség bevétel |
|
város |
|
|
mennyiség kiadás |
nyilvántartási szám |
|
|
|
napló hivatkozás |
kelet |
nyilvántartási szám |
|
|
|
megjegyzés |
bizonylatszám be |
|
|
|
mennyiség kiadás |
kelet |
|
|
|
napló hivatkozás |
mennyiség bevétel |
|
|
|
|
|
|
|
|
|
nyilvántartási szám |
|
|
|
|
bizonylatszám ki |
|
|
|
|
kelet |
|
|
|
|
megjegyzés |
|
|
|
|
mennyiség kiadás |
|
|
|
|
napló hivatkozás |
E-R modell, egyedtípusok meghatározása, egyedtípusok szerkezetének bemutatása
A 3NF relációk alapján meghatározható egyedtípusok és szerkezetük:
|
Lapszám: 1/1 |
Funkció |
|
||
|
Egyedtípus leírása |
Dátum: 2004. 05. 16 |
|||
|
Egyedtípus elnevezés |
Leírás |
Azonosító |
||
|
Vegyszer |
A Laboratóriumi vizsgálatokhoz szükséges kémiai anyag. |
nyilvántartási szám |
||
|
Könyvelés |
A vegyszerek pénzügyi - könyvelési adatainak nyilvántartása. |
itj szám |
||
|
Gyártó |
A vegyszereket szállító (gyártó/kereskedő) cég. |
gyártó azon |
||
|
Település |
A szállítók telephelyének megfelelő települések és a hozzájuk rendelt irányítószámok nyilvántartása. |
irszám |
||
|
Bevétel |
A vegyszer tétel bevételezésével kapcsolatos adatok nyilvántartása. |
nyilvántartási szám |
||
|
Kiadás |
A vegyszer tétel teljes vagy részleges kiadásával kapcsolatos adatok nyilvántartása. |
nyilvántartási szám |
||
|
Lapszám: 1/2 |
Funkció |
Név: |
||
|
Egyedtípus szerkezetének leírása |
Dátum: 2004. 05. 16 |
|||
|
Egyedtípus: Vegyszer |
||||
|
Tulajdonság típus |
Leírás |
Típus |
||
|
nyilvántartási szám |
a vegyszerhez rendelt kódszám |
azonosító |
||
|
megnevezés |
a vegyszer magyar szaknyelvben általánosan használt �ennek hiányában a kémiai nómenklatúra szerinti neve |
leíró |
||
|
minőség |
a vegyszer tisztaságára, töménységére vagy felhasználási területére utaló jellemző |
leíró |
||
|
kiszerelés |
csomagolási egység, mérőszám |
leíró |
||
|
mennyiségi egység |
a kiszereléshez tartozó mértékegység |
leíró |
||
|
legkisebb készlet |
biztonsági tartalék, mérőszám, a kiszerelési egység egész számú többszöröse |
leíró |
||
|
elszámoló ár |
bruttó beszerzési ár (azonos a nyilvántartási árral) [HUF] |
leíró |
||
|
gyártó azon |
a szállító azonosítására bevezetett kódszám |
kapcsoló |
||
|
itj szám[1] |
Ipari termék jegyzékszám |
kapcsoló |
||
|
Lapszám: 2/2 |
Funkció |
Név: |
||
|
Egyedtípus szerkezetének leírása |
Dátum: 2004. 05. 16 |
|||
|
Egyedtípus: Könyvelés |
||||
|
Tulajdonság típus |
Leírás |
Típus |
||
|
itj szám |
Ipari termék jegyzékszám, az ÁFA kulcs meghatározója |
azonosító |
||
|
nyilvántartott fogyóeszköz jellege |
pénzügyi csoport besorolás |
leíró |
||
|
elszámolási mód |
a számla kiegyenlítésének módja |
leíró |
||
|
főkönyvi számlaszám |
a bevételi pénztárbizonylat száma |
leíró |
||
|
Lapszám: 3/2 |
Funkció |
Név: |
||
|
Egyedtípus szerkezetének leírása |
Dátum: 2004. 05. 16 |
|||
|
Egyedtípus: Gyártó |
||||
|
Tulajdonság típus |
Leírás |
Típus |
||
|
gyártó azon |
a gyártó és kirendeltsége azonosítására bevezetett kódszám |
azonosító |
||
|
gyártó név |
a vegyszert szállító (gyártó/kereskedő) cég megnevezése |
leíró |
||
|
ország |
a szállító cég / a kapcsolattartó kirendeltség telephelyének országa |
leíró |
||
|
irszám |
a szállító telephelyének megfelelő város postai irányítószáma |
kapcsoló |
||
|
utca |
út, utca, tér stb. - a szállító postai címének része |
leíró |
||
|
házszám |
a szállító postai címének megfelelő része |
leíró |
||
|
emelet |
a szállító postai címének megfelelő része |
leíró |
||
|
tel |
a szállító vezetékes telefon/telefax száma, számai |
leíró |
||
|
ügyintéző |
a szállító kapcsolattartó megbízottjának neve |
leíró |
||
|
mobil |
a szállító megbízottjának mobiltelefon száma |
leíró |
||
|
Lapszám: 4/2 |
Funkció |
Név: |
||
|
Egyedtípus szerkezetének leírása |
Dátum: 2004. 05. 16 |
|||
|
Egyedtípus: Település |
||||
|
Tulajdonság típus |
Leírás |
Típus |
||
|
irszám |
postai irányítószám |
azonosító |
||
|
város |
város megnevezése |
leíró |
||
|
Lapszám: 5/2 |
Funkció |
Név: |
||
|
Egyedtípus szerkezetének leírása |
Dátum: 2004. 05. 16 |
|||
|
Egyedtípus: Bevétel |
||||
|
Tulajdonság típus |
Leírás |
Típus |
||
|
nyilvántartási szám |
a vegyszerhez rendelt kódszám |
azonosító |
||
|
bizonylatszám be |
szállítólevél száma |
azonosító |
||
|
kelet |
beérkezés dátuma |
leíró |
||
|
mennyiség bevétel |
bevételezett mennyiség, mérőszám, a kiszerelési egység egész számú többszöröse |
leíró |
||
|
Lapszám: 6/2 |
Funkció |
Név: |
||
|
Egyedtípus szerkezetének leírása |
Dátum: 2004. 05. 16 |
|||
|
Egyedtípus: Kiadás |
||||
|
Tulajdonság típus |
Leírás |
Típus |
||
|
nyilvántartási szám |
a vegyszerhez rendelt kódszám |
azonosító |
||
|
bizonylatszám ki |
kiadási bizonylat száma |
azonosító |
||
|
kelet |
kiadás dátuma |
leíró |
||
|
mennyiség kiadás |
kiadott mennyiség, mérőszám, a kiszerelési egység egész számú többszöröse |
leíró |
||
|
napló hivatkozás |
veszélyes hulladék elszállíttatását igazoló jegyzőkönyv iktató száma |
leíró |
||
|
megjegyzés |
a vegyszer kiadásával kapcsolatos opcionális megjegyzések, pl. felhasználási terület, vizsgálati módszer |
leíró |
||
Az egyedtípusok alapján �figyelembe véve, hogy az idegen kulcsok fölérendelt egyedtípust határoznak meg �a 12. ábrán bemutatott E-R modell vezethető le.

A modellt összehasonlítva a 11. ábrán bemutatott logikai adatmodellel a következő megállapítások tehetők:
ˇ A gyártó adatainak normalizálása során szükségessé vált a Település egyedtípus létrehozása.
ˇ A logikai modellen szereplő Dolgozó egyedtípus elhagyható, ha lemondunk a vegyszert felhasználó dolgozók adatainak nyilvántartásáról.
ˇ A kialakított E-R modell megfelelő mértékben egyezik a logikai adatmodellel, és alkalmas a további feldolgozásra.
3.2.3 A logikai szerkezet leképezése fizikai modellre
A logikai modell egyedtípusai képezik a fizikai modellben a táblákat, a tulajdonság típusok a mezőkkel azonosíthatók. Az adatbázis fizikai modelljének kialakításához az MS Access adatbázis kezelő programot alkalmaztam. A fejlécben szereplő rövidítések magyarázata: k �kötelező, i �indexelt
|
Táblanév: Vegyszer |
||||
|
Mezőnév |
Mezőtípus |
Mezőhossz |
k. |
i. |
|
nyilvántartási szám |
szöveg |
20 |
Ö |
Ö |
|
megnevezés |
szöveg |
50 |
Ö |
Ö |
|
minőség |
szöveg |
25 |
Ö |
- |
|
kiszerelés |
szöveg |
25 |
Ö |
- |
|
mennyiségi egység |
szöveg |
10 |
Ö |
- |
|
legkisebb készlet |
szöveg |
10 |
- |
- |
|
elszámoló ár |
pénznem |
15/4 pontosság |
Ö |
- |
|
gyártó azon |
szöveg |
6 |
Ö |
Ö |
|
itj szám |
szám |
dupla |
Ö |
Ö |
|
Táblanév: Könyvelés |
||||
|
Mezőnév |
Mezőtípus |
Mezőhossz |
k. |
i. |
|
itj szám |
szám |
dupla |
Ö |
Ö |
|
fogyóeszköz jellege |
szöveg |
20 |
- |
- |
|
elszámolási mód |
szöveg |
20 |
- |
- |
|
főkönyvi számlaszám |
szöveg |
20 |
- |
Ö |
|
Táblanév: Település |
||||
|
Mezőnév |
Mezőtípus |
Mezőhossz |
k. |
i. |
|
irszám |
szám |
egész |
Ö |
Ö |
|
város |
szöveg |
20 |
Ö |
Ö |
|
Táblanév: Gyártó |
||||
|
Mezőnév |
Mezőtípus |
Mezőhossz |
k. |
i. |
|
gyártó azon |
szöveg |
6 |
Ö |
Ö |
|
gyártó név |
szöveg |
50 |
Ö |
Ö |
|
ország |
szöveg |
20 |
- |
- |
|
irszám |
szám |
egész |
Ö |
Ö |
|
utca |
szöveg |
20 |
- |
- |
|
házszám |
szám |
egész |
- |
- |
|
emelet |
szám |
bájt |
- |
- |
|
tel |
szöveg |
50 |
- |
- |
|
ügyintéző |
szöveg |
50 |
- |
- |
|
mobil |
szöveg |
50 |
- |
- |
|
Táblanév: Bevétel |
||||
|
Mezőnév |
Mezőtípus |
Mezőhossz |
k. |
i. |
|
nyilvántartási szám |
szöveg |
20 |
Ö |
Ö |
|
bizonylatszám be |
szöveg |
20 |
Ö |
Ö |
|
kelet |
dátum/idő |
éééé/hh/nn |
Ö |
Ö |
|
mennyiség bevétel |
szám |
egész |
Ö |
- |
|
Táblanév: Kiadás |
||||
|
Mezőnév |
Mezőtípus |
Mezőhossz |
k. |
i. |
|
nyilvántartási szám |
szöveg |
20 |
Ö |
Ö |
|
bizonylatszám |
szöveg |
13 |
Ö |
Ö |
|
kelet |
dátum/idő |
éééé/hh/nn |
Ö |
Ö |
|
mennyiség kiadás |
szám |
egész |
Ö |
- |
|
napló hivatkozás |
szöveg |
10 |
- |
- |
|
megjegyzés |
szöveg |
50 |
- |
- |
3.2.4 Az adatmodell dinamizmusának bemutatása
A rendszer időbeli viselkedésének szemléltetésére szolgál a 13. ábrán bemutatott egyed �esemény mátrix, mely az egyedtípusok és a logikai AF diagramokról (8-10 ábra) leolvasható folyamatok kapcsolatát modellezi.
A mátrix jelöléseinek jelentése: L: létrehozás; M: módosítás; T: törlés
|
Már nem alkalmazott vegyszerek selejtezése, törlése |
|||||||
|
Lejárt szavatosságú vegyszer tételek selejtezése |
|
||||||
|
Leltár (felhasználás, készlet) |
|
||||||
|
További részlet kiadása |
|
||||||
|
Teljes / rész mennyiség kiadása |
|
||||||
|
Új tétel vásárlása nyilvántartott vegyszerből |
|
||||||
|
Új vegyszer vásárlása |
|
||||||
|
Vegyszer |
L |
|
|
|
|
|
T |
|
Könyvelés |
L |
M |
|
|
|
|
|
|
Gyártó |
L |
|
|
|
|
|
|
|
Település |
L |
|
|
|
|
|
|
|
Bevétel |
L |
M |
|
|
|
|
T |
|
Kiadás |
|
|
L |
M |
|
M |
T |
13. ábra Egyed �esemény mátrix
A mátrixból leolvasható, hogy a Vegyszer egyedet, és vele együtt a Könyvelés, a Gyártó, a Település és a Bevétel egyedeket az első vásárlás hozza létre. Elképzelhető ugyan az adatok nyilvántartásba vétele vásárlás nélkül is, - ez esetben a Vegyszer, Gyártó és Település egyedek létrehozásával járna - de ennek gyakorlati valószínűsége igen kicsi.
A nyilvántartásban már szereplő Vegyszer ismételt vásárlása a Könyvelés és a Bevétel módosítását okozza.
A Kiadás egyed létrejötte és módosítása a vegyszer teljes mennyiségének, vagy részletekben történő kiadásának a következménye. A lejárt érvényességi idejű vegyszerek selejtezése is kiadásnak, azaz a Kiadás módosításának tekinthető.
