Számlázási rendszer megtervezése Földes Ádám
A számlázási rendszer megtervezéséhez relációs adatbázist javasolt használni. A gyakorlatban majd az Access nevű relációs adatbázis-kezelővel hozzuk létre és kezeljük az adatbázist.
Relációs adatbázis: Relációs adatmodellre épülő adatbázis. Az adatokat adattáblákban tárolja, az adattáblák közt kapcsolatok vannak. A relációs adatbázis legfontosabb jellemzői: Táblázatokban ábrázolja az adatokat. Egy sor-oszlop találkozásnál (cella) csak egyetlen elemi adat szerepelhet. Egy oszlopban csak azonos típusú adatok lehetnek. Egy adattáblában nem lehet két azonos nevű oszlop (egyedi mezőnevek). Oszlopok és sorok sorrendje lényegtelen. A táblák közötti relációk kapcsolómezőkön át valósíthatók meg.
A relációs adatbázis gyakorlati tervezési lépései: Követelményelemzés; Modellezés; Normalizálás; Táblák meghatározása; Táblák szerkezetének kialakítása; Kulcsok kijelölése a táblákban; Indexek kijelölése; Táblák közötti kapcsolatok kialakítása; Táblák közötti kapcsolatok optimalizálása; Tesztelés; Táblák feltöltése; Dokumentálás.
Követelményelemzés: Felmérjük, hogy mit vár a felhasználó az adatbázistól: Milyen bemenő adatok állnak rendelkezésre?; Milyen kimenő adatokra van szükség?; Milyen adatmennyiséggel, rekordszámmal kell számolnunk?; Milyen gyakran kerül sor bővítésre, módisításra, törlésre?; Milyen típusú és mennyi lekérdezésre, jelentésre lesz szükség?; Feltétlenül figyelembe kell venni a várható bővítéseket!
Modellezés: Normalizálás: Az E-T-K (Egyed-Tulajdonság-Kapcsolat) modellel meghatározzuk az adatbázis egyedtípusait, tulajdonságtípusait, illetve az egyedek közötti kapcsolatokat. Normalizálás: A megfelelő normalizálási eljárás segítségével rendezetté tesszük az adatbázist, megpróbáljuk kiszűrni a redundanciát, illetve a bővítési-, módosítási-, törlési anomáliákat. A jól működő adatbázis érdekében legalább a 3. normálformáig el kell jutni.
Redundancia Redundancia az információelméletben az információ vagy üzenet átvitelnél használt bitek számának és az aktuális információ vagy üzenet bitjei számának a különbsége. Az adattömörítés egy lehetséges mód a nem kívánt redundancia csökkentésére, a különféle ellenőrzőösszegek pedig hibajavítás céljából növelik a redundanciát, ha az átvitel egy zajos csatornán folyik, ahol a zaj csökkenti az átviteli kapacitást.
Táblák szerkezetének kialakítása Táblák meghatározása Létrehozzuk a szükséges számú, megfelelően azonosított táblákat. Táblák szerkezetének kialakítása A szükséges mezők létrehozása A mezők tulajdonságainak beállítása: Mezőnév: A mezőnév max. 64 karakter lehet. Adattípus: Lehet szöveg,szám,Dátum/idő,Feljegyzés,Logikai, Objektum, Számláló Mezőméret: A szövegmező mérete (max. 255 karakter), vagy a szám adattípusa adható meg. Szám típusok: Bájt (0-255), Egész (+/-32768), Hosszú Egész (+/- 2 milliárd), Egyszeres (+/- 1038), Dupla (+/- 10308). Egyéb tulajdonságok
Kulcsok kijelölése a táblákban: Elsődleges kulcs (Primary Key): az adattába olyan mezője, mely egyértelműen azonosítja az adattábla rekordjait (általános esetben az első oszlop). Ebben a mezőben nem lehet két különböző adat és null értéke sem . Értéke nem változik. Elsődleges kulcs kijelölése: Olyan kulcs, amelyet – a lehetséges kulcsok (kulcsjelöltek) közül – ténylegesen felhasználtunk a sorok azonosítására. A relációs adatbázisban szereplő tábláknak célszerű rendelkezniük elsődleges kulccsal. Idegen kulcs kijelölése: Olyan kulcs, amely egy másik táblában elsődleges kulcs. Itt az aktuális táblában nem elsődleges kulcsként, hanem kapcsolómezőként szerepel, vagyis a táblák közötti kapcsolatok kialakítására szolgál.
Indexek kijelölése Az indexek logikailag egy rendezett listaként foghatóak fel. Fizikailag a rendezett sorrendet indextáblába rendezett mutatók biztosítják. Az indexeléssel történő rendezés tehát nem jár a rekordok tényleges, fizikai rendezésével. A táblákban tárolt információk visszakeresését az indexek nagymértékben meggyorsíthatják. A fentiek miatt a tervezés során nagy hangsúlyt kell fektetni a helyes indexek kiválasztására. Szem előtt kell azonban tartani azt is, hogy az indexek számának növelésével az adatok beviteléhez illetve módosításához szükséges idő – az indexek frissítése miatt –megnövekszik.
Táblák közötti kapcsolatok kialakítása: Az adatbázis-kezelőkben a táblák között az adatok integritásának megőrzés céljából különféle kapcsolattípusokat definiálhatunk. A táblák közti kapcsolatok az egyedek egymáshoz való viszonyát jelölik. A táblák közötti kapcsolatot háromféle lehet: Egy-egy (1:1) kapcsolat: Az egyik tábla egy rekordjához a másik tábla pontosan egy rekordja kapcsolódik. Például: az érvényes személyi számok és a magyar állampolgárok közötti kapcsolat. Egy-több (1:N) kapcsolat: Az egyik tábla egy rekordjához a másik tábla több rekordja is tartozhat. Például: a magyarországi megyék és városok közötti viszony. Több-több (N:M) kapcsolat: Bármely tábla rekordjaihoz a másik tábla tetszőleges számú rekordja tartozhat. Például: az autók és a színek kapcsolata
Táblák közötti kapcsolatok optimalizálása Hivatkozási integritás megőrzésének beállítása; Kapcsolt mezők kaszkádolt frissítésének beállítása Kapcsolt mezők kaszkádolt törlésének beállítása Illesztési típus beállítása. Tesztelés: Ha a táblák és a kapcsolatok rendben vannak, akkor célszerű kevész számú rekorddal letesztelni az adatbázis működését, funkcióit. Táblák feltöltése: Ha a teszt rendben lefut, feltölthetjük a táblát éles adatokkal. Dokumentálás: A dokumentálás a fejlesztés minden fázisában, folyamatosan történjen.
Kapcsolatok
A számítógéppel kiállított számla A számla, egyszerűsített számla és nyugta adóigazgatási azonosításáról, valamint a nyugta adását biztosító pénztárgép és taxaméter alkalmazásáról szóló PM-rendelet alapján számlát papíralapon és elektronikus úton lehet kibocsátani. A papíralapú számlát, nyomtatványt értékesítőtől vásárolt számlatömbben szereplő bizonylat kézzel vagy nyomdai úton való kitöltésével vagy számítógéppel lehet kiállítani.
Számítógéppel előállított számla az, amelynek szigorú számadás alá vonása megvalósul oly módon, hogy a program (beleértve az alaki hibás, tartalmilag rontott, megsemmisült vagy elveszett számlát is) kihagyás és ismétlés nélkül biztosítja a sorszámozást, és a másolatok alapján a hiánytalan elszámolás biztosított. Ez utóbbi feltétel teljesüléséhez a számla összes példányának egymás utáni nyomtatással történő előállítása esetében a gépi programnak biztosítania kell a példányok sorszámozását, több példányos összeszerelt, előnyomás nélküli számla esetén pedig fel kell tüntetnie azt, hogy a számla hány példányban készült.
Az elektronikus számla A számlák elektronikus úton történő kibocsátásáról és annak alapvető követelményeiről a 2007/CXXVII számú (ÁFA) törvény 175§-a rendelkezik. Számlát elektronikus úton kibocsátani, abban az esetben lehet, ha a számla és az abban foglalt adattartalom sértetlensége és eredetiségének hitelessége biztosított. Az elektronikus úton kibocsátott számlát az elektronikus aláírásról szóló törvény rendelkezései szerinti, fokozott biztonságú elektronikus aláírással és minősített szolgáltató által kibocsátott időbélyegzővel kell ellátni, vagy az elektronikus adatcsere-rendszerben (a továbbiakban: EDI) elektronikus adatként kell létrehozni és továbbítani. Az adóhatóság által elfogadott fájlformátumok: .txt formátum (text fájl), .print fájl formátum az APEH által meghatározott fájlstruktúra szerint .xml fájlformátum Az e-számla kibocsátójának, és befogadójának is rendelkeznie kell a megfelelő technikai feltételekkel. Az elektronikus kiállított számla nyomtatot példánya számla másolatnak minősül.
A számla kötelező adattartalma