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

Adatbázis rendszerek I
Adatbázisok SQL. TARTALOM Szijártó M.2 Témakörök  Az SQL tulajdonságai  A műveletek fajtái  Objektum-műveletek  Lekérdezések Tulajdonságok és műveletek.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 8. gyakorlat SQL alapok.
PL/SQL folytatás Kurzorok Alprogramok Tárolt eljárások ADATBÁZIS ALAPÚ RENDSZEREK.
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.
Ismétlés. Ismétlés: Adatbázisok megnyitása: OPEN DATABASE adatbázis_név OPEN DATABASE ”adatbázis_név elérési útvonallal” Adattábla megnyitása: USE tábla_név.
Delphi programozás alapjai
Adatbázis kezelés. Hierarchikus modell Legrégebbi modell, ma már nem használatos. Az adatokat fákban tároljuk, ahol minden pont a szegmens adatokat, és.
Adatbázis alapú rendszerek
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.
Adatbázis gyakorlat – SUBSELECT – Tarcsi Ádám március.
– Adattáblák & adatok kezelése – Tarcsi Ádám január Adatbázis gyakorlat.
PL/SQL I. ADATBÁZIS ALAPÚ RENDSZEREK.  PL/SQL = Procedural Language/SQL  utasítást ; zárja le  PL/SQL blokk lezárása: /  kis- és nagybetű egyenértékű.
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.
SQL Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések
Adatbázis alapú rendszerek
Adatbázis rendszerek II.
Készítette: Sárközi Anikó
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
2006. október 2.Markó Tamás, PTE TTK1 Az Oracle SQL 5. Nézettáblák létrehozása, módosítása és törlése.
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ő.
SQL, adatdefiníció, adatok megváltoztatása, megszorítások
Adatbázis kezelés SQL. Történeti áttekintés 1976IBM:SEQUEL,SQL 1976IBM:SEQUEL,SQL 1983ORACLE 1983ORACLE 1984INFORMIX 1984INFORMIX 1986SQL – szabvány :
Nézettáblák létrehozása, módosítása és törlése
1 Informatikai Szakképzési Portál Adatbázis kezelés DML – Adat manipuláló nyelv.
- adatbázisséma definiálása (DDL) Data Definition Languages, - adatok aktualizálása (DML),Data Maniputaion Language - lekérdezési lehetőségek (DML) Data.
SQL. SQL = Structured Query Language (= struktúrált lekérdező nyelv). A relációs adatbázis-kezelés szabványos nyelve. Nem algoritmikus nyelv, de algoritmikus.
Az SQL nyelv alapjai.
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!
Adatbázis-kezelés SQL-lel
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)
Készítette: Tóth Ervin
Az SQL nyelv. SQL Az SQL utasításait két fő csoportba szokták sorolni: DDL (= Data Definition Language): adatstuktúra definiáló utasítások. DML (= Data.
SQL-Structured Query Language. Parancs(utasítás) csoportok CREATE - táblák létrehozása ALTER – táblák módosítása DROP – táblák törlése DDL –Data Definition.
SQL.
2006. október 30.Markó Tamás, PTE TTK1 Az Oracle SQL 9. Triggerek és tárolt eljárások. Kliens oldali programok.
A gyakorlatok munkakörnyezete
ORACLE ORDBMS adminisztrációs feladatok 3. rész dr. Kovács László 2004.
1 Sramó András Adatbázis-technológia V. előadás Adatbázis-technológia 5. előadás Az SQL.
– SELECT - 2. – Tarcsi Ádám március Adatbázis gyakorlat.
Tarcsi Ádám, Adatbázis gyakorlat – Adattáblák – Tarcsi Ádám, január.
Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai
Adatbázis rendszerek II
5. gyakorlat Fleiner Rita.
Webprogramozó tanfolyam
1 Copyright © 2004, Oracle. All rights reserved. Bevezetés.
Adatbázis-kezelés 1-2. adatbázis-kezelő rendszer 1.új adatbázisokat hozhassanak (adat definició 2.lekérdezések és módosítások (adat manipuláció) 3.Támogassa.
1 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) ABR 2( Adatbázisrendszerek 2) 1.Előadás: Celko Joe tippjei Codd törvényei. Triggerek.
1 SQL jogosultság-kezelés Privilégiumok Grant és Revoke Grant Diagrammok.
Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
Triggerek gyakorlás.
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE)
Adatbázisok 8. előadás Tikk Domonkos.
Kovács Gergely Péter Bevezetés
Triggerek Kalmár György.
Adatbázis-kezelés (PL/SQL)
Programozás C# -ban Elágazások.
adatbázis alapú rendszerek
Előadás másolata:

Adatbázis alapú rendszerek Oracle Triggerek I. Bevezetés

Triggerek általános alakja A trigger egy aktualizálási művelet esetén végrehajtandó programrészletet definiál. Alakja: CREATE [OR REPLACE] TRIGGER név { BEFORE | AFTER | INSTEAD OF } { DELETE | INSERT | UPDATE [OF oszlopok] } [ OR { DELETE | INSERT | UPDATE [OF oszlopok] } ] ON tábla [ REFERENCING [OLD AS régi] [NEW AS új] ] [ FOR EACH ROW ] [WHEN (feltétel)] PL/SQL blokk; Jelölés: a fenti szintaxis leírásban { x | y } azt jelenti, hogy x és y egyike választható; név: a trigger neve.

