Sapientia - Erdélyi Magyar Tudomány Egyetem Csíkszereda
Adatbázis rendszerek tervezése A Ditrói Önkormányzat könyvvitele
Varga Orsolya Könyvelés és gazdálkodási informatika II. év 2014.04.30. 1
Tartalomjegyzék 1.
Ismertetés............................................................................................................................3
2.
Dokumentáció......................................................................................................................3
3.
E/K modell...........................................................................................................................4
4.
Az adatbázis felépítése........................................................................................................4
5.
Táblák elkészítése SQL utasításokkal...................................................................................5
6.
Táblák és tartalmuk..............................................................................................................9 A. kfejezet tábla:...................................................................................................................9 B.
kszamla tábla:...................................................................................................................9
C.
magyarazat tábla:...........................................................................................................10
D. reg_jurnal tábla:.............................................................................................................10 E.
RKF tábla:.......................................................................................................................11
F.
kdoctipus tábla:..............................................................................................................11
G. merleg tábla:..................................................................................................................11 7.
Kapcsolatok........................................................................................................................12
8.
Adatbevitel.........................................................................................................................12
9.
Lekérdezések......................................................................................................................16
10.
Jelentések a lekérdezésekre...........................................................................................22
2
1. Ismertetés A projektem témájául a Gyergyóditrói Önkormányzat könyvvitelét választottam. A projektem elkészítéséhez nagyon sok információt kaptam a Gyergyóditrói Hivataltól, többek között a dokumentációt is. Gyergyóditró Hargita megyében található, a Gyergyói-medence egyik legnagyobb települése. A pontos címe: Ditrói Önkormányzat Szabadság út 9 szám Gyergyóditró Polgármester: Puskás Elemér Alpolgármester: Fazakas Szilárd Főkönyvelő: Köllő Emese
2. Dokumentáció A projektemhez a következő dokumentumokat kaptam a Gyergyóditrói Hivataltól: 1. Balanța Analitică Decembrie 2013 Comuna Ditrău - Analitikus Mérleg 2013 December Ditró 2013 év végi záró mérleg; 2. Registru jurnal: Debitor 610 - Főkönyvi számla: Tartozik 610; 3. Registru jurnal: Debitor 611 - Főkönyvi számla: Tartozik 611; 4. Registru jurnal: Debitor 628 - Főkönyvi számla: Tartozik 628.
3
3. E/K modell
4. Az adatbázis felépítése Az adatbázis összesen 7 táblázatot tartalmaz:
kfejezet kszamla magyarazat reg_jurnal RKF kdoctipus merleg
4
A fent felsorolt táblák a következő attribútumokkal rendelkeznek: o o o o
kfejezet (kód, név) kszamla (szám, név, típus) magyarazat (kód, név) reg_jurnal (kód, tartozik, követel, s, jszám, dátum, doktípus, dokszám, magyarázatkód,
összeg, fejezet, articol, pl, ch, al o RKF (regKód, kfejezetKód) o kdoctipus (kód, név) o mérleg (kszámla, eét, eék, előzőforgt, előzőforgk, haviforgt, haviforgk, összfogt, összforgk, végt, végk)
5. Táblák elkészítése SQL utasításokkal Tkfejezet tábla elkészítése: CREATE TABLE kfejezet( kod VARCHAR(30) PRIMARY KEY, nev VARCHAR(50) );
5
Tkszamla tábla elkészítése: CREATE TABLE kszamla( szam VARCHAR(15) PRIMARY KEY, nev VARCHAR(50), tipus CHAR(1) );
Tmagyarazat elkészítése: CREATE TABLE magyarazat( kod int PRIMARY KEY, nev VARCHAR(50) );
Treg_jurnal elészítése: CREATE TABLE reg_jurnal( kod int PRIMARY KEY, tartozik VARCHAR(15), kovetel VARCHAR(15), s CHAR(1), jszam int, datum DATE, doktipus int, dokszam int, magyarazatkod int, osszeg DOUBLE, fejezet VARCHAR(20), articol VARCHAR(10), pl CHAR(1), 6
ch CHAR(1), al CHAR(1), FOREIGN KEY(tartozik) REFERENCES kszamla(szam), FOREIGN KEY(kovetel) REFERENCES kszamla(szam), FOREIGN KEY(magyarazatkod) REFERENCES magyarazat(kod) );
Trkf elkészítése: CREATE TABLE RKF( regKod int PRIMARY KEY, kfejezetKod VARCHAR(30), FOREIGN KEY(regKod) REFERENCES reg_jurnal(kod), FOREIGN KEY(kfejezetKod) REFERENCES kfejezet(kod) );
Tkdoctipus elkészítése: CREATE TABLE kdoctipus( kod int PRIMARY KEY, nev VARCHAR(30) );
Tmerleg elkészítése: CREATE TABLE merleg( 7
kszamla VARCHAR(15) PRIMARY KEY, eet DOUBLE, eek DOUBLE, elozoforgt DOUBLE, elozoforgk DOUBLE, haviforgt DOUBLE, haviforgk DOUBLE, osszforgt DOUBLE, osszforgk DOUBLE, vegt DOUBLE, vegk DOUBLE, FOREIGN KEY (kszamla) REFERENCES kszamla(szam) );
A reg_jurnal tábla és a kfejezet tábla összekapcsolása: ALTER TABLE reg_jurnal ADD FOREIGN KEY (fejezet) REFERENCES kfejezet(kod);
A reg_jurnal tábla és a kdoctipus tábla összekapcsolása: ALTER TABLE reg_jurnal ADD FOREIGN KEY (doktipus) REFERENCES kdoctipus(kod);
6. Táblák és tartalmuk
8
A. kfejezet tábla:
B. kszamla tábla:
C. magyarazat tábla:
9
D. reg_jurnal tábla:
E. RKF tábla:
10
F. kdoctipus tábla:
G. merleg tábla:
7. Kapcsolatok Az alábbi képen láthatjuk a táblák közötti kapcsolatokat: 11
8. Adatbevitel kfejezet űrlap:
kszamla űrlap:
12
magyarazat űrlap:
reg_jurnal űrlap:
13
RKF űrlap:
kdoctipus űrlap:
14
merleg űrlap:
15
9. Lekérdezések A lekérdezések segítségével könnyem választ kaphatunk olyan kérdésekre, amelyek gondot jelentenek egy tanácsosnak vagy akár a polgármesternek is. Jelen esetben ezek a kérdések tevődnek fel: 1. Mi a neve a 610-es számlának? 2. Mennyi a tartozik havi forgalma a 610-es számlának? 3. Melyek a ráfordítás számlák? 4. Mennyi a havi összes költség (ráfordítás)? 5. Melyek azok a számlasorok, amelyekben pénztári művelet van? 6. Melyek azok a számlasorok, amelyekben jövedelem származik? 7. Összességében mennyi jövedelmünk van? 8. Milyen magyarázat tartozik a 12-es kódhoz? 9. Melyik kód utal a tanács számlaszámára? 10. Melyik dokumentum típus volt 5-nél többet használva? 11. Melyek azok a számlasorok a mérlegből, amelyek ráfordítást jelentenek? 12. Melyik számlának volt egyenlő a havi forgalma? 13. Mennyi az összforgalmi átlag kiadás (ráfordítás)?
1. Mi a neve a 610-es számlának?
SQL kód: SELECT kszamla.nev FROM kszamla WHERE kszamla.szam='610'; 2. Mennyi a tartozik havi forgalma a 610-es számlának?
16
SQL kód: SELECT merleg.haviforgt FROM merleg, kszamla WHERE kszamla.szam=merleg.kszamla AND merleg.kszamla='610'; 3. Melyek a ráfordítás számlák?
SQL kód: SELECT kszamla.szam FROM kszamla WHERE kszamla.tipus='R'; 4. Mennyi a havi összes költség (ráfordítás)?
SQL kód: SELECT SUM(merleg.haviforgt) AS osszhavitraf, SUM(merleg.haviforgk) AS osszhavikraf FROM merleg, kszamla WHERE kszamla.szam=merleg.kszamla AND kszamla.tipus='R'; 5. Melyek azok a számlasorok, amelyekben pénztári művelet van?
17
SQL kód: SELECT * FROM reg_jurnal WHERE reg_jurnal.kovetel='5311.1';
6. Melyek azok a számlasorok, amelyekben jövedelem származik?
SQL kód: SELECT * FROM reg_jurnal WHERE reg_jurnal.kovetel='7702';
7. Összességében mennyi jövedelmünk van? 18
SQL kód: SELECT SUM(reg_jurnal.osszeg) AS osszjovedelem FROM reg_jurnal WHERE reg_jurnal.kovetel='7702'; 8. Milyen magyarázat tartozik a 12-es kódhoz?
SQL kód: SELECT magyarazat.nev FROM magyarazat WHERE magyarazat.kod=12; 9. Melyik kód utal a tanács számlaszámára?
SQL kód: SELECT kfejezet.kod FROM kfejezet WHERE kfejezet.nev='A tanács számlaszáma'; 10. Melyik dokumentum típus volt 5-nél többet használva? 19
SQL kód: SELECT kdoctipus.nev FROM kdoctipus, reg_jurnal WHERE kdoctipus.kod=reg_jurnal.doktipus GROUP BY (kdoctipus.nev) HAVING COUNT(*)>=5;
11. Melyek azok a számlasorok a mérlegből, amelyek ráfordítást jelentenek?
SQL kód: SELECT * FROM merleg, kszamla WHERE merleg.kszamla=kszamla.szam And kszamla.tipus='R';
12. Melyik számlának volt egyenlő a havi forgalma? 20
SQL kód: SELECT kszamla.szam FROM kszamla, merleg WHERE merleg.kszamla=kszamla.szam And merleg.haviforgt=merleg.haviforgk;
13. Mennyi az összforgalmi átlag kiadás (ráfordítás)?
SQL kód: SELECT AVG(merleg.osszforgt) AS osszforgkiadas FROM merleg, kszamla WHERE merleg.kszamla=kszamla.szam;
10.
Jelentések a lekérdezésekre
21
Áttekinthetőbben láthatók az adatok, illetve a lekérdezések eredményei. 1. Mi a neve a 610-es számlának?
2. Mennyi a tartozik havi forgalma a 610-es számlának?
3. Melyek a ráfordítás számlák?
4. Mennyi a havi összes költség (ráfordítás)?
22
5. Melyek azok a számlasorok, amelyekben pénztári művelet van?
6. Melyek azok a számlasorok, amelyekben jövedelem származik?
7. Összességében mennyi jövedelmünk van? 23
8. Milyen magyarázat tartozik a 12-es kódhoz?
9. Melyik kód utal a tanács számlaszámára?
10. Melyik dokumentum típus volt 5-nél többet használva?
24
11. Melyek azok a számlasorok a mérlegből, amelyek ráfordítást jelentenek?
12. Melyik számlának volt egyenlő a havi forgalma?
13. Mennyi az összforgalmi átlag kiadás (ráfordítás)? 25
26