adatbázis alapú rendszerek

Slides:



Advertisements
Hasonló előadás
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
Advertisements

2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
1 Informatikai Szakképzési Portál Adatbázis kezelés DCL – Adatvezérlő nyelv.
5. GYAKORLAT SQL CREATE TABLE, aktualizálás. S QL Structured Query Language A relációs adatbáziskezelés szabványos nyelve Nem algoritmikus, de beépíthető.
– SQL 2: Adatok kezelése – Tarcsi Ádám, január 30. Adatbázis gyakorlat.
– Adattáblák & adatok kezelése – Tarcsi Ádám január Adatbázis gyakorlat.
INSERT INTO Egy vagy több rekordot ad hozzá a táblához. Egyetlen rekordot hozzáfűző kifejezés: INSERT INTO cél_tábla (mező1,mező2,…) VALUES (érték1, érték2,
Triggerek II. ADATBÁZIS ALAPÚ RENDSZEREK.  Az Oracle kifinomult módon támogatja a sorszámozások generálását  Szekvencia: olyan adatbázis-objektum, amely.
Adatbázis alapú rendszerek
Készítette: Sárközi Anikó
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
SQL92 lehetőségek KL A tábla B tábla C view adatok VIEW működése utasítás: SELECT.. FROM A,B … SELECT.. FROM C Az adatok a hivatkozáskor állítódnak elő.
ADATBÁZISOK
ADATBÁZISOK
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
1 Informatikai Szakképzési Portál Adatbázis kezelés DML – Adat manipuláló nyelv.
DML. Új rekord beszúrása: INSERT INTO tábla (oszlop1,oszlop2,…) VALUES (érték1,érték2,…); Rekord módosítása: UPDATE tábla SET oszlop = érték WHERE feltétel;
Adatbázis adminisztrátori ismeretek
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele a minimum elégséges érdemjegynek!
Felhasználók és jogosultságok
SQL DDL DATA DEFINITION LANGUAGE. Táblák létrehozása CREATE TABLE táblanév ( oszlopnév1 típus(méret) /DEFAULT érték/ /NOT NULL/, oszlopnév2 típus(méret)
SQL.
Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai
Adatbázis rendszerek II
5. gyakorlat Fleiner Rita.
John Sheridan BVetMed CVPM DMS MRCVS A Te praxisod, a Te karriered, a Te életed – gond van?
Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
Adatbázis alapú rendszerek
PL/SQL gyakorlás Kalmár György.
Adatbázis rendszerek II.
Muraközy Balázs: Mely vállalatok válnak gazellává?
Adatbázis normalizálás
Triggerek gyakorlás.
Idegen kulcsok Lokális és globális megszorítások Triggerek
ABR ( Adatbázisrendszerek)
Scilab programozás alapjai
Bevezető az EndNote X6-ba
Hogyan készítsünk Körlevelet?
Alkalmazásfejlesztés gyakorlat
Adatbázisok 8. előadás Tikk Domonkos.
Adatbázisok SQL.
Kovács Gergely Péter Egyszerű lekérdezések
Triggerek Kalmár György.
Animációk.
PL/SQL alapok Adatbázis-kezelés.
Adatbázis-kezelés (PL/SQL)
2. Bevezetés A programozásba
Adatbázis alapfogalmak
Számítógépes Hálózatok
Kovács Gergely Péter Bevezetés
Az Endnote bibliográfia adatbázis-kezelő szoftver alapvető használata november Skultéti Attila
Adatbázis Hasonlóság- elemzés Előrejelzés Stratégia- elemzés
B M Java Programozás 4. Gy: Java GUI IT A N Tipper, MVC kalkulátor
A távoli asztal, valamint az Endnote használata a távoli asztalon
B M Java Programozás 9. Gy: Java alapok IT A N Adatkezelő 5.rész
Adatbázisok használata
I. HELYZETFELMÉRÉSI SZINT FOLYAMATA 3. FEJLESZTÉSI FÁZIS 10. előadás
Válassza ki a Blaha Lujza tér végállomásra vonatkozó helyes állítást!
Idegen kulcsok Lokális és globális megszorítások Triggerek
Műveletek, függvények és tulajdonságaik Mátrix struktúrák:
SQL jogosultság-kezelés
Informatika Oktató: Katona Péter.
Bevezetés Tematika Számonkérés Irodalom
Access alapok Táblák, kapcsolatok, űrlapok.
Előadás 08 Eljárások, függvények Hibakezelés (Kivétel kezelés)
Algoritmusok.
OpenBoard Kezelő Tananyag közzététele a KRÉTA rendszerben.
Táblázatkezelés 4. Képletek használata.
Előadás másolata:

adatbázis alapú rendszerek Triggerek II.

Oracle “auto increment” elsődleGes kulcs Az Oracle kifinomult módon támogatja a sorszámozások generálását Szekvencia: olyan adatbázis-objektum, amely meghatározott módon számok sorozatát generálja CREATE SEQUENCE sequence_name MINVALUE value MAXVALUE value START WITH value INCREMENT BY value CACHE value; Ahhoz, hogy egy, a MySQL AUTO_INCREMENT megszorítású elsődleges kulcsához hasonló viselkedésű oszlopot kapjunk, felveendő egy szekvencia és egy trigger

Oracle “auto increment” elsődleGes kulcs Egy egyszerű megoldás, a kulcs mindig eggyel növekszik: CREATE SEQUENCE emp_seq START WITH 1 INCREMENT BY 1 NOMAXVALUE; CREATE OR REPLACE TRIGGER emp_auto_increment_pk BEFORE INSERT ON emp FOR EACH ROW BEGIN :NEW.empno := emp_seq.NEXTVAL; END; /

Oracle rendszeresemények Az Oracle a különböző események (pl. bejelentkezés, leállítás, stb.) bekövetkeztét jelzi Az események két csoportja: rendszeresemények – az egész adatbázist érintő történések STARTUP SHUTDOWN SERVERERROR kliens események – a felhasználó által végzett műveletek (pl. belépés, DDL műveletek, stb.) LOGON, LOGOFF, BEFORE CREATE, AFTER CREATE BEFORE ALTER, AFTER ALTER, BEFORE DROP, AFTER DROP definiálhatunk triggereket ezen eseményekre

1. feladat Írjunk két triggert, amelyek egy adott felhasználó belépése és kilépése esetén aktivizálódnak. A triggerek készítsenek a belépésről illetve kilépésről egy bejegyzést egy naplózó táblába, amely definíciója a következő: CREATE TABLE LOGON( nev VARCHAR(20), datum DATE ); Próbáljuk ki a triggereket.

1. feladat / II. CREATE OR REPLACE TRIGGER On_Logon AFTER LOGON ON felhasználónév.Schema BEGIN INSERT INTO LOGON VALUES (USER || ' belepett', SYSDATE); END; / CREATE OR REPLACE TRIGGER On_Logoff BEFORE LOGOFF INSERT INTO LOGON VALUES (USER || ' kilepett', SYSDATE); select nev, to_char(datum,'DD/MM/YYYY HH24:MI:SS') as "DATUM" from logon;

2. feladat Hozzunk létre egy olyan utasításszintű BEFORE triggert, amely megakadályozza amunkaidőn kívüli adatmanipulációkat az emp táblán! Próbáljunk meg beszúrni egy sort! CREATE OR REPLACE TRIGGER NeNyuljHozza BEFORE DELETE OR INSERT OR UPDATE ON emp BEGIN IF TO_CHAR(SYSDATE, 'HH24:MI') > '14:00' THEN RAISE_APPLICATION_ERROR(-20111, 'Csak munkaidoben szabad az adatbazis!'); END IF; END; insert into emp values (1234, 'kiss', 'clerk', 1111, '99-MAJ-20', 1200, NULL, 10);

3. feladat Oldjuk meg az előző feladatot oly módon, hogy azt is kiíratjuk, milyen műveletet kíséreltek meg végrehajtani munkaidőn kívül. CREATE OR REPLACE TRIGGER NeNyuljHozza BEFORE DELETE OR INSERT OR UPDATE ON emp BEGIN IF TO_CHAR(SYSDATE, 'HH24:MI') > '14:00’ THEN IF DELETING THEN RAISE_APPLICATION_ERROR(-20211, 'Csak munkaidoben szabad adatot torolni!'); ELSIF INSERTING THEN RAISE_APPLICATION_ERROR(-20212, 'Csak munkaidoben szabad adatot bevinni!'); ELSE RAISE_APPLICATION_ERROR(-20213, 'Csak munkaidoben szabad adatot modositani!'); END IF; END; DELETE FROM emp WHERE UPPER(ename) = UPPER('Smith');

4. feladat Írjunk triggert, mely megakadályozza az elnökre (president) vonatkozó törlő, beszúró ésadatmódosító utasítások működését! CREATE OR REPLACE TRIGGER KiveveAzElnok BEFORE DELETE OR INSERT OR UPDATE ON emp FOR EACH ROW WHEN (UPPER(OLD.job) = 'PRESIDENT' OR UPPER(NEW.job) = 'PRESIDENT') BEGIN IF DELETING THEN RAISE_APPLICATION_ERROR(-20001, 'Az elnokot nem lehet torolni!'); ELSIF INSERTING THEN RAISE_APPLICATION_ERROR(-20002, 'Elnokot nem lehet beszurni!'); ELSIF UPDATING THEN RAISE_APPLICATION_ERROR(-20003, 'Elnok adatok nem modosithatok!'); END IF; END; UPDATE emp SET sal = sal - 555 WHERE deptno = 10; insert into emp values (5678, 'kiss', 'president', NULL, SYSDATE, 6000, NULL, 10)

további feladatok Hozzuk létre a RAPID RALLY autóversenyre benevezett versenyzők tábláját. Készítsünk triggert, amely minden beillesztett versenyzőhöz megkísérel alábbi feltételeknek megfelelő partnert keresni: 1) a partnerek nemzetisége egyezzen meg, 2) a partnerek minősítése legyen 20 ponton belül, 3) a feladatkörök illeszkedjenek. Tötse fel a partner oszlopokat(!) a feltételeknek megfelelően. Hozzuk létre a ALVÓ LAJHÁR Sport Egyesület által szervezett bajnokság adatbázisát. Készítsünk triggert amelyik minden új résztvevő csapathoz legenerálja a lejátszandó mérkőzéseket a mérkőzések táblában. Minden csapat egy mérkőzést játszik az adott bajnokság többi csapatával.

további feladatok Partnerek(név, nem, életkor, város, partner_neve) Új sor beszúrása esetén keressünk automatikusan partnert: Különböző neműek Max. 10 év korkülönbséggel Ugyanabban a városban lakjanak Egy emberhez egy párt társítunk, ha több is megfelelne, akkor a legkisebb korkülönbségűt válasszuk. Beszúráskor partner_neve legyen '---'.