Triggerek általános alakja BEFORE, AFTER, INSTEAD OF: az aktualizálási művelet előtt, után, vagy helyette lép működésbe a trigger. DELETE, INSERT, UPDATE OF: az aktualizálási művelet neve. ON tábla: ezen tábla aktualizálásakor lép működésbe a trigger. REFERENCING: lehetővé teszi, hogy a tábla aktuális sorának aktualizálás előtti és utáni állapotára névvel hivatkozzunk.

triggerek használata – OLD és NEW A módosítás előtti (OLD) és utáni (NEW) állapot elnevezésére szolgál. Szabályok: Csak sor szintű triggernél használható. OLD és NEW az alapértelmezett nevek. REFERENCING csak akkor kell, ha más nevet akarunk. A WHEN részben OLD és NEW, a PL/SQL blokkban :OLD és :NEW használandó. Használati szabályok: INSERT esetén csak NEW, UPDATE esetén OLD és NEW, DELETE esetén csak OLD használható. Módosítani csak :NEW értékét lehet és csak BEFORE trigger esetén

Triggerek általános alakja FOR EACH ROW: ha megadjuk, akkor a trigger a tábla minden egyes sorára lefut, amelyet az aktualizálási művelet érint (sor szintű trigger). Ha nem adjuk meg, akkor egy aktualizálási művelet esetén csak egyszer fut le a trigger (utasítás szintű trigger). WHEN feltétel: a megadott feltétel teljesülése esetén hajtódik végre a trigger. programblokk: egy vagy több SQL utasításból álló, vagy valamely programozási nyelven írt blokk.

Triggerek használata KORLÁTOZÁSOK BEFORE és AFTER triggerek nem használhatók nézettáblára. INSTEAD OF trigger csak nézettáblára használható. TRIGGER FORDÍTÁSA A CREATE TRIGGER hatására a fordítás megtörténik. Fordítási hibák megjelenítése SQL*Plus-ban: SHOW ERRORS paranccsal. ENGEDÉLYEZÉS, LETILTÁS ALTER TRIGGER triggernév ENABLE; ALTER TRIGGER triggernév DISABLE;

Példák 1/a. példa: utasítás szintű trigger Egyelemű segédtábla: CREATE TABLE szamlalo (ertek NUMBER); INSERT INTO szamlalo VALUES (-1); Több új dolgozó felvételének esetére két triggert definiálunk. Az első nullázza a számlálót: CREATE TRIGGER dolg_kezdo BEFORE INSERT ON dolgozo BEGIN UPDATE szamlalo SET ertek=0; END; /

Példák 1/b. példa: sor szintű trigger A második trigger megszámolja a 100 000-nél kisebb fizetésű új dolgozókat: CREATE TRIGGER dolg_szamlal AFTER INSERT ON dolgozo FOR EACH ROW WHEN (NEW.fizetes < 100000) BEGIN UPDATE szamlalo SET ertek=ertek+1; END; /

Példák 2/a. példa: fizetés módosítása Az alábbi trigger figyelmeztet, ha egy dolgozó fizetését csökkentettük: CREATE TRIGGER fizetesNemCsokken AFTER UPDATE OF fizetes ON dolgozo FOR EACH ROW WHEN (OLD.fizetes > NEW.fizetes) BEGIN DBMS_OUTPUT.PUT_LINE (:NEW.nev || ' fizetése csökkent!'); END; /

példák 3. példa: „naplózó” trigger Dolgozó(adószám, név, lakcím, fizetés) fizetésNapló(dátum, adoszám, régifiz, újfiz) CREATE TRIGGER fiz_naplo AFTER UPDATE ON dolgozo FOR EACH ROW BEGIN INSERT INTO fizetesNaplo VALUES (SYSDATE, :OLD.adoszam, :OLD.fizetes, :NEW.fizetes); END; /

feladatok Adjunk meg egy triggert, ami az új dolgozók beszúrásakor, a rekord mentése előtt kiír egy figyelmeztető üzenetet a konzolra. Próbáljuk ki! Hozzunk létre logolásra egy új táblát, és írjunk egy AFTER triggert, ami az EMP tábla módosítása (beszúrás, törlés, módosítás) esetén elhelyez a log-táblában egy bejegyzést az eseményről. A táblában tároljuk a dátumot, a végrehajtó felhasználót, és a leírást. Próbáljuk ki a triggert!

feladatok Adjunk meg egy olyan sorszintű BEFORE triggert, ami új dolgozó(k) beszúrásakor aktivizálódik; ha a beszúrandó dolgozó osztálykódja 30, a fizetése 40%-át egyből adjuk jutalmul neki! Próbáljuk ki. Adjunk meg egy sorszintű AFTER triggert, amely egy segédtáblában letárolja a változtatás dátuma mellett, hogy az akcióban érintett sorokban milyen jellegű változás következett be (insert / update kezelendő) milyen adat változott meg milyen sorszámú dolgozónál. Próbáljuk ki a triggert.