Adatbázis Rendszerek II. 10. Tranzakció kezelés 72/1B IT MAN

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Adatbázis Rendszerek II. 10. Tranzakció kezelés 72/1B IT MAN"

Átírás

1 Adatbázis Rendszerek II. 10. Tranzakció kezelés 72/1B IT MAN B IT v: MAN

2 Párhuzamosság Hasznos és kényelmes a felhasználó oldaláról Kihívás problémák a konkurens végrehajtásnál konfliktus helyzetek (azonos erőforrás igény) Megoldások: várakoztatás várakozó sorok (nyomtató) adatbázis-kezelésben egyedi vonások DB 72/2 B IT MAN

3 Tranzakció fogalma Logikailag összetartozó, egységként kezelt műveletsor. Az adatbázis-kezelés központi fogalma Minden műveletsor tranzakcióba szervezetten hajtódik végre A DBMS nem engedi tranzakción kívüli művelet végrehajtását Pl.: Az A számláról átutalunk 50 egységet a B számlára BEGIN READ(A) A:=A - 50 WRITE(A) READ(B) B:=B + 50 WRITE(B) END 72/3 B IT MAN

4 Tranzakció fogalma A tranzakció az adatbázisműveletek egy olyan csoportja, amelyek vagy mindegyike érvényre jut (commit) vagy közülük egyik sem (abort). A műveletek a mindent vagy semmit elv szerint hajtódnak végre. A tranzakcióknak úgy kell végrehajtódniuk, hogy megfeleljenek az adatbáziskezelés sajátosságainak, ezek az ACID elvek. login DML abort commit logout begin transaction insert delete update end transaction 72/4 B IT MAN

5 ACID elvek Atomicity Atomi Consistency Konzisztens Isolation Izolált Durability Tartós 72/5 B IT MAN

6 ACID elvek Atomicity Consistency Isolation Durability Atomiság Konzisztencia Izoláció Tartósság Atomi, vagyis a tranzakció minden művelete végrehajtódik, vagy egy sem. Konzisztens*, vagyis konzisztens állapotból konzisztens állapotba visz. Izolált, vagyis az eredmény ne függjön más párhuzamosan futó tranzakciók hatásától. Tartós, vagyis a véglegesített tranzakció hatása már nem szüntethető meg. *Konzisztens: belső ellentmondásoktól mentes, egységes, következetes. 72/6 B IT MAN

7 Atomiság Atomiság Az adatbázisban a műveletek nem izoláltak, nem egyediek, hanem kapcsolat van közöttük A felhasználó rendszerint műveletsort akar végrehajtani, nem egyedi műveletet Külön-külön nincs értelmük a műveleteknek, illetve hibához, ellentmondáshoz vezethetnek Pl. készpénzfelvétel automatából pinkód beírás -> ellenőrzés művelet megadás -> készpénz beállítás hitelkeret ellenőrzés -> készpénz levétele a számláról készpénz ellenőrzése az automatában -> pénz kiadása A DBMS-nek képesnek kell lennie a műveletek visszagörgetésre. Félig elvégzett műveletsor nem maradhat a rendszerben. 72/7 B IT MAN

8 Konzisztencia Konzisztencia Minden felhasználó számára konzisztens kell legyen (egységes, ellentmondás mentes) Konzisztens állapotból konzisztens állapotba vigyen Integritás őrzés pl. OKéztuk az összeget, de nem adja ki az automata Integritás sértő műveletek megakadályozása pl. életkor mezbe 3012 kerül 72/8 B IT MAN

9 Izoláció Izoláció A felhasználó a párhuzamosság káros mellékhatásaiból minél kevesebbet érezzen Legjobb, ha a felhasználó úgy érzi, hogy egyedül dolgozik a rendszerben Munkájának eredménye csak a kiinduló állapottól függjön, ne az egyéb tevékenységektől 72/9 B IT MAN

10 Tartósság Tartósság Műveletsor sikeres végrehajtása esetén a felhasználó visszajelzést kap Biztos lehet abban, hogy a műveletsor hatása véglegesen beíródott az adatbázisba Későbbi művelet nem törölheti vissza A lezárt tranzakciók eredményeit az adatbázis-kezelő mindenáron őrizze meg Gondoskodjon a véglegesített adatok elvesztése elleni védelemről 72/10 B IT MAN

11 Tranzakciók leírása Műveletsort kell megadni. A műveletsorok elemei: Műveletek: olvasás: r, (select) írás: w, (insert, update) r(x) w(x) objektum, amelyre hatnak paraméterként: r(x), w(x) x: megadott táblában egy megadott mező tranzakció lezárása véglegesítés (commit): c visszagörgetés (abort): a c a Azonosítás: számokkal. Pl: r1(x) az 1-es tranzakció olvas Sorrendiség: nyilak. megelőzési reláció: m1 -> m2 r1(x) w2(x) 72/11 B IT MAN

12 Tranzakciók ábrázolása Ábrázolás gráffal: Csomópontok a műveletek, irányított élei a megelőzési relációk Kötöttségek érvényes tranzakció esetén: Tartalmaznia kell egy lezárási műveletet (c,a) Pontosan csak az egyiküket tartalmazhatja A lezárási művelet az utolsó, az összes többi megelőzi Egyértelmű végrehajthatósági feltétel: A műveletsor eredménye azonos kezdőfeltételek mellet mindig egyezzen meg a leírt tranzakció eredményével 72/12 B IT MAN

13 Tranzakció ábrázolása Az SQL parancsok: SELECT FIZ FROM DOLGOZO; SELECT * FROM UZEM; UPDATE DOLGOZO SET FIZ=0; COMMIT; A tranzakció: r(d(fiz)) r(u(*)) w(d(fiz)) c Általánosságban: r(x) r(y) w(x) c 72/13 B IT MAN

14 Tranzakciók ábrázolása 2. w1(x) w2(x) c r(x) w1(x) = 3 w2(x) = 5 A sorrend nagyon fontos! w1(x) -> w2(x) =/= w2(x) -> w1(x) 72/14 B IT MAN

15 Tranzakciók jellemzése Bármely két művelet között létezzen megelőzési reláció: Egyértelmű, de nem szükséges minden esetben Általában csak a tranzakció eredménye a fontos A közbenső állapotok érdektelenek Több út is adhatja ugyanazt az eredményt Ekkor a rendszer bármelyiket választhatja 72/15 B IT MAN

16 Tranzakciók ábrázolása 3. r(x) w(x) c r(y) w(y) c r(x) -> w(x) -> r(y) -> w(y) == r(y) -> r(x) -> w(x) -> w(y) Kérdés: mely elemek közötti relációk (nem) hagyhatók el? Válasz: amelyek sorrendje fontos a végeredmény szempontjából Konfliktusban álló műveletpárok 72/16 B IT MAN

17 Konfliktusban álló műveletek A sorrendiség kihat az eredményre! Konfliktus esetén: azonos objektumnak kell szerepelnie mindkét műveletben különböző objektumokhoz való hozzáférés nincs hatással egymásra legalább az egyik írási művelet az olvasások nem módosítják az adatbázist, bármikor felcserélhető a sorrendjük írási műveletek időbeli pozíciója lényeges r(x) w(x) c r(x) w(x) c 72/17 B IT MAN

18 Konfliktusban álló műveletek 2. Gráf esetén egyértelmű a végrehajtás eredménye: A gráfban bármely két konfliktusban álló műveletpár között létezik megelőzési reláció Ezt a tranzakció megadásánál meg is követeljük 72/18 B IT MAN

19 Konfliktusban álló műveletek 3. r1(x) w1(x+3) c1 X=X+5 r2(x) w2(x+5) c2 r1(x) w1(x+3) c1 r2(x) w2(x+5) c2 X=X+3 r1(x) w1(x+3) c1 X=X+8 r2(x) w2(x+5) 72/19 B IT MAN c2

20 Tranzakciók ekvivalenciája A tranzakciók ugyanazokat az elemeket tartalmazzák A konfliktusban álló műveletek között ugyanolyan a megelőzési sorrend Ugyanazon kiinduló állapotból, ugyanazon műveletek az eredmény szempontjából ekvivalens (egyforma értéket adó, azonos, megfelelő) sorrendben hajtódnak végre. 72/20 B IT MAN

