Jegyz®könyv
Miskolci Egyetem
Adatbázis-rendszerek II. Beadandó feladat
Készítette: Er®s Tamás Mihály (IEDBZO) 3. Évfolyam. Programtervez® Informatikus Szak
Miskolc, 2010
Feladat
A feladat részletezése: 1. Rendszer szemantikai modelljének megalkotása 2. Relációs modell el®állítása 3. Táblák létrehozása, feltöltése 4. Eljárások, függvények, csomagok megtervezése 5. Eljárások, függvények, csomagok implementálása 6. JAVA alkalmazás rövid felhasználói leírását (funkciók leírás, m¶ködése, esetleges képerny®tervek)
2
Tartalomjegyzék
1. Fejleszt®i dokumentáció
5
1.1.
Feladat leírása . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.2.
ER-modell
. . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.3.
Relációs adatmodell . . . . . . . . . . . . . . . . . . . . . .
6
1.4.
Csomagok leírása
7
. . . . . . . . . . . . . . . . . . . . . . .
1.4.1.
pkg_kepregeny - A Kepregeny táblához tartozó csomag
7
1.4.2.
pkg_kiado - A Kiado táblához tartozó csomag
. . .
7
1.4.3.
pkg_szereplo - A Szereplo táblához tartozó csomag .
7
1.4.4.
pkg_szereplok - A Szereplok táblához tartozó csomag
7
1.5.
Triggerek leírása . . . . . . . . . . . . . . . . . . . . . . . .
7
1.6.
JOB leíása
. . . . . . . . . . . . . . . . . . . . . . . . . . .
8
1.7.
A JAVA program paraméterezése . . . . . . . . . . . . . . .
8
1.7.1.
Rekordok paraméterezése direkt DML utasításokkal .
8
1.7.2.
Rekordok törlése direkt DML utasításokkal
. . . . .
8
1.7.3.
Rekordok módosítása direkt DML utasításokkal . . .
8
1.7.4.
Rekordok paraméterezése tárolt eljárással
. . . . . .
9
1.7.5.
Rekordok törlése tárolt eljárással . . . . . . . . . . .
9
1.7.6.
Rekordok módosítása tárolt eljárással
. . . . . . . .
9
1.7.7.
Adatok lekérdezése egyes táblákra
. . . . . . . . . .
9
1.7.8.
NAPLO tábla megtekintése, aktualizálása
1.8.
1.9.
Feladatok megoldása
. . . . . .
10
. . . . . . . . . . . . . . . . . . . . .
10
1.8.1.
Táblák létrehozása
. . . . . . . . . . . . . . . . . .
10
1.8.2.
Csomagok - Kiadó . . . . . . . . . . . . . . . . . . .
10
1.8.3.
Csomagok - Kepregeny
. . . . . . . . . . . . . . . .
12
1.8.4.
Csomagok - Szereplok . . . . . . . . . . . . . . . . .
14
1.8.5.
Csomagok - Szereplo
. . . . . . . . . . . . . . . . .
16
1.8.6.
JOB létrehozása . . . . . . . . . . . . . . . . . . . .
19
JAVA alkalmazás felhasználása
. . . . . . . . . . . . . . . .
1.9.1.
Menüsorban szerepl® f®menüpontok
1.9.2.
"Kiadó tábla" menü elemei
19
. . . . . . . . .
19
. . . . . . . . . . . . . .
20
3
1.9.3.
"Képregény tábla" menü elemei
. . . . . . . . . . .
20
1.9.4.
"Szerepl®k tábla" menü elemei
. . . . . . . . . . . .
20
1.9.5.
"Szerepl® tábla" menü elemei . . . . . . . . . . . . .
20
1.9.6.
"Egyéb m¶veletek" menü elemei
. . . . . . . . . . .
20
1.9.7.
"Modellek" menü elemei
. . . . . . . . . . . . . . .
20
1.9.8.
"Információ" menü elemei . . . . . . . . . . . . . . .
21
1.9.9.
Felhasználás
21
. . . . . . . . . . . . . . . . . . . . . .
4
1. fejezet Fejleszt®i dokumentáció
1.1. Feladat leírása Az adatbázis nyílvántartja, hogy mely képregénykiadóhoz mely képregény tartozik,
valamint
az
adott
kiadó
mely
szerepl®i
szerepelnek
egy-egy
képregényben. A kiadók esetén meg kell adni a kiadó nevét, kódját, és az, hogy hol helyezkedik el a központja. Képregény esetén a megadandó dolgok a képregény neve, ára, kódja, a legels® rész kiadási dátuma, a kiadás gyakorisága hétben, és számított érték ebben az esetben a képregény jelenlegi részének a száma. Szerepl®k esetén meg kell adni, hogy az adott szerepl® él-e még, mi anve és azonosító ja, és hogy jelenleg mely csapatnak a tagja.
5
1.4. Csomagok leírása
1.2. ER-modell
1.3. Relációs adatmodell
6
1.6. JOB leíása
1.4. Csomagok leírása
1.4.1. pkg_kepregeny - A Kepregeny táblához tartozó csomag PROCEDURE felvitel - Egy rekord beszúrása a táblába PROCEDURE torles - Egy rekord törlése a táblából PROCEDURE modosit - Egy rekord módosítása FUNCTION jelenlegi - Kiszámítja, hogy hanyadik rész van épp kiadva legutoljára
1.4.2. pkg_kiado - A Kiado táblához tartozó csomag PROCEDURE felvitel - Egy rekord beszúrása a táblába PROCEDURE torles - Egy rekord törlése a táblából PROCEDURE modosit - Egy rekord módosítása FUNCTION darab - Kiszámítja, hogy hány képregényt adott ki a kiadó eddig
1.4.3. pkg_szereplo - A Szereplo táblához tartozó csomag PROCEDURE felvitel - Egy rekord beszúrása a táblába PROCEDURE torles - Egy rekord törlése a táblából PROCEDURE modosit - Egy rekord módosítása FUNCTION halotttagokszama - Kiírja, hogy egy csapatnak hány halott tagja van eddig
1.4.4. pkg_szereplok - A Szereplok táblához tartozó csomag PROCEDURE felvitel - Egy rekord beszúrása a táblába PROCEDURE torles - Egy rekord törlése a táblából PROCEDURE modosit - Egy rekord módosítása FUNCTION aszsz - Megadja, hogy jelenlegi részben hány szerepl® szerepel
1.5. Triggerek leírása Minden táblához tartozik egy trigger, ami naplózza a hozzá tartozó táblán elvégzett naplóm¶veleteket (DELETE, UPDATE, INSERT) kiado_trigger kepregeny_trigger szereplok_trigger szereplo_trigger
7
1.7. A JAVA program paraméterezése
1.6. JOB leíása A naploz eljárást futtatja naponta egyszer A
naploz
azokat
a
naplóbejegyzéseket,
ahol
a
státuszmez®
értéke
1
(olvasott), 2-re (törlend®re) állítja
1.7. A JAVA program paraméterezése
1.7.1. Rekordok paraméterezése direkt DML utasításokkal 1 2 i tábla_név adatok Példák: 1 2 i "kiado" "EDRFGZ" "DC" "USA" "New York" "Time Square" "66" 1 2 i "kepregeny" "SPMAN" "1988-09-16" "3400" "Superman" "451" "1" "DC" 1 2 i "szereplok" "Superman" "Batman" "341" "false" 1 2 i "szereplo" "Batman" "true" "JLA" "szuperh®s"
1.7.2. Rekordok törlése direkt DML utasításokkal 1 2 d tábla_név kulcs Példák: 1 2 d "kiado" "EDRFGZ" 1 2 d "kepregeny" "SPMAN" 1 2 d "szereplo" "Batman"
1.7.3. Rekordok módosítása direkt DML utasításokkal 1 2 u tábla_név adatok Példák: 1 2 u "kiado" "EDRFGZ" "DC" "USA" "New York" "Time Square" "100" 1 2 u "kepregeny" "SPMAN2" "1988-09-16" "3400" "Superman" "455" "1" "DC" 1 2 u "szereplok" "Superman" "Batman" "341" "true" 1 2 u "szereplo" "Batman" "true" "Outsiders" "szuperh®s"
8
1.7. A JAVA program paraméterezése
1.7.4. Rekordok paraméterezése tárolt eljárással 1 1 i tábla_név adatok Példák: 1 1 i "kiado" "EDRFGZ" "DC" "USA" "New York" "Time Square" "66" 1 1 i "kepregeny" "SPMAN" "1988-09-16" "3400" "Superman" "451" "1" "DC" 1 1 i "szereplok" "Superman" "Batman" "341" "false" 1 1 i "szereplo" "Batman" "true" "JLA" "szuperh®s"
1.7.5. Rekordok törlése tárolt eljárással 1 1 d tábla_név kulcs Példák: 1 1 d "kiado" "EDRFGZ" 1 1 d "kepregeny" "SPMAN" 1 1 d "szereplo" "Batman"
1.7.6. Rekordok módosítása tárolt eljárással 1 1 u tábla_név adatok Példák: 1 1 u "kiado" "EDRFGZ" "DC" "USA" "New York" "Time Square" "100" 1 1 u "kepregeny" "SPMAN2" "1988-09-16" "3400" "Superman" "455" "1" "DC" 1 1 u "szereplok" "Superman" "Batman" "341" "true" 1 1 u "szereplo" "Batman" "true" "Outsiders" "szuperh®s"
1.7.7. Adatok lekérdezése egyes táblákra 2 tábla_név Példák: 2 "kiado" 2 "kepregeny" 2 "szereplok" 2 "szereplo"
9
1.8. Feladatok megoldása
1.7.8. NAPLO tábla megtekintése, aktualizálása 3 naplo 3 akt
1.8. Feladatok megoldása
1.8.1. Táblák létrehozása CREATE TABLE Kiado (Kod char(10) PRIMARY KEY, Nev char(30), Orszag char(30), Varos char(30), Utca char(30), Hazszam number(4));
CREATE TABLE Kepregeny (Kod char(10) PRIMARY KEY, Kiadas date not null, Ar number(10), Nev char(20), Szam number(10), Gyakorisag number(2), Kiado REFERENCES Kiado);
CREATE Szereplo
TABLE
Szereplok
REFERENCES
(Kepregeny
Szereplo,
REFERENCES
Debutalas
Kepregeny,
number(10),
Szerepele
boolean);
CREATE TABLE Szereplo (Azonosito char(10) PRIMARY KEY, Ele boolean, Csoportnev char(20), Csoporttipus char(20));
1.8.2. Csomagok - Kiadó CREATE OR REPLACE PACKAGE pkg_kiado IS PROCEDURE
felvitel
kiado.nev%TYPE,
(kod0
orszag0
kiado.varos%TYPE,
utca0
in in
in
kiado.kod%TYPE,
kiado.orszag%TYPE, kiado.utca%TYPE,
nev0
in
varos0
in
hazszam0
in
kiado.hazszam%TYPE); PROCEDURE torles (kod0 in kiado.kod%TYPE); PROCEDURE
modosit
kiado.nev%TYPE, kiado.varos%TYPE,
orszag0 utca0
(kod0 in in
in
kiado.kod%TYPE,
kiado.orszag%TYPE, kiado.utca%TYPE,
nev0
in
varos0
in
hazszam0
in
kiado.hazszam%TYPE); FUNCTION darab (kod0 in kiado.kod%TYPE) RETURN NUMBER; END pkg_kiado;
CREATE OR REPLACE PACKAGE BODY pkg_kiado IS
PROCEDURE
felvitel
(kod0
in
kiado.kod%TYPE,
nev0
in
10
1.8. Feladatok megoldása
kiado.nev%TYPE,
orszag0
kiado.varos%TYPE,
utca0
in in
kiado.orszag%TYPE, kiado.utca%TYPE,
varos0
in
hazszam0
in
kiado.hazszam%TYPE) IS db number; BEGIN SELECT count(*) INTO db FROM kiado WHERE kiado.kod=kod0; IF (db>0) THEN RAISE_APPLICATION_ERROR(-20001,
'A
beszúrás
nem
végezhet® el! Hiba: Már van ilyen kulcs.'); INSERT INTO Kiado VALUES (kod0, nev0, orszag0, varos0, utca0, hazszam0); END IF; END;
PROCEDURE
torles
(kod0
in
kiado.kod%TYPE)
IS
db
number,
db_kepregeny number; BEGIN SELECT
Count(*)
INTO
db
FROM
kiado
WHERE
kiado.kod=kod0; SELECT count(*) INTO db_kepregeny FROM kepregeny WHERE kepregeny.kiado=kod0; IF (db=0) THEN RAISE_APPLICATION_ERROR(-20002,
'A
törlés
nem
végezhet® el. Hiba: Nincs ilyen kulcs!'); ELSE IF (db_kepregeny>0) THEN RAISE_APPLICATION_ERROR(-20400, 'A törlés nem végezhet® el! Hiba: Küls® kulcs hivatkozik ide a Képregény táblából'); ELSE DELETE FROM kiado WHERE kiado.kod=kod0; END IF; END IF; END;
PROCEDURE
modosit
kiado.nev%TYPE, kiado.varos%TYPE,
(kod0
orszag0 utca0
in in
in
kiado.kod%TYPE,
kiado.orszag%TYPE, kiado.utca%TYPE,
nev0
in
varos0
in
hazszam0
in
kiado.hazszam%TYPE) IS db number; BEGIN
11
1.8. Feladatok megoldása
SELECT
Count(*)
INTO
db
FROM
kiado
WHERE
kiado.kod=kod0; IF (db=0) THEN RAISE_APPLICATION_ERROR(-20002,
'A
törlés
nem
végezhet® el. Hiba: Nincs ilyen kulcs!'); ELSE UPDATE
kiado
kiado.orszag=orszag0,
SET
kiado.kod=kod0,
kiado.varos=varos0,
kiado.nev=nev0, kiado.utca=utca0,
kiado.hazszam=hazszam0 WHERE kiado.kod=kod0; END IF; END;
FUNCTION darab (kod0 in kiado.kod%TYPE) RETURN NUMBER IS db number BEGIN SELECT (*) INTO db WHERE kepregeny.kiado=kod0; RETURN db; END;
END pkg_kiado;
1.8.3. Csomagok - Kepregeny CREATE OR REPLACE PACKAGE pkg_kepregeny IS PROCEDURE in
felvitel
(kod0
kepregeny.kiadas%TYPE,
ar0
in in
kepregeny.kod%TYPE, kepregeny.ar%TYPE,
kiadas0 nev0
in
kepregeny.nev%TYPE, szam0 in kepregeny.szam%TYPE, gyakorisag0 in kepregeny.gyakorisag%TYPE, kiado0 in kepregeny.kiado%TYPE); PROCEDURE torles (kod0 in kepregeny.kod%TYPE); PROCEDURE in
modosit
kepregeny.kiadas%TYPE,
kod0
in
kepregeny.kod%TYPE,
ar0
in
kepregeny.ar%TYPE,
kiadas0 nev0
in
kepregeny.nev%TYPE, szam0 in kepregeny.szam%TYPE, gyakorisag0 in kepregeny.gyakorisag%TYPE, kiado0 in kepregeny.kiado%TYPE); PROCEDURE jelenlegi();
12
1.8. Feladatok megoldása
END pkg_kepregeny;
CREATE OR REPLACE PACKAGE BODY pkg_kepregeny IS
PROCEDURE in
felvitel
(kod0
kepregeny.kiadas%TYPE,
in
ar0
kepregeny.kod%TYPE,
in
kepregeny.ar%TYPE,
kiadas0 nev0
in
kepregeny.nev%TYPE, szam0 in kepregeny.szam%TYPE, gyakorisag0 in kepregeny.gyakorisag%TYPE, kiado0 in kepregeny.kiado%TYPE) IS db number; BEGIN SELECT count(*) INTO db FROM kiado WHERE kiado.kod=kod0; IF (db>0) THEN RAISE_APPLICATION_ERROR(-20001,
'A
beszúrás
nem
végezhet® el! Hiba: Már van ilyen kulcs.'); ELSE INSERT INTO Kepregeny VALUES (kod0, kiadas0, ar0, nev0, szam0, gyakorisag0, kiado0); END IF; END;
PROCEDURE
torles
(kod0
in
kepregeny.kod%TYPE)
IS
db
number,
db_szereplok number; BEGIN SELECT
Count(*)
INTO
db
FROM
kepregeny
WHERE
kepregeny.kod=kod0; SELECT Count(*) INTO db_szereplok FROM szereplok WHERE szereplok.kepregeny=kod0; IF (db=0) THEN RAISE_APPLICATION_ERROR(-20002,
'A
törlés
nem
végezhet® el. Hiba: Nincs ilyen kulcs!'); ELSE IF (db_kepregeny>0) THEN RAISE_APPLICATION_ERROR(-20400, 'A törlés nem végezhet® el! Hiba: Küls® kulcs hivatkozik ide a Szerepl®k táblából'); ELSE DELETE FROM kepregeny WHERE kepregeny.kod=kod0; END IF; END IF;
13
1.8. Feladatok megoldása
END;
PROCEDURE in
modosit
(kod0
kepregeny.kiadas%TYPE,
in
ar0
kepregeny.kod%TYPE,
in
kepregeny.ar%TYPE,
kiadas0 nev0
in
kepregeny.nev%TYPE, szam0 in kepregeny.szam%TYPE, gyakorisag0 in kepregeny.gyakorisag%TYPE, kiado0 in kepregeny.kiado%TYPE) IS db number; BEGIN SELECT
Count(*)
INTO
db
FROM
kepregeny
WHERE
kepregeny.kod=kod0; IF (db=0) THEN RAISE_APPLICATION_ERROR(-20002,
'A
törlés
nem
végezhet® el. Hiba: Nincs ilyen kulcs!'); ELSE UPDATE
kepregeny
kepregeny.kiadas=kiadas0,
SET
kepregeny.ar=ar0,
kepregeny.szam=szam0,
kepregeny.kod=kod0, kepregeny.nev=nev0,
kepregeny.gyakorisag=gyakorisag0,
kepregeny.kiado=kiado0; END IF; END;
PROCEDURE jelenlegi() IS BEGIN UPDATE
kepregeny
SET
Szam=((SYSDATE-
Kepregeny.kiadas)/Gyakorisag); END;
END pkg_kepregeny;
1.8.4. Csomagok - Szereplok CREATE OR REPLACE PACKAGE pkg_szereplok IS PROCEDURE szereplo0
in
felvitel
(kepregeny0
in
szereplok.kepregeny%TYPE,
szereplok.szereplo%TYPE,
debutalas0
in
szereplok.debutalas%TYPE, szerepele0 in szereplok.szerepele%TYPE); PROCEDURE
torles
(kepregeny0
in
szereplok.kepregeny%TYPE,
szereplo0 in szereplok.szereplo%TYPE);
14
1.8. Feladatok megoldása
PROCEDURE szereplo0
modosit
in
(kepregeny0
in
szereplok.kepregeny%TYPE,
szereplok.szereplo%TYPE,
debutalas0
in
szereplok.debutalas%TYPE, szerepele0 in szereplok.szerepele%TYPE); FUNCTION aszsz (kod0 in kepregeny%TYPE) RETURN number; END pkg_kiado;
CREATE OR REPLACE PACKAGE BODY pkg_szereplok IS
PROCEDURE szereplo0
felvitel in
(kepregeny0
in
szereplok.kepregeny%TYPE,
szereplok.szereplo%TYPE,
debutalas0
in
szereplok.debutalas%TYPE, szerepele0 in szereplok.szerepele%TYPE) IS db number; BEGIN SELECT
count(*)
INTO
db
FROM
szereplok
WHERE
szereplok.kepregeny=kepregeny0 AND szereplok.szereplo=szereplo0; IF (db>0) THEN RAISE_APPLICATION_ERROR(-20001,
'A
beszúrás
nem
végezhet® el! Hiba: Már van ilyen kulcs.'); ELSE INSERT
INTO
Szereplok
VALUES
(kepregeny0,
szereplo0,
debutalas0, szerepele0); END IF; END;
PROCEDURE
torles
(kepregeny0
in
szereplok.kepregeny%TYPE,
szereplo0 in szereplok.szereplo%TYPE) IS db number; BEGIN SELECT
Count(*)
INTO
db
FROM
szereplok
WHERE
szereplok.szereplo=szereplo0 AND szereplok.kepregeny=kepregeny0; IF (db=0) THEN RAISE_APPLICATION_ERROR(-20002,
'A
törlés
nem
végezhet® el. Hiba: Nincs ilyen kulcs!'); ELSE DELETE
FROM
szereplok
WHERE
szereplok.szereplo=szereplo0 AND szereplok.kepregeny=kepregeny0; END IF;
15
1.8. Feladatok megoldása
END;
PROCEDURE szereplo0
modosit in
(kepregeny0
in
szereplok.kepregeny%TYPE,
szereplok.szereplo%TYPE,
debutalas0
in
szereplok.debutalas%TYPE, szerepele0 in szereplok.szerepele%TYPE) IS db number; BEGIN SELECT
Count(*)
INTO
db
FROM
kepregeny
WHERE
kepregeny.kod=kod0; IF (db=0) THEN RAISE_APPLICATION_ERROR(-20002,
'A
törlés
nem
végezhet® el. Hiba: Nincs ilyen kulcs!'); ELSE UPDATE
szereplok
SET
szereplok.kepregeny=kepregeny0,
szereplok.szereplo=szereplo0,
szereplok.debutalas=debutalas0,
szereplok.szerepele=szerepele0; END IF; END;
FUNCTION aszsz (kod0 in kepregeny%TYPE) RETURN number IS db number; BEGIN SELECT
Count(*)
IN
db
FROM
szereplok
WHERE
szereplok.kepregeny=kod0 AND szerepele=true; RETURN db; END;
END pkg_szereplok;
1.8.5. Csomagok - Szereplo CREATE OR REPLACE PACKAGE pkg_szereplo IS PROCEDURE
felvitel
(azonosito0
in
szereplo.azonosito%TYPE,
ele0 in szereplo.ele%TYPE, csoportnev0 in szereplo.csoportnev%TYPE, csoporttipus0 in szereplo.csoporttipus%TYPE); PROCEDURE torles (azonosito0 in szereplo.azonosito%TYPE); PROCEDURE
modosit
(azonosito0
in
szereplo.azonosito%TYPE,
ele0 in szereplo.ele%TYPE, csoportnev0 in szereplo.csoportnev%TYPE,
16
1.8. Feladatok megoldása
csoporttipus0 in szereplo.csoporttipus%TYPE); FUNCTION
halotttagokszama
(csoportnev0
IN
szereplo.csoportnev%TYPE) RETURN number; END pkg_szereplo;
CREATE OR REPLACE PACKAGE BODY pkg_szereplo IS
PROCEDURE in
felvitel
szereplo.ele%TYPE,
(azonosito0
in
csoportnev0
szereplo.azonosito%TYPE, in
ele0
szereplo.csoportnev%TYPE,
csoporttipus0 in szereplo.csoporttipus%TYPE) IS db number; BEGIN SELECT
count(*)
INTO
db
FROM
szereplok
WHERE
szereplok.azonosito=azonosito0; IF (db>0) THEN RAISE_APPLICATION_ERROR(-20001,
'A
beszúrás
nem
végezhet® el! Hiba: Már van ilyen kulcs.'); INSERT INTO Kiado VALUES (azonosito0, ele0, csoportnev0, csoportazonosito0); END IF; END;
PROCEDURE
torles
(azonosito0
in
szereplo.azonosito%TYPE)
IS
db
number, db_szereplok number; BEGIN SELECT
Count(*)
INTO
db
FROM
szereplo
WHERE
szereplo.azonosito=azonosito0; SELECT count(*) INTO db_szereplok FROM szereplok WHERE szereplok.szereplo=azonosito0; IF (db=0) THEN RAISE_APPLICATION_ERROR(-20002,
'A
törlés
nem
végezhet® el. Hiba: Nincs ilyen kulcs!'); ELSE IF (db_szereplok>0) THEN RAISE_APPLICATION_ERROR(-20400, 'A törlés nem végezhet® el! Hiba: Küls® kulcs hivatkozik ide a Szerepl®k táblából'); ELSE DELETE
FROM
szereplo
WHERE
szereplo.azonosito=azonosito0;
17
1.8. Feladatok megoldása
END IF; END IF; END;
PROCEDURE in
modosit
szereplo.ele%TYPE,
(azonosito0
in
csoportnev0
szereplo.azonosito%TYPE, in
ele0
szereplo.csoportnev%TYPE,
csoporttipus0 in szereplo.csoporttipus%TYPE) IS db number; BEGIN SELECT
Count(*)
INTO
db
FROM
szereplo
WHERE
szereplo.azonosito=azonosito0; IF (db=0) THEN RAISE_APPLICATION_ERROR(-20002,
'A
törlés
nem
végezhet® el. Hiba: Nincs ilyen kulcs!'); ELSE UPDATE
szereplo
SET
szereplo.ele=ele0,
szereplo.azonosito=azonosito0,
szereplo.csoportnev=csoportnev0,
szereplo.csoporttipus=csoporttipus0; END IF; END;
FUNCTION
halotttagokszama
(csoportnev0
IN
szereplo.csoportnev%TYPE) RETURN number IS CURSOR
lista
IS
SELECT
*
FROM
kepregeny
WHERE
kepregeny.csoportnev=csoportnev0 AND Ele=false; db number; BEGIN db := 0; OPEN lista; LOOP EXIT WHEN lista%NOTFOUND; db:= db + 1; END LOOP; CLOSE lista; RETURN db; END;
END pkg_szereplo;
18
1.9. JAVA alkalmazás felhasználása
1.8.6. JOB létrehozása A JOB minden egyes alkalommal frissíti a 'naplo' táblát és kiszámolja midnen képregény esetén az aktuális rész számát és ezutóbbit berakja az adatbázisba
CREATE OR REPLACE PROCEDURE naploz IS BEGIN UPDATE naplo SET status=2 WHERE status=1; pkg_kepregeny.jelenlegi(); END;
DECLARE job INTEGER; BEGIN DBMS_JOB.SUBMIT(job, 'naploz;', SYSDATE, 'SYSDATE+1'); END;
1.9. JAVA alkalmazás felhasználása A JAVA alkalmazást egy menüsoron keresztül lehet irányítani, vagyis egy tetsz®leges m¶velet elvégzésére ki kell választani a menüben a m¶veletet, utána a szükséges adatokat meg kell adni, és utána az alkalmazás elvégzi a kívánt m¶veletet, majd az eredményt jelzi is a képerny®n
1.9.1. Menüsorban szerepl® f®menüpontok Kiadó tábla Képregény tábla Szerepl®k tábla Szerepl® tábla Egyéb m¶veletek Modellek Információ Kilépés
1.9.2. "Kiadó tábla" menü elemei Tábla elemeinek megnézése
19
1.9. JAVA alkalmazás felhasználása
Új elem felvitele Elem törlése Elem módosítása
1.9.3. "Képregény tábla" menü elemei Tábla elemeinek megnézése Új elem felvitele Elem törlése Elem módosítása
1.9.4. "Szerepl®k tábla" menü elemei Tábla elemeinek megnézése Új elem felvitele Elem törlése Elem módosítása
1.9.5. "Szerepl® tábla" menü elemei Tábla elemeinek megnézése Új elem felvitele Elem törlése Elem módosítása
1.9.6. "Egyéb m¶veletek" menü elemei Egy megadott kiadó által kiadott képregények száma Aktuális szerepl®k száma egy megadott képregényben Halott szerepl®k száma egy megadott csoportban
1.9.7. "Modellek" menü elemei ER modell Adatbázis modell
1.9.8. "Információ" menü elemei Segítség Verzió
20
1.9. JAVA alkalmazás felhasználása
1.9.9. Felhasználás Ha módosítani akarjuk az adatbázisban lév® táblák valamelyikét, akkor válasszuk ki az általunk módosítani kívánt tábla nevét a f®menüb®l, ma jd válasszuk ki az almenüben azt a m¶veletet, amit ténylegesen el akarunk végezni.
Ha
ez
megtörtént,
akkor
töltsük
ki
a
megfelel®
adatokat
és
nyomjuk meg a RENDBEN gombot. A gomb lenyomása után a kívánt m¶veletet az alkalmazás elvégzi és utána az eredményr®l, vagy az esetleges sikertelenségr®l információt kapunk a kijelz®n.
Az "Egyéb m¶veletek" menü elemeivel is hasonlóképpen kell eljárni és hasonlóképpen is m¶ködnek, mint az el®bb leírt eseteknél.
Az Információ f®menün belüli Segítség menüpont során egy használati útmutató jelenik meg a felhasználónak
Ugyanezen f®menü Verzió menüpontján az aktuális verzió száma, az utolsó verzió kiadásának az ideje, valamint a készít® adatai jelenik meg
21