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 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 RKF (regkód, kfejezetkód) kdoctipus (kód, név) 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