21 History (esetleírás, történet) A rendszerben egyszerre futó tranzakciók összessége Megadása hasonló a tranzakció megadásához műveletekből áll lényeges a végrehajtási sorrend Ábrázolása: gráffal a tranzakció azonosítóját is feltüntetjük, mint művelet indexet T1 r1(x) w1(x) c1 T2 r2(x) w2(x) a2 72/21 B IT MAN

22 History ábrázolása Az SQL parancsok kiadásuk sorrendjében: T1 SELECT * FROM DOLGOZO; DELETE FROM UZEM; ROLLBACK; T2 SELECT * FROM UZEM; UPDATE DOLGOZO SET FIZ=0; COMMIT; A history: Parancsok kiadási sorrendjében Megvalósulási sorrendben r1(x) w1(y) a1 r1(x) w1(y) a1 r2(y) w2(x) c2 r2(y) w2(x) c2 72/22 B IT MAN

23 Hibás history gráf T1 r1(x) w1(x) c1 T2 r2(x) w2(x) w2(y) c2 T3 r3(y) w3(x) w3(y) c3 Mi a gráf hibája? Nem tartalmaz megelőzési relációt r2(x) és w3(x) között! 72/23 B IT MAN

24 History-k ekvivalenciája Azonos feltételekből kiindulva azonos eredményt szolgáltatnak A konfliktusban álló műveletpárok sorrendje lényeges Csak az elfogadott tranzakciók hatása marad meg Ekvivalensek a history-k, ha: azonos tranzakciókat tartalmaznak, minden nem abortált tranzakcióhoz tartozó, konfliktusban álló művelet között ugyanolyan irányú megelőzési reláció áll fenn 72/24 B IT MAN

25 History - Példa T1 w1(x) r1(y) w1(y) a1 T2 r2(x) w2(x) c2 T1 kiír egy értéket x-be T2 olvassa ezt, majd ez alapján új értéket ír x-be T2 véglegesíti az eredményt T1 tovább fut, olvassa y-t, majd módosítja T1 abortálódik w1(x) utasítás-t hogyan görgetjük vissza? T2 nem véglegesített adatokat használt fel, ezért T2 tranzakciót is vissza kell görgetni 72/25 B IT MAN

26 History típusok Legfontosabb az ACID elvek betartása Nem minden history teljesíti az elveket r1(x) w1(x) c1 r2(x) w2(x) a2 72/26 B IT MAN

27 Példa: r1(x) w1(x) a1 r2(x) w2(x) c2 A T2 tranzakció olvasta a T1 tranzakcióban írt x adatot, és véglegesítődik. A T1 tranzakció ezután visszagörgetésre kerül. Probléma: A T2 tranzakció olyan adatot olvasott, ami helytelen, ezért vissza kellene görgetni. Ez viszont sérti az ACID elvek D-jét (Durability, tartósság), ami kimondja, hogy a véglegesített tranzakció hatása nem törölhető. Megoldás: előbb le kell zárni egy tranzakciót, csak aztán szabad egy másik tranzakciónak abból adatot olvasnia. 72/27 B IT MAN

28 RecoverAble History Visszagörgethető műveletsor Visszagörgethető egy history, ha minden olyan tranzakció, ami olvasott egy másik tranzakcióban írt adatot, később zárul le, mint az a tranzakció, amelyből az adatot kiolvasta. r1(x) w1(x) a1 v1 r2(x) w2(x) c2 v2 r1(x) w1(x) a1 r2(x) w2(x) c2 A T2 tranzakció olvasta a T1 tranzakcióban írt x adatot, és később zárul le, mint a T1, ezért mindkét history RA. 72/28 B IT MAN

29 RA History A history RA, de mégis hibás. Miért? w1(x) r1(y) w1(y) a1 r2(x) w2(x) r3(x) w3(x) Probléma: abortálási lavina! r4(x)... T2 olyan adatot olvasott, melynek helyessége még nem dőlt el 72/29 B IT MAN

30 Avoiding Cascadeless Abort history Az abortálási lavinát elkerülő history-ban egy tranzakció csak akkor olvashat egy adatot, ha az adatot utoljára módosító tranzakció már lezáródott. w1(x) r1(y) w1(y) a1 r2(x) w2(x) r3(x)... Az x-et T1 módosította utoljára. A T2 a T1 lezárása után olvassa az adatot, így ez a history ACA. 72/30 B IT MAN

31 ACA history Az RA, és az ACA kritériumok is teljesülnek (egyik tranzakció sem olvas a másik által módosított adatot), mégis problémás a history: r1(x) w1(x) w1(y) a1 r2(y) w2(x) a2 Probléma: Előbb T1, majd T2 módosítja x-et, végül abortálódik mindkettő. Először vissza kell állítani a w1(x) előtti értéket (ez megoldható), ezután a w2(x) előttit, ami viszont nem ismert! Megoldás: az írási művelet is csak akkor legyen megengedett, ha az adatot előzőleg módosító tranzakció már lezárult. 72/31 B IT MAN

32 STrict history A szigorú history-ban egy tranzakció csak akkor írhat vagy olvashat egy adatot, ha az adatot előtte módosító másik tranzakció már lezáródott. r1(x) w1(x) w1(y) r2(y) w2(x) A T2 tranzakció csak a T1 lezárása után írhatja vagy olvashatja a T1 tranzakcióban érintett adatokat. 72/32 B IT MAN

33 Újabb probléma r1(x) w1(x+3) c1 r2(x) w2(x+5) c2 A T1-beli olvasás megelőzi a T2-beli írást, a T1-beli írás követi a T2-beli olvasást Ez a "Lost update" jelenség 72/33 B IT MAN

34 SeRializable history A sorossal ekvivalens history-ban a tranzakciók a konfliktusban álló elemekre vonatkoztatva nem fedik át egymást. A konfliktusban álló elemekre nézve a tranzakciókban azonos a megelőzési reláció. r1(x) w1(x) a1 r2(x) w2(x) c2 72/34 B IT MAN

35 Serial history A soros historyban egy tranzakció bármely két művelete közé nem ékelődik be egy másik tranzakció valamely művelete. r1(x) w1(x) c1 r2(y) w2(y) c2 72/35 B IT MAN

36 RA ACA ST History-k kapcsolata SR S Cél: ST SR history, ez biztosítja a teljes izolációt 72/36 B IT MAN

37 Következmények Kevés a megfelelő history Lecsökkentik a párhuzamosságot, a konkurencia megvalósulási lehetőségeit Teljesítmény korlátozás ACID elvek Nagyobb konkurencia, hatékonyabb rendszer 72/37 B IT MAN

38 Izolációs problémák A tranzakciók nem önállóan futnak, hanem tás tranzakciókkal együtt Az egyidőben, párhuzamosan futó tranzakciók konfliktusban állhatnak egymással, ha ugyanazokat az objektumokat kezelik, ekkor izolációs problémák léphetnek fel Izoláció: elszigeteltség, elkülönülés 72/38 B IT MAN

39 Izolációs problémák Konfliktusban álló műveletek keveredése: Két írás egymás után Lost update w1(x) w2(x) Olvasás két írás között Dirty read w1(x) r2(x) w1(x) Írás két olvasás között Non repeatable read r1(x) w2(x) r1(x) Írás két olvasás között Phantom read r1(x) w2(x) r1(x) 72/39 B IT MAN

40 Lost update elveszett frissítés r1(x) w1(x+3) c1 r2(x) w2(x+5) c2 A két tranzakció egyszerre olvassa ki egy adat értékét, majd egymás után módosítják azt, így az egyik módosítás felülírja a másik módosítás értékét. A T1 tranzakció által végrehajtott módosítás elveszik 72/40 B IT MAN

41 Dirty read piszkos olvasás r1(x) w1(x+3) w1(x+5) r2(x)... A T2 tranzakció olyan adatot olvas, amit a még le nem zárt T1 tranzakció írt A T2 tranzakcióban hibás a kiolvasott adat 72/41 B IT MAN

42 Non repeatable read nem megismételhető olvasás r1(x) r1(x) w2(x+3) c2 A T1 tranzakció újra olvas egy korábban már olvasott adatot, és azt látja, hogy az adatot egy másik - már befejezett tranzakció (T2) módosította vagy törölte A T1 tranzakció által először olvasott értéket nem lehet újra beolvasni 72/42 B IT MAN

43 Phantom read Fantom olvasás r1(x) r1(x) w2(x) c2 Pl: r1(x): Select sum(ár) from számla w2(x): insert into számla (tnév, ár) values('tej', 200) A T1 tranzakció újra olvas korábban már olvasott, több rekordot is érintő adatot, és azt látja, hogy az adatok közé egy másik - már befejezett tranzakció (T2) új sorokat szúrt be, vagy azok közül sorokat törölt A T1 tranzakció által először olvasott aggregált értéket nem lehet újra beolvasni 72/43 B IT MAN

44 Tranzakció menedzser Ha gyorsítani akarjuk a tranzakciók végrehajtását, meg kell engedni, hogy a rendszerben egyszerre több tranzakció fusson párhuzamosan. Az egyes tranzakciók ilyenkor nem elszigetelten (izoláltan) futnak a rendszerben Ha a tranzakciók ugyanazokat az adatokat kezelik, konfliktusok keletkezhetnek közöttük. A konfliktusok elkerülése érdekében a Transaction Manager (TM) átrendezheti a tranzakciók végrehajtási sorrendjét Igényelt Megvalósult r1(x) w1(x) c1 r1(x) w1(x) c1 r2(x) w2(x) c2 r2(x) w2(x) c2 72/44 B IT MAN

45 Izolációs szintek A DBMS-ek által biztosított izolációs szintek (tranzakció függetlenségi fokok): 0.szint anarchia, minden hibajelenség felléphet 1.szint nincs átlapolt írás (nincs lost update) 2.szint első szint és nincs piszkos olvasás 3.szint második szint és ismételhető az olvasás 72/45 B IT MAN

46 Izolációs szintek beállítása SQL-ben SET TRANSACTION ISOLATION LEVEL szint A szint paraméter lehetséges értékei: NOLOCK READ UNCOMMITED READ COMMITED REPEATABLE READ SERIALIZABLE 72/46 B IT MAN

47 Izolációs szintek (1) NOLOCK Nem foglalja le a tranzakció által érintett objektumokat. A tranzakciók nem támogatottak, nincs tranzakció kezelés. 0. szint 72/47 B IT MAN

48 Izolációs szintek (2) READ UNCOMMITED Piszkos, véglegesítés előtti adatok is olvashatók, Átlapolt írás nem megengedett. 1. szint Olvasáskor mindig az aktuális (módosított) értéket kapjuk, még akkor is, ha az adott insert/update tranzakciót a kezdeményező nem commit-olta. A következő problémák léphetnek fel: Dirty read, Non repeatable read, Phantom read. 72/48 B IT MAN

49 Izolációs szintek (3) READ COMMITED Csak véglegesített, tiszta adatok olvashatók. 2. szint Olvasáskor mindig az adott rekord véglegesített értéket kapjuk. Ez az esetek 99%-ra használható, a tranzakcióink mindig csak olyan rekordokat olvasnak, amik véglegesítve vannak, azaz nincs nyitott tranzakció, ami dolgozna rajtuk. A baj ezzel az, hogy ha sokan írják és olvassák az adott rekordot vagy táblát akkor könnyen kialakulhat az a helyzet, hogy az olvasó tranzakciók arra várnak hogy az írás (pl egy nagy tábla update-je) befejeződjön. Ez a főleg a rekordokra vonatkozik így csak a piszkos olvasástól véd. Probléma lehet: Non repeatable read, Phantom read. 72/49 B IT MAN

50 Izolációs szintek (4) REPEATABLE READ Teljesül az ismételhető olvasás, két olvasás között bővülhet a tábla. 3. szint Ez annyival jobb a READ COMMITTED-nél, hogy már a nonrepeatable read hibát is képes kiszűrni a tranzakcióból. Egyszerűbben: csak a rekordok véglegesített értékeit használja, és a rekordok tranzakció közbeni törlése nem befolyásolja a select-eket. Ebben az esetben csak egy probléma marad: Phantom read 72/50 B IT MAN

51 Izolációs szintek (5) SERIALIZABLE A teljesen soros végrehajtást kérvényezi, nincs elméleti izolációs szint (3. szint), mindennemű módosítás tiltott. Annyival több a REPEATABLE READ-től, hogy más tranzakció nem írhatja felül a mi tranzakciónk által olvasott értékeket, azaz addig várakoztatja azokat míg be nem fejeződik a tranzakciónk. Így nem fognak tranzakció közben fantom sorok keletkezni a táblában. Itt elég problémás lehet, ha több résztvevő folyamatosan olvas egy táblát, amíg az updatelő szál várakozik, mert a tábla lock-olva van és nem tud bele írni 72/51 B IT MAN

52 Zárolás Az egyik legismertebb és leginkább elterjedt tranzakció kezelési módszer. A tranzakció rátelepszik, lefoglalja az objektumot arra az időre, amíg használni szeretné. A zárolás hatására a többi tranzakció korlátozva van az objektum elérésében, ezért rendszerint várakozásra kényszerülnek. A várakozás akkor vagy oldódik fel, ha újra elérhető már az objektum. l1(x) r1(x) w1(x) u1(x) lock unlock 72/52 B IT MAN

53 Zárolás (2) A zárolás nem akadályozza az adatok olvasását, csak a mások által való módosítást Nyilván kell tartani objektumonként kiegészítő információkat: Szabad-e, Ki foglalja (felszabadításnál tudni kell) Nő a holtpont esélye Helytöbblettel jár a zárolás 72/53 B IT MAN

54 Zárolási szintek Mező szintű zárolás Rekord szintű zárolás Tábla szintű zárolás 72/54 B IT MAN

55 A zárolások finomsága A különböző adatbázis-kezelők eltérnek abban, hogy milyen fajta adattételek zárolását teszik lehetővé. Van amelyik mezők, van amelyik rekordok, és van amelyik teljes relációk zárolását megengedi. Minél nagyobb a zárolt objektum, annál nagyobb az esélye annak, hogy egy tranzakciónak egy másikra kell várnia, még akkor is, ha a két tranzakció ténylegesen nem ugyanazt az adatelemet szeretné elérni. Viszont minél kisebb a zárolható adattétel, annál terjedelmesebb és bonyolultabb a zárolást kezelő mechanizmus. 72/55 B IT MAN

56 Előnyök és hátrányok Előny Hátrány Mező szintű zárolás Nagyobb fokú párhuzamosság Jelentősebb konkurencia Sokkal több kiegészítő információt kell tárolni és karbantartani Jelentős hely, idő és költségnövekedés Tábla szintű zárolás Sokkal egyszerűbb nyílvántartani Gyorsabban adminisztrálható Nagyon lecsökkenti a konkurenciát Nagyon sokáig kell várakozni a párhuzamosan futó tranzakcióknak egymásra 72/56 B IT MAN

57 Zárolási idő Alapelv: csak addig zároljunk egy objektumot, ameddig szükséges Lefoglalás: amikor szükség van rá Felengedés: adatok véglegesítése után, tranzakció végén Hiba: ha a művelet után azonnal felengednénk T2 olvashatna T1 által írt, nem véglegesített objektumot RA, ACA feltétel sérülne 72/57 B IT MAN

58 Kétfázisú zárolás (2PL Two-Phase Locking) 1. fázis: zárolások lefoglalása 2. fázis: zárolások felengedése a tranzakció végén Kétfázisú zárolás esetén a tranzakció végéig csak zárolások történhetnek, majd a tranzakció végén egyidejűleg történik a zárolások felengedése. Minden zárolási művelet megelőz minden feloldást. A legtöbb RDBMS-ben 2PL zárolás biztosítja az ACIDelveknek megfelelő history-k megvalósítását 72/58 B IT MAN

59 Mely műveleteknél zároljunk? ST és SR szabályok: A konkurens műveleteknek sorosan kell végrehajtódniuk, beleértve a tranzakciók lezárási utasításait is Írási műveletkor szükséges a zárolás Egyébként RA követelmény sérülne l1(x) w1(x) Olvasáskor is szükséges lehet az olvasás Lost update jelenség elkerülése l1(x) r1(x) A gyakorlatban kissé módosul a zárolás 72/59 B IT MAN

60 Zárolás típusok Normál zárolás: Zárolás alatt más tranzakció nem olvashatja és/vagy írhatja a foglalt elemet Írási és olvasási zárolás: Írási zárolás: Más tranzakció se nem olvashatja, se nem írhatja az objektum értékét Olvasási zárolás: Csak a másik tranzakció általi értékmódosítást akadályozza meg 72/60 B IT MAN

61 Példa normál zárolásra Zárolás nélkül: lost update r1(x) w1(x+3) c1 r2(x) w2(x+5) c2 Normál zárolással: l1(x) r1(x) w1(x+3) c1 u1(x) l2(x) r2(x) w2(x+5) c2 u2(x) T2 lefoglalja x-et, az r1(x) már nem tud végrehajtódni r1(x) megvárja T2 befejezését, x elengedését T1 lefoglalja x-et, megnöveli értékét. Lost update elkerülve! 72/61 B IT MAN

62 Példa írási-olvasási zárolásra Zárolás nélkül: lost update r1(x) w1(x+3) c1 r2(x) w2(x+5) c2 Írási-olvasási zárolással: l1r(x) r1(x) l1w(x) w1(x+3) c1 u1(x) l2r(x) r2(x) l2w(x) w2(x+5) c2 T2 zárolja x-et olvasásra, aztán beolvassa T1 olvashatja x-et, ezért zárolja olvasásra, és beolvassa T1 zárolja x-et írásra, kiírja, véglegesítődik a tranzakció T1 felengedi az x írási és az olvasási zárát T2 T1 zárolja x-et írásra, kiírja, véglegesítődik a tranzakció A lost update megmaradt, hiszen T2 w1(x+3) előtt olvasta ki x-et! Hibás a zárolás megoldása! 72/62 B IT MAN

63 Helyesen formált zárolás Minden művelet előtt van egy zárolás A művelet elvégzése után a zárolást fel kell engedni l1(x) w1(x) u1(x) 72/63 B IT MAN

64 Helyes zárolás Helyesen formált a zárolás Minden műveletet zárol Van írási és olvasási zárolás A 2PL teljesül, a tranzakció végén felengedve az objektumokat A helyes zárolás ST SR history-t ad! Megjegyzés: a helyes zárolás teljes izolációt eredményez, a gyakorlatban sokszor enyhítenek a szigoron a párhuzamosság megvalósítása miatt 72/64 B IT MAN

65 Zárolás felminősítése Ha minden műveletet egyenként zárolunk, és aztán feloldjuk a zárolást, nem lesz a zárolás kétfázisú (2PL) Ez esetben másik tranzakció megszerezheti az adott objektumot az elindított tranzakciótól Ezért egy tranzakció csak egyszer zárolhat, és ha írni is akar, akkor az adott objektumot írásra kell zárolni. l1w(x)... r1(x) w1(x) c1 u1(x) 72/65 B IT MAN

66 Zárolás felminősítése Probléma: Nem biztos, hogy a tranzakció tudja előre, hogy írni is fog Nagyon lecsökkenti a párhuzamosság lehetőségét, mivel túl hamar lefoglalja kizárólagos használatra az x objektumot Megoldás: A zárolást felengedés nélkül egy magasabb szintre kell vinni l1r(x)... l1w(x) r1(x) w1(x) c1 u1(x) 72/66 B IT MAN

67 Zárolások gyenge pontja A zárolások biztos megoldást nyújtanak a helyes history megvalósításra Gyenge pont: A tranzakciók várakozásra kényszerítése Többen várakoznak körbevárakozás alakulhat ki végtelen várakozás (deadlock, holtpont) l1(x) x rq(x) T1 DEADLOCK T2 rq(y) y l2(y) l: lock, zárolás rq: kérés, igénylés : várakozás 72/67 B IT MAN

68 Deadlock kezelése l1(x) x rq(x) T1 DEADLOCK T2 rq(y) y l2(y) Egyik tranzakció sem tud továbblépni, mindkettő a végtelenségig várakozna Megoldási módszerek: Detektálás, aztán az egyik tranzakció abortálása Feloldási módszerek: TimeOut módszer Wait-For Graph 72/68 B IT MAN

69 Timeout mechanizmus A rendszer figyeli, mennyi ideig várakozott a tranzakció a zárolás feloldására Ha a várakozási idő túllép egy megadott időhatárt, akkor a TM (tranzakció menedzser) deadlock jelenségként értékeli, melyet fel kell oldani Egyik megoldás: Valamelyik tranzakció abortálása Abortálandó tranzakció kiválasztására számos stratégia létezhet ~ OS memóriakezelés Kérdés: mit preferálunk? Eltöltött idő Elvégzett módosítások Még hátralévő idő 72/69 B IT MAN

70 Wait-For Graph A gráf elemei a futó tranzakciók A gráf élei irányítottak T1-ből mutat él T2-be, ha van olyan objektum, amit T2 lefoglalt és T1 is szeretne elérni, és T1 ezen objektum felszabadulására vár Deadlock jelentése a várakozások szintjén: Nincs vége a várakozási láncnak, azaz nincs esély, hogy a várakozási lánc valamikor is megszűnjön WFG gráfban: Akkor van deadlock, ha a létezik körút Amennyiben a gráf körútmentes, úgy a history végrehajtása során nem lépett fel deadlock 72/70 B IT MAN

71 Wait-For Graph T1 T2 T1 T2 T4 T5 T3 T5 T3 Körútmentes Deadlock 72/71 B IT MAN

72 VÉGE VÉGE 72/72 B IT MAN

B I T M A N B I v: T M A N

B I T M A N B I v: T M A N Adatbázis Rendszerek II. 6. Ea: Tranzakciók B I v: T 2014.02.15 M A N 1/39 Párhuzamosság Hasznos és kényelmes a felhasználó oldaláról Kihívás problémák a konkurens végrehajtásnál konfliktus helyzetek (azonos

Részletesebben

Adatbázis rendszerek II. VII-VIII. előadás Előadó: Barabás Péter Dátum: 2008. 11. 13./2008.11.20. Osztott erőforrások OS DB 2 Párhuzamosság hasznos és kényelmes a felhasználó oldaláról kihívás problémák

Részletesebben

Adatbázisok II Jánosi-Rancz Katalin Tünde 327A 1-1

Adatbázisok II Jánosi-Rancz Katalin Tünde 327A 1-1 Adatbázisok II. 2-3 Jánosi-Rancz Katalin Tünde tsuto@ms.sapientia.ro 327A 1-1 Tranzakciókezelés 1-2 Osztott erőforrások konfliktus helyzetek (azonos erőforrás igény) 1-3 Tranzakciókezelés Eddig feltételeztük:

Részletesebben

Tranzakció-kezelés, alapfogalmak. Vassányi István, 2012.

Tranzakció-kezelés, alapfogalmak. Vassányi István, 2012. Tranzakció-kezelés, alapfogalmak Vassányi István, 2012. ACID tulajdonságok Tranzakció: az üzleti folyamat egy logikailag összetartozó lépéssorozata atomicity: nem valósulhat meg részlegesen consistency:

Részletesebben

Optimista konkurenciavezérlés

Optimista konkurenciavezérlés Optimista konkurenciavezérlés Léteznek zárolás nélküli módszerek is a tranzakciók sorba rendezhetségének a biztosítására. idpecsét érvényesítés. Optimista: feltételezik, hogy nem fordul el nem sorba rendezhet

Részletesebben

Tranzakciók az SQL-ben

Tranzakciók az SQL-ben Tranzakciók az SQL-ben Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 6.6. Tranzakciók az SQL-ben (Gyakorlaton csak SAVEPOINT, COMMIT és ROLLBACK lesz. Ez

Részletesebben

Adatbázisrendszerek 9. előadás: Tranzakciók és konkurencia

Adatbázisrendszerek 9. előadás: Tranzakciók és konkurencia Adatbázisrendszerek kezelés 2018. április 10. 2 Egyfelhasználós rendszer. Egyidőben legfeljebb egy felhasználó használhatja a rendszert. Többfelhasználós rendszer. Egyidejűleg (konkurens módon) több felhasználó

Részletesebben

Tranzakciók, nézettáblák, indexek. Párhuzamos folyamatok irányítása Virtuális és materializált nézettáblák Az adathozzáférés felgyorsítása

Tranzakciók, nézettáblák, indexek. Párhuzamos folyamatok irányítása Virtuális és materializált nézettáblák Az adathozzáférés felgyorsítása Tranzakciók, nézettáblák, indexek Párhuzamos folyamatok irányítása Virtuális és materializált nézettáblák Az adathozzáférés felgyorsítása 1 Miért van szükség tranzakciókra? Az adatbázis rendszereket általában

Részletesebben

9.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

9.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK) 9.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ Adatbázis-kezelő rendszerek áttekintése, alapfogalmak Tankönyv: 1.fejezet: Az adatbázisrendszerek világa Adatbázisok-1 (Hajas

Részletesebben

Adatbázisok elmélete 24. előadás

Adatbázisok elmélete 24. előadás Adatbázisok elmélete 24. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2005 ADATBÁZISOK ELMÉLETE

Részletesebben

12. előadás. Tranzakció kezelés és konkurencia kontroll. Adatbázisrendszerek előadás december 12.

12. előadás. Tranzakció kezelés és konkurencia kontroll. Adatbázisrendszerek előadás december 12. 12. előadás Tranzakció kezelés és kontroll Adatbázisrendszerek előadás 2016. december 12., és Debreceni Egyetem Informatikai Kar Az előadások Elmasry & Navathe: Database Systems alapján készültek. 12.1

Részletesebben

C# Szálkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21

C# Szálkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21 C# Szálkezelés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21 Tartalomjegyzék 1 Bevezetés 2 Szálkezelés 3 Konkurens Programozás Tóth Zsolt (Miskolci Egyetem)

Részletesebben

ADATBÁZIS-KEZELÉS. Adatbázis-kezelő rendszerek

ADATBÁZIS-KEZELÉS. Adatbázis-kezelő rendszerek ADATBÁZIS-KEZELÉS Adatbázis-kezelő rendszerek Adat (Data) Észlelhető, felfogható ismeret Jelsorozat Tény, közlés Valakinek vagy valaminek a jellemzője Adatbázis (Data Base, DB) Hosszú ideig évekig meglévő

Részletesebben

Tranzakciókezelés PL/SQL-ben

Tranzakciókezelés PL/SQL-ben Tranzakciókezelés PL/SQL-ben ACID tulajdonságok: Tranzakció Atomosság, Konzisztencia, Izoláció, Tartósság A tranzakció állhat: - Több DML utasításból - Egy DDL utasításból A tranzakció kezdete az első

Részletesebben

Adatbázisok elmélete 24. előadás

Adatbázisok elmélete 24. előadás Adatbázisok elmélete 24. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2005 ADATBÁZISOK ELMÉLETE

Részletesebben

Szálkezelés. Melyik az a hívás, amelynek megtörténtekor már biztosak lehetünk a deadlock kialakulásában?

Szálkezelés. Melyik az a hívás, amelynek megtörténtekor már biztosak lehetünk a deadlock kialakulásában? Szálkezelés 1. A szekvencia diagram feladata az objektumok egymás közti üzenetváltásainak ábrázolása egy időtengely mentén elhelyezve. Az objektumok életvonala egy felülről lefelé mutató időtengely. A

Részletesebben

Adatbázisok* tulajdonságai

Adatbázisok* tulajdonságai Gazdasági folyamatok térbeli elemzése 4. előadás 2010. 10. 05. Adatbázisok* tulajdonságai Rendezett, logikailag összefüggő és meghatározott szempont szerint tárolt adatok és/vagy információk halmaza Az

Részletesebben

SQL jogosultság-kezelés. Privilégiumok Grant és Revoke Grant Diagrammok

SQL jogosultság-kezelés. Privilégiumok Grant és Revoke Grant Diagrammok SQL jogosultság-kezelés Privilégiumok Grant és Revoke Grant Diagrammok 1 Jogosultság-kezelés Egy fájlrendszer általában jogosultságokat rendel az általa kezelt objektumokhoz. Tipikusan olvasható, írható,

Részletesebben

Adatbázisok elmélete 18. előadás

Adatbázisok elmélete 18. előadás Adatbázisok elmélete 18. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2004 ADATBÁZISOK ELMÉLETE

Részletesebben

Adatbázisok I. Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

Adatbázisok I. Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER Adatbázisok I 1 SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER Módosítás: DML: - rekord felvitel INSERT - rekord törlés

Részletesebben

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai: 8. Gyakorlat SQL SQL: Structured Query Language; a relációs adatbáziskezelők szabványos, strukturált lekérdező nyelve SQL szabványok: SQL86, SQL89, SQL92, SQL99, SQL3 Az SQL utasításokat mindig pontosvessző

Részletesebben

Az adatbázisrendszerek világa

Az adatbázisrendszerek világa Az adatbázisrendszerek világa Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 1.1. Az adatbázisrendszerek fejlődése 1.2. Az adatbázis-kezelő rendszerek áttekintése

Részletesebben

Adatbázis tartalmának módosítása (DML), az adatbázis-kezelı rendszerek felépítése,

Adatbázis tartalmának módosítása (DML), az adatbázis-kezelı rendszerek felépítése, Adatbázis tartalmának módosítása (DML), az adatbázis-kezelı rendszerek felépítése, Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 6.5. Változtatások az adatbázisban:

Részletesebben

Címkék és ágak kezelése i. Címkék és ágak kezelése

Címkék és ágak kezelése i. Címkék és ágak kezelése i Címkék és ágak kezelése ii KÖZREMŰKÖDŐK CÍM : Címkék és ágak kezelése TEVÉKENYSÉG NÉV DÁTUM ALÁÍRÁS ÍRTA Jeszenszky, Péter 2014. február 16. VERZIÓTÖRTÉNET VERZIÓ DÁTUM LEÍRÁS NÉV iii Tartalomjegyzék

Részletesebben

Adatbázisok elmélete 18. előadás

Adatbázisok elmélete 18. előadás Adatbázisok elmélete 18. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat ADATBÁZISOK ELMÉLETE 18.

Részletesebben

ADATBÁZISOK: TAN7.EA témaköre SQL DDL, DML, DCL, Tranz.kez.

ADATBÁZISOK: TAN7.EA témaköre SQL DDL, DML, DCL, Tranz.kez. ADATBÁZISOK: TAN7.EA témaköre SQL DDL, DML, DCL, Tranz.kez. (info. tanárszakon és fizikusoknak) 8.1.-8-2. folyt.sql DDL. Nézettáblák 10.1. SQL DCL. Biztonság és felhasználói jogosultságok SQL-ben GRANT

Részletesebben

Adatbázisok elmélete 21. előadás

Adatbázisok elmélete 21. előadás datbázisok elmélete 21. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2005 DTBÁZISOK ELMÉLETE 21.

Részletesebben

Ellenőrző kérdések. 5. Kis dolgozat kérdései. (9-10. előadás)

Ellenőrző kérdések. 5. Kis dolgozat kérdései. (9-10. előadás) Ellenőrző kérdések 5. Kis dolgozat kérdései (9-10. előadás) 164. Adjunk meg a működés közbeni ellenőrzőpont képzésének lépéseit Undo naplózás esetén! (6 pont) 1. naplóbejegyzés készítése,

Részletesebben

Lineáris. Soros. Okozati FIFO. Belépő

Lineáris. Soros. Okozati FIFO. Belépő 10. előadás Konzisztencia és többszörözés 2. rész Adatközpontú konziszteniamodellek összehasonlítása Konzisztencia Szigorú Lineáris Soros Okozati FIFO Konzisztencia Gyenge Feloldó Belépő Leírás Valamennyi

Részletesebben

Az Oracle rendszer komponensei

Az Oracle rendszer komponensei Az Oracle rendszer komponensei Célok Az Oracle szerver felépítésének és fő komponenseinek megismerése Annak bemutatása, hogy egy felhasználó Oracle példányhoz (instance) kapcsolódása hogy történik A következő

Részletesebben

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán Adatbázis rendszerek Molnár Bence Szerkesztette: Koppányi Zoltán Tematika Indexek Tárolt (SQL) eljárások (SQL) Triggerek Tranzakciók Hibatűrés Piaci helyzet Adatbázisok kezelése Az adatbázis-kezelő rendszerek

Részletesebben

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni: 1 Adatbázis kezelés 2. gyakorlat A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni: Táblák létrehozása,

Részletesebben

2MU09f_Konkvez_feladatok.pdf Feladatok a tranzakciókezelésbıl

2MU09f_Konkvez_feladatok.pdf Feladatok a tranzakciókezelésbıl 2MU09f_Konkvez_feladatok.pdf Feladatok a tranzakciókezelésbıl Molina-Ullman-Widom: Adatbázisrendszerek megvalósítása Panem, 2001. >> 9.fejezet Konkurenciavezérlés Vegyünk egy objektum orientált adatbázist.

Részletesebben

SQLServer. SQLServer konfigurációk

SQLServer. SQLServer konfigurációk SQLServer 2. téma DBMS installáció SQLServer konfigurációk 1 SQLServer konfigurációk SQLServer konfigurációk Enterprise Edition Standart Edition Workgroup Edition Developer Edition Express Edition 2 Enterprise

Részletesebben

Elosztott adatfeldolgozás

Elosztott adatfeldolgozás Elosztott adatfeldolgozás Bujáki Attila Bujaki.Attila@gmail.com Adatbázisok haladóknak 2012. 2012. Október 9. Miről lesz szó? Elosztottságról általában Adatreplikáció, Georeplikáció általánosan Georeplikáció

Részletesebben

Java és web programozás

Java és web programozás Budapesti M szaki Egyetem 2013. november 20. 10. El adás SQLite SQLite: Adatbázis kezel rendszer SQL standardokat nagyrészt követi Nagyon elterjedt, pl böngész kben is használt Nehéz olyan programnyelvet

Részletesebben

B I T M A N B I v: T 2015.03.01 M A N

B I T M A N B I v: T 2015.03.01 M A N Adatbázis Rendszerek MSc 2. Gy: MySQL Táblák, adatok B I v: T 2015.03.01 M A N 1/41 Témakörök SQL alapok DDL utasítások DML utasítások DQL utasítások DCL utasítások 2/41 Az SQL jellemzése Az SQL a relációs

Részletesebben

Adatbázis rendszerek I

Adatbázis rendszerek I Normalizálás 1NF 2NF BCNF Adatbázis rendszerek I 20111201 1NF 2NF BCNF Ha BCNF 2NF A B B A 2NF BCNF 2NF részkulcsból indul ki FD létezik FD, amely nem jelölt kulcsból indul ki Jelölt kulcs olyan mezőcsoport

Részletesebben

Termelő-fogyaszt. fogyasztó modell

Termelő-fogyaszt. fogyasztó modell Termelő-fogyaszt fogyasztó modell A probléma absztrakt megfogalmazása Adott egy N 1 kapacitású közös tároló. Adott a folyamatok két csoportja, amelyek a tárolót használják. n 1 termelő folyamat, m 1 fogyasztó

Részletesebben

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak. Párhuzamos programok Legyen S parbegin S 1... S n parend; program. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak. Folyamat

Részletesebben

Az SQL adatbázisnyelv: DML

Az SQL adatbázisnyelv: DML Az SQL adatbázisnyelv: DML Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 6.5. Az adatbázis tartalmának módosítása (DML utasítások) INSERT, DELETE, UPDATE

Részletesebben

Adatbázis rendszerek SQL nyomkövetés

Adatbázis rendszerek SQL nyomkövetés Adatbázis rendszerek 1. 12. SQL nyomkövetés 1/32 B ITv: MAN 2017.10.26 Nyomkövetési feladat 2/32 Gyakorló feladatok Termék-Vásárlás-Vásárló Oktató-Tantárgy-Hallgató 3/32 Gyakorló feladat: Termék-Vásárlás-Vásárló

Részletesebben

Adatbázis tartalmának módosítása. SQL DML utasítások

Adatbázis tartalmának módosítása. SQL DML utasítások Adatbázis tartalmának módosítása Tankönyv: Ullman-Widom: SQL DML utasítások Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 6.3. Alkérdések a záradékokban (folyt) (where, having

Részletesebben

Adatbázis kezelés Delphiben. SQL lekérdezések

Adatbázis kezelés Delphiben. SQL lekérdezések Adatbázis kezelés Delphiben. SQL lekérdezések Structured Query Language adatbázisok kezelésére szolgáló lekérdező nyelv Szabályok: Utasítások tetszés szerint tördelhetők Utasítások végét pontosvessző zárja

Részletesebben

Adatbázis rendszerek II. IX. előadás Adatbázisok védelmi eszközei Előadó: Barabás Péter Dátum: 2008. 11.27. Védelem általában jogosulatlan hozzáférések információ védelme nem csak DBMS rendszerekben van

Részletesebben

Fájlszervezés. Adatbázisok tervezése, megvalósítása és menedzselése

Fájlszervezés. Adatbázisok tervezése, megvalósítása és menedzselése Fájlszervezés Adatbázisok tervezése, megvalósítása és menedzselése Célok: gyors lekérdezés, gyors adatmódosítás, minél kisebb tárolási terület. Kezdetek Nincs általánosan legjobb optimalizáció. Az egyik

Részletesebben

Java és web programozás

Java és web programozás Budapesti Műszaki Egyetem 2015. 04. 08. 10. Előadás Ami kimearad múlthéten Ha már megvan a KeyListener vagy MouseListener osztályunk a következõ módon tudjuk hozzárendelni egy JFrame vagy JPanel-hez: Ami

Részletesebben

SQL DDL-2 (aktív elemek) triggerek

SQL DDL-2 (aktív elemek) triggerek SQL DDL-2 (aktív elemek) triggerek Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 7.fej.: Megszorítások és triggerek 7.4. Önálló megszorítások 7.5. Triggerek

Részletesebben

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Adatbázis-lekérdezés. Az SQL nyelv. Makány György Adatbázis-lekérdezés Az SQL nyelv Makány György SQL (Structured Query Language=struktúrált lekérdező nyelv): relációs adatbázisok adatainak visszakeresésére, frissítésére, kezelésére szolgáló nyelv. Születési

Részletesebben

Adatbázis Rendszerek II. 8. Gyakorló környezet

Adatbázis Rendszerek II. 8. Gyakorló környezet Adatbázis Rendszerek II. 8. Gyakorló környezet 1/24 B IT v: 2017.10.26 MAN Gyakorló környezet Géptermek 193.6.5.58:8080/apex H16_neptunkód ADMIN neptunkód 2/24 Jelszó váltás 1 2 3 4 3/24 Gyakorló környezet

Részletesebben

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei 1. Mi az elsődleges következménye a gyenge logikai redundanciának? inkonzisztencia veszélye felesleges tárfoglalás feltételes függés 2. Az olyan tulajdonság az egyeden belül, amelynek bármely előfordulása

Részletesebben

A könyv tartalomjegyzéke

A könyv tartalomjegyzéke A könyv tartalomjegyzéke Elıszó Bevezetés Adatbázis-kezelı rendszerek Adatmodellezés Alapfogalmak Egyedhalmaz, egyed Kapcsolat, kapcsolat-elıfordulás, kapcsolat típusa Tulajdonság, tulajdonságérték, értékhalmaz

Részletesebben

SQLServer. Particionálás

SQLServer. Particionálás SQLServer 11. téma DBMS particiók, LOG shipping Particionálás Tábla, index adatinak szétosztása több FileGroup-ra 1 Particionálás Előnyök: Nagy méret hatékonyabb kezelése Részek önálló mentése, karbantartása

Részletesebben

OO PDO. Tehát PDO használatával, könnyen átállhatunk egy másik adatbáziskezelőre, anélkül hogy a kódot teljes egészében újraírnánk.

OO PDO. Tehát PDO használatával, könnyen átállhatunk egy másik adatbáziskezelőre, anélkül hogy a kódot teljes egészében újraírnánk. OO PDO PDO VS MYSQLi VS MYSQL ================================================================================ A PHP mysql metódusai elavultak, helyette lehet hazsnálni a MYSQLi metódusokat, amelyek szinte

Részletesebben

Adatbázis használat I. 5. gyakorlat

Adatbázis használat I. 5. gyakorlat Adatbázis használat I. 5. gyakorlat Tudnivalók Jövő hétre a normalizálást hozni vagy e- mailben beküldeni! 7. héten (= két hét múlva!) nagyzh + FF checkpoint: adattáblák feltöltése, megszorítások 2010.

Részletesebben

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) közönséges felhasználók SQL*Plus Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP dolgozó), DEPT osztály) "közönséges" felhasználók Adatszótár: metaadatokat tartalmazó, csak olvasható táblák táblanév-prefixek:

Részletesebben

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu Számonkérés 2 Papíros (90 perces) zh az utolsó gyakorlaton. Segédanyag nem használható Tematika 1. félév 3 Óra Dátum Gyakorlat 1. 2010.09.28.

Részletesebben

Operációs rendszerek. 3. gyakorlat. Jogosultságkezelés, linkelés, csővezeték UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek. 3. gyakorlat. Jogosultságkezelés, linkelés, csővezeték UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED Jogosultságkezelés, linkelés, csővezeték Operációs rendszerek 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik

Részletesebben

Adatbázis tartalmának módosítása

Adatbázis tartalmának módosítása Adatbázis tartalmának módosítása Tankönyv 6.5. Változtatások az adatbázisban A módosító utasítások nem adnak vissza eredményt, mint a lekérdezések, hanem az adatbázis tartalmát változtatják meg. 3-féle

Részletesebben

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t Ellenőrző kérdések 2. Kis dolgozat kérdései 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t 37. Ha t szintű indexet használunk,

Részletesebben

Operációs rendszerek II. Holtpont

Operációs rendszerek II. Holtpont Holtpont Holtpont (deadlock) fogalma A folyamatok egy csoportja olyan eseményre vár, amelyet egy másik, ugyancsak várakozó folyamat tud előidézni. Esemény: tipikusan erőforrás felszabadulása. Kiéheztetés

Részletesebben

6.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

6.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK) 6.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ SQL gyakorlatban: SQL DML, SQL DDL 6.5. Változtatások az adatbázisban: SQL DML adatkezelő utasítások: INSERT, DELETE, UPDATE

Részletesebben

Gyorsított jegybeírás. Felhasználói dokumentáció verzió 2.0.

Gyorsított jegybeírás. Felhasználói dokumentáció verzió 2.0. Gyorsított jegybeírás Felhasználói dokumentáció verzió 2.0. Budapest, 2006 Változáskezelés Verzió Dátum Változás Pont Cím Oldal Kiadás: 2006.02.17. Verzió: 2.0. Oldalszám: 2 / 19 Tartalomjegyzék 1. Bevezetés...

Részletesebben

Elosztott adatbázis-kezelő formális elemzése

Elosztott adatbázis-kezelő formális elemzése Elosztott adatbázis-kezelő formális elemzése Szárnyas Gábor szarnyas@mit.bme.hu 2014. december 10. Budapesti Műszaki és Gazdaságtudományi Egyetem Hibatűrő Rendszerek Kutatócsoport Budapesti Műszaki és

Részletesebben

Adatbázisok biztonsága

Adatbázisok biztonsága Adatbázisok biztonsága 13 1 Célkitőzések 1. Titoktartás (Secrecy): olyan felhasználó, akinek nincs joga, ne férjen hozzá az információkhoz. pl. egy diák ne láthassa más diák kreditjeit. 2. Sértetlenség

Részletesebben

Adatbázisok elmélete 1. előadás

Adatbázisok elmélete 1. előadás Adatbázisok elmélete 1. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2004 ADATBÁZISOK ELMÉLETE

Részletesebben

Adatbázisok I. Jánosi-Rancz Katalin Tünde tsuto@ms.sapientia.ro 327A 1-1

Adatbázisok I. Jánosi-Rancz Katalin Tünde tsuto@ms.sapientia.ro 327A 1-1 Adatbázisok I. 1 Jánosi-Rancz Katalin Tünde tsuto@ms.sapientia.ro 327A 1-1 1-2 Ajánlott irodalom C. J. Date - An introduction to Database System (6) Békési-Geda-Holovács-Perge : Adatbázis-kezelés, EKF

Részletesebben

ADATBÁZIS-KEZELÉS ALAPOK I.

ADATBÁZIS-KEZELÉS ALAPOK I. ADATBÁZIS-KEZELÉS ALAPOK I. AZ ADATBÁZIS FOGALMA Az adatbázis tágabb értelemben egy olyan adathalmaz, amelynek elemei egy meghatározott tulajdonságuk alapján összetartozónak tekinthetők. Az adatbázis-kezelőknek

Részletesebben

AB1 ZH mintafeladatok. 6. Minősítse az állításokat! I-igaz, H-hamis

AB1 ZH mintafeladatok. 6. Minősítse az állításokat! I-igaz, H-hamis AB1 ZH mintafeladatok 1. Töltse ki, és egészítse ki! Matematikai formalizmus arra, hogy hogyan építhetünk új relációkat a régi relációkból. Az adatoknak egy jól strukturált halmaza, amelyből információ

Részletesebben

Adatbázisok I 2012.05.11. Adatmodellek komponensei. Adatbázis modellek típusai. Adatbázisrendszer-specifikus tervezés

Adatbázisok I 2012.05.11. Adatmodellek komponensei. Adatbázis modellek típusai. Adatbázisrendszer-specifikus tervezés Adatbázisok I Szemantikai adatmodellek Szendrői Etelka PTE-PMMK Rendszer és Szoftvertechnológiai Tanszék szendroi@pmmk.pte.hu Adatmodellek komponensei Adatmodell: matematikai formalizmus, mely a valóság

Részletesebben

Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány)

Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány) Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány) 23/1 B IT v: 2018.10.31 MAN DML adatokon műveletet végző utasítások DML Data Manipulation Language Rekordok (sorok) beszúrása (felvitele) Mezők

Részletesebben

FIR WEBMODUL ALKALMAZÁS DIÁKIGAZOLVÁNY IGÉNYLÉS

FIR WEBMODUL ALKALMAZÁS DIÁKIGAZOLVÁNY IGÉNYLÉS Educatio Társadalmi Szolgáltató Nonprofit kft. FIR WEBMODUL ALKALMAZÁS DIÁKIGAZOLVÁNY IGÉNYLÉS Felhasználói kézikönyv Dokumentum állapota: Tervezet Verzió: 0.1.0 Tartalomjegyzék 1. Bevezetés... 3 2. Bejelentkezés...

Részletesebben

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa:

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa: 1. Tétel Az állomány két sort tartalmaz. Az első sorában egy nem nulla természetes szám van, n-el jelöljük (5

Részletesebben

Választó lekérdezés létrehozása

Választó lekérdezés létrehozása Választó lekérdezés létrehozása A választó lekérdezés egy vagy több rekordforrásból származó adatokat jelenít meg. A választó lekérdezések a táblák, illetve az adatbázis tartalmát nem változtatják meg,

Részletesebben

5. Gyakorlat. 5.1 Hálós adatbázis modell műveleti része. NDQL, hálós lekérdező nyelv:

5. Gyakorlat. 5.1 Hálós adatbázis modell műveleti része. NDQL, hálós lekérdező nyelv: 5. Gyakorlat 5.1 Hálós adatbázis modell műveleti része NDQL, hálós lekérdező nyelv: A lekérdezés navigációs jellegű, vagyis a lekérdezés megfogalmazása során azt kell meghatározni, hogy milyen irányban

Részletesebben

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17 Adatbázisok 8. gyakorlat SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT 2015. október 26. 2015. október 26. Adatbázisok 1 / 17 SQL nyelv Structured Query Language Struktúrált lekérdez

Részletesebben

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK Mérési Utasítás Linux/Unix jogosultságok és fájlok kezelése Linux fájlrendszerek és jogosultságok Linux alatt, az egyes fájlokhoz való hozzáférések szabályozása érdekében a fájlokhoz tulajdonost, csoportot

Részletesebben

Adatbáziskezelés. Indexek, normalizálás NZS 1

Adatbáziskezelés. Indexek, normalizálás NZS 1 Adatbáziskezelés Indexek, normalizálás NZS 1 Fáljszervezés módjai Soros elérés: a rekordok a fájlban tetszőleges sorrendben, például a felvitel sorrendjében helyezkednek el. A rekord azonosítója vagyis

Részletesebben

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén Miskolci Egyetem, Gépészmérnöki és Informatikai Kar Logisztikai Intézet Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén Szakdolgozat Név: Makláry Brigitta Neptun kód: EQP49C

Részletesebben

FORD Edifact IHS Import

FORD Edifact IHS Import FORD Edifact IHS Import 1149 Budapest, Egressy út 17-21. Telefon: +36 1 469 4021; fax: +36 1 469 4029 1/13 Tartalomjegyzék 1. FORD gyártói adatok betöltése... 3 1.1. Import Javasolt Ütemezése... 10 1.2.

Részletesebben

Folyamatos teljesítésű számlák tömeges generálása időszakonként, egyedi tételek kezelésének lehetőségével

Folyamatos teljesítésű számlák tömeges generálása időszakonként, egyedi tételek kezelésének lehetőségével Tömeges számlázás Folyamatos teljesítésű számlák tömeges generálása időszakonként, egyedi tételek kezelésének lehetőségével Tömeges számlázáshoz tartozó alap beállítások Tömeges számlázási adatok megadása

Részletesebben

Adatbázisok elmélete

Adatbázisok elmélete Adatbázisok elmélete Adatbáziskezelés, bevezető Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem Katona Gyula Y. (BME SZIT) Adatbázisok elmélete

Részletesebben

Táblakezelés: Open SQL Internal table. Tarcsi Ádám: Az SAP programozása 1.

Táblakezelés: Open SQL Internal table. Tarcsi Ádám: Az SAP programozása 1. Táblakezelés: Open SQL Internal table Tarcsi Ádám: Az SAP programozása 1. OPEN SQL Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 2 Open SQL Az Open SQL kulcsszavai: SELECT INSERT

Részletesebben

Operációs rendszerek. Holtpont

Operációs rendszerek. Holtpont Operációs rendszerek Holtpont Holtpont (deadlock) fogalma A folyamatok egy csoportja olyan eseményre vár, amelyet egy másik, ugyancsak várakozó folyamat tud előidézni. Esemény: tipikusan erőforrás felszabadulása.

Részletesebben

LBRA6i integrált rendszer

LBRA6i integrált rendszer LBRA6i integrált rendszer LIBRA 6i logolás és a log megtekintése Készítette: Libra Szoftver Zrt. Létrehozás dátuma: 2005.12.15. Utolsó módosítás: 2014.10.30. Referencia szám: LIBRA6i_UZEM_V_1.5 Verzió:

Részletesebben

ELTE SAP Excellence Center Oktatóanyag 1

ELTE SAP Excellence Center Oktatóanyag 1 Oktatóanyag 1 A dataset egy az alkalmazás-szerveren megtalálható illetve ott létrejövő szekvenciális fájl. Szerveroldali fájlkezelésre használják az SAP-ban. Megjegyzés: Amennyiben kliens oldalon található

Részletesebben

Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése

Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése BEVEZETÉS Célkitűzések Az Oracle10g felépítésének, használatának alapszíntű megismerése A relációs adatbázis-kezelés elméleti és gyakorlati vonatkozásainak áttekintése Az SQL, PL/SQL nyelvek használatának

Részletesebben

Adatmodellek. 2. rész

Adatmodellek. 2. rész Adatmodellek 2. rész Makány György Alapfogalmak JEL ADAT INFORMÁCIÓ ADATHALMAZ ADATÁLLOMÁNY ADATBÁZIS 2 Alapfogalmak JEL ADATHALMAZ észlelhető, felfogható fizikai érték ADAT a valós világ egy jelenségéből

Részletesebben

S04-2 Elosztott alkalmazások készítése

S04-2 Elosztott alkalmazások készítése S04-2 Elosztott alkalmazások készítése Tartalom 1. Többrétegű architektúra, elosztott szerveroldal 2. Kommunikációs eszközök: távolieljárás-hívás és üzenet alapú infrastruktúra (point-to-point és publish-subscribe

Részletesebben

Java programozási nyelv 9. rész Kivételkezelés

Java programozási nyelv 9. rész Kivételkezelés Java programozási nyelv 9. rész Kivételkezelés Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/24 Tartalomjegyzék

Részletesebben

Adatbázis-kezelés. Harmadik előadás

Adatbázis-kezelés. Harmadik előadás Adatbázis-kezelés Harmadik előadás 39 Műveletek csoportosítása DDL adat definiálás Objektum létrehozás CREATE Objektum törlés DROP Objektum módosítás ALTER DML adat módosítás Rekord felvitel INSERT Rekord

Részletesebben

Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv)

Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv) Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv) Az SQL a relációs adatbázis-kezelő rendszerek ma legelterjedtebb szabványosított adatbáziskezelő nyelve. Az IBM dolgozta ki 1983-ban,

Részletesebben

Csima Judit szeptember 6.

Csima Judit szeptember 6. Adatbáziskezelés, bevezető Csima Judit BME, VIK, Számítástudományi és Információelméleti Tanszék 2017. szeptember 6. Csima Judit Adatbáziskezelés, bevezető 1 / 20 Órák, emberek heti két óra: szerda 14.15-16.00

Részletesebben

Informatika szigorlat 9-es tétel: Az adatbázis-kezelő rendszerek fogalmai

Informatika szigorlat 9-es tétel: Az adatbázis-kezelő rendszerek fogalmai Informatika szigorlat 9-es tétel: Az adatbázis-kezelő rendszerek fogalmai Adatbázis: egymással valamilyen kapcsolatban lévő adatok jól szervezett halmaza, ahol az adatok számítógépen vannak tárolva úgy,

Részletesebben

ADATBÁZISKEZELÉS ADATBÁZIS

ADATBÁZISKEZELÉS ADATBÁZIS ADATBÁZISKEZELÉS 1 ADATBÁZIS Az adatbázis adott (meghatározott) témakörre vagy célra vonatkozó adatok gyűjteménye. - Pl. A megrendelések nyomon követése kereskedelemben. Könyvek nyilvántartása egy könyvtárban.

Részletesebben

MIRROR TRADING KEZELÉSI ÚTMUTATÓ ÉLES JELZÉS MÁSOLÁS

MIRROR TRADING KEZELÉSI ÚTMUTATÓ ÉLES JELZÉS MÁSOLÁS MIRROR TRADING KEZELÉSI ÚTMUTATÓ ÉLES JELZÉS MÁSOLÁS 1 A következő linken érhető el az online felület: http://platform.tradency.com/b138/fxgurumirrortrading/ A kereskedési platform a http://www.tradency.com/

Részletesebben

Operációs rendszerek be és kivitelkezelése, holtpont fogalma, kialakulásának feltételei, holtpontkezelési stratégiák, bankár algoritmus.

Operációs rendszerek be és kivitelkezelése, holtpont fogalma, kialakulásának feltételei, holtpontkezelési stratégiák, bankár algoritmus. Operációs rendszerek be és kivitelkezelése, holtpont fogalma, kialakulásának feltételei, holtpontkezelési stratégiák, bankár algoritmus. Input/Output I/O Hardware I/O eszközök (kommunikációs portok szerint

Részletesebben

RELÁCIÓS ADATBÁZISSÉMÁK. Egyed-kapcsolat modellről átírás

RELÁCIÓS ADATBÁZISSÉMÁK. Egyed-kapcsolat modellről átírás RELÁCIÓS ADATBÁZISSÉMÁK Egyed-kapcsolat modellről átírás A RELÁCIÓS ADATMODELL Az adatokat egyszerűen reprezentálja: kétdimenziós adattáblákban Minden sor azonos számú oszlopból áll; egy sor egy rekord,

Részletesebben

Adatbázis rendszerek I Kovács LászlL szló Az SQL nyelv speciális elemei SQL szabványok Több bb-lépcs pcsős s folyamat a fejlődése alap DDL, DML, DQL, tranzakció,index 1986: ANSI SQL 1987: ISO SQL 1989:

Részletesebben

FARFISA, FA/FC52 ELEKTRONIKUS KÓDZÁR

FARFISA, FA/FC52 ELEKTRONIKUS KÓDZÁR 1.oldal FARFISA, FA/FC52 ELEKTRONIKUS KÓDZÁR 2.oldal Az FC52 kódzárral két relét lehet működtetni a feltanított számkódok segítségével. Mindkét reléhez egyenként maximálisan 4 4 számkódot lehet felprogramozni.

Részletesebben