Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Marosvásárhely. ABR 2( Adatbázisrendszerek 2) 7. Előadás: Tranzakciók és zárolások a MySQL-ben

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

Download "Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Marosvásárhely. ABR 2( Adatbázisrendszerek 2) 7. Előadás: Tranzakciók és zárolások a MySQL-ben"

Átírás

1 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Marosvásárhely ABR 2( Adatbázisrendszerek 2) 7. Előadás: Tranzakciók és zárolások a MySQL-ben 1

2 START TRANSACTION [WITH CONSISTENT SNAPSHOT] BEGIN [WORK]COMMIT [WORK] [AND [NO] CHAIN] [[NO] RELEASE]ROLLBACK [WORK] [AND [NO] CHAIN] [[NO] RELEASE]SET autocommit = {0 1} A START TRANSACTION vagy BEGIN direktívával kezdődik egy új tranzakció. COMMIT elköveti (befejezi) a kurrens tranzakciót, az általa végzett változtatások véglegesek lesznek. A ROLLBACK visszaforgatja az aktuális tranzakciót, érvénytelenítve azon változásokat, melyek általa keletkeztek volna. A SET autocommit utasítás átállítja az autocommit alapértelmezését a kurrens session-ra. Az opcionális WORK kulcsszót a COMMIT és ROLLBACK miatt használjuk, amint a CHAIN és RELEASE záradékokat is. CHAIN és RELEASE használható mint pótlólagos ellenőrzése a tranzakció végrehajtásánk. A completion_type rendszerváltozó értéke meghatározza az alapértelmezett kitöltési viselkedést. 2

3 Egy tárolt program esetén (tárolt eljárások és függvények, triggerek és események), az elemző úgy tárgyalja BEGIN[WORK]-ot, mint egy BEGIN END blokkot. Kezdjünk el egy tranzakciót egy ilyen környezetben a START TRANSACTION direktívával inkább. Az AND CHAIN záradék egy új tranzakció kezdetét okozza, amint a kurrens befejeződik és az új tranzakciónak ugyanaz az elkülönítési szintje, mint a kurrensé. A RELEASE záradék azt eredményezi, hogy a szerver lekapcsolódjon a kurrens kliens session-ról, miután befejezi a kurrens tranzakciót. Belevéve a NO kulcsszót, az felülírja a CHAIN vagy RELEASE kitöltést, ami hasznos lehet, ha a completion_type rendszerváltozó a láncolásra vagy a kitöltés kikapcsolásra van állítva alapértelmezetten. Alapérelmezésben, a MSQLben az autocommit mód bekapcsolása van érvényben. Ez azt jelenti, hogy mihelyt egy olyan utasítást hajtunk végre, amelyik felülír (módosít) egy táblát, a MySQL tárolja a módosítást a lemezen, hogy állandóvá tegye. Hogy kikapcsoljuk az autocommit módot, használjuk a következő utasítást: SET autocommit=0; 3

4 Miután kikapcsoltuk az autocommit módot úgy, hogy az autocommit változót zéróra állítottuk, a tranzakció-biztonságos táblákra (mint az InnoDB vagy a NDBCLUSTER) nem egyből érvényes. El kell végezni a COMMIT utasítást, hogy a változás a lemezen is tárlódjon vagy ROLLBACK utasítást kell kiadni hogy a változásokat figyelmen kívül hagyjuk. Hogy kikapcsoljuk az autocommit módot egy egyszeri utasítás sorra, használjuk a START TRANSACTION záradékot: START TRANSACTION; FROM table1 WHERE type=1; UPDATE table2 SET summary=@a WHERE type=1; COMMIT; A START TRANSACTION használatával, autocommit megmarad kikapcsolt állapotban, amíg befejezzük a trazakciót COMMIT vagy ROLLBACK-el. Utána az autocommit mód visszavált az előző állapotba. BEGIN és BEGIN WORK-ot úgy használjuk, mint a START TRANSACTION álnevét, hogy trazakciót indítsunk. START TRANSACTION egy standard SQL szintaxis és az ad-hoc tranzakciók kezdéséhez ajánlják. 4

5 Több API, amit MySQL kliens alkalmazás írásához használunk (mint a JDBC java database connectivity) saját eljárást biztosít a tranzakció kezdéshez, amelyiket sokszor a START TRANSACTION utasítás helyett használjuk a kliens oldalról. Kezdhetünk egy tranzakciót emígy is: START TRANSACTION WITH CONSISTENT SNAPSHOT; A WITH CONSISTENT SNAPSHOT feltétel elindít egy konzisztens olvasást azon tároló motroknál, amelyek képesek erre. Ez csak az InnoDB motorra érvényes. A hatása ugyanaz mintha kiadunk egy START TRANSACTION utasítást amit követ egy SELECT egy InnoDB táblából. A WITH CONSISTENT SNAPSHOT záradék nem változtatja meg a kurrens tranzakció elkülönítési szintjét, ezért csak akkor biztosít egy konzisztens pillanatnyi állapotot ha az elkülönítési szint olyan, amelyik megengedi a konzisztens olvasást (REPEATABLE READ vagy SERIALIZABLE). 5

6 Egy tranzakció kezdete minden folyamatban lévő tranzakciót finalizál. Egy tranzakció kezdése tábla zárolás feloldását jelenti, amit a LOCK TABLES által kaptunk, mintha egy UNLOCK TABLES utasítást hajtottunk volna végre. Tranzakció kezdése nem szabadít fel egy globális olvasási zárolást, amelyet FLUSH TABLES WITH READ LOCK által kaptunk. Jobb eredmény elérése céljából a tranzakciókat csak egy tranzakcióbiztos tároló motorral érdemes elvégezni. Másképp a következő problémák jelentkezhetnek: Ha a használt táblák több tranzakció-biztos tároló motor elemei (mint InnoDB vagy Falcon), és a tranzakció elkülönítési szint nem SERIALIZABLE, lehetséges, hogy amikor egyik tranzakció befejeződik, egy másik folyamatban levő tranzakció, amelyik ugyanazokat a táblákat használja csak egyes változtatásokat fog látni az előző tranzakcióból. Ez azt jelenti, hogy a kevert motorok használata nem garantálja az atomosságot, így nem következetes adatok keletkezhetek. 6

7 Problémák a tranzakcióbiztos motrok használatánál Ha olyan táblákat használunk, amelyek nem tranzakció-biztosak egy tranzakcióban, a változtatások ezekben a táblákban egyszer tárolódnak, tekintet nélkül az autocommit mód beállítására. Ha egy ROLLBACK záradékot használunk, miután módosítottunk egy nem tranzakcionális táblát egy tranzakción belül, egy ER_WARNING_NOT_COMPLETE_ROLLBACK figyelmeztetést kapunk. A tranzakció-biztos táblákon elvégzett módosítások visszaforgatásra kerülnek, de semmilyen változtatás nem történik a nem tranzakció-biztos táblákban. Minden tranzakciót egy bináris naplóban (logban) tartjuk egy tartományban a COMMIT ig. Azon tranzaciók amelyek visszaforgatásra kerülnek nincsenek bejegyezve. (Kivétel: Nem tranzakcióbiztos táblákon végzett módosításokat nem lehet visszaforgatni. Ha egy tranzakció, amely visszaforgatásra kerül tartalmaz módosításokat nem tranzakcióbiztos táblákra, az egész tranzakció ROLLBACK záradékkal kerül bejegyzésre, hogy biztosítva legyen az, hogy a nem tranzakcióbiztos táblák módosításáról másodpéldány készül.) 7

8 Utasítások, melyeket nem lehet visszaforgatni Egyes záradékokat nem lehet visszaforgatni. Általában, ezek adatdefiniáló utasítások, mint az adatbázisok készítése és eldobása, azok, amelyek elkészítenek, eldobnak vagy módosítanak táblákat vagy tárolt eljárásokat. Megtervezhetjük úgy a trankciónkat, hogy ne tartalmazzon ilyen utasításokat. Ha használunk a tranzakció elején olyan utasítást, amelyiket nem lehet visszaforgatni és azután egy másik utasítás nem végződik el, a tranzakció teljes hatását nem lehet visszaforgatni ez esetben, használva a ROLLBACK záradékot. 8

9 Utasítások, amelyek implicit végrehajtást vonnak maguk után 1.Adatdefiníciós utasítások, melyek adatbázis objektumokat definiálnak vagy módosítanak. ALTER DATABASE, UPGADE DATA DIRECTORY NAME, ALTER PROCEDURE, ALTER TABLE stb 2.Utasítások, melyek implicit használak vagy módosítanak táblákat a mysql adatbázisban. CREATE USER, DROP USER, RENAME USER, GRANT 3.Tranzakció-kontroll és zárolási utasítások. BEGIN, LOCK TABLES, SET autocommit = 1 (ha az éték nem 1 már), START TRANSACTION, UNLOCK TABLES 4.Adatletöltési záradék LOAD DATA INFILE 5.Adminisztratív utasítások. CAHCE INDEX, ANALYZE TABLE, CHECK TABLE 9

10 SAVEPOINT és ROLLBACK TO SAVEPOINT SAVEPOINT identifier ROLLBACK [WORK] TO [SAVEPOINT] identifier RELEASE SAVEPOINT identifier Az InnoDB támogatja a következő SQL utasításokat: SAVEPOINT, ROLLBACK TO SAVEPOINT, RELEASE SAVEPOINT és az opcionális WORK kulcsszót a ROLLBACK-hez. A SAVEPOINT utasítás beállít egy megnevezett tranzakciós mentési pontot, amelyi neve identifier. Ha a kurrens tranzakciónak van egy mentési pontja ugyanazzal a névvel, a régi mentési cím letörlődik és egy új állítódik be. 10

11 A ROLLBACK TO SAVEPOINT utasítás visszaforgatta a tranzakciót a nevezett mentési ponthoz a tranzakció befejezése előtt. Azon módosítások, amelyeket a kurrens tranzakció végez a mentési pont után visszaforgatódnak, de az InnoDB nem szabadítja fel a sor zárolásokat, amelyek tárolva voltak a memóriában a mentési pont után. (Egy új sorbeszúráshoz, a zárolási információt a tranzakció ID-je hordozza a sorban; a zárolás nincs külön tárolva a memóriában. Ebben az esetben a sor zárolásának feloldása a visszaállítás során történik.) Azon mentési pontok, amelyek egy későbbi időpontban vannak, mint a megnevezett mentési pont, törlésre kerülnek. A RELEASE SAVEPOINT utasítás eltávolítja a megnevezett mentési pontot a mentési pontok halmazából a kurrens tranzakcióból. Sem érvényesítés, sem visszaforgatás nem történik. Ez egy olyan hiba, mintha a mentési pont nem is létezne. Minden mentési pont a kurrens tranzakcióból törlésre kerül, ha végrehajtjuk a COMMIT, vagy a ROLLBACK utasítást, amelyek nem neveznek meg mentési pontot. 11

12 LOCK TABLES és UNLOCK TABLES LOCK TABLES tbl_name [[AS] alias] lock_type [, tbl_name [[AS] alias] lock_type]... lock_type: READ [LOCAL] [LOW_PRIORITY] WRITE UNLOCK TABLES A MySQL megengedi a kliens session-nak hogy explicit módon zároljon táblákat azért, hogy együttműködhessen más sessionokkal a táblák elérésére vagy hogy megelőzze azt, hogy más session módosítsa a táblákat azon időszak alatt, amikor a session kizárólagos elérhetőséget kíván. Egy session kéreti vagy felszabadíthatja a zárolást csak ő egymaga. Egy session nem kérhet zárolást egy másik sessionra vagy szabadíthatja fel egy másik session zárolását. 12

13 Zárolás használható, hogy tranzakciókat versenyeztessen vagy hogy nagyobb gyorsaságra tegyen szert a sorok módosításában. LOCK TABLES explicit megszerez tábla zárolásokat a kurrens kliens sessionra. Tábla zárolásokat kérhetünk az alaptáblákra vagy nézetekre. Szükséges a LOCK TABLES privilégium és a SELECT privilégium, hogy minden objektumot zárolhassunk. A nézet zárolásához a LOCK TABLES hozzáad minden alaptáblát, amelyeket a nézet használ a táblahalmazhoz amelyeket zárolni kell, majd automatikusan zárolja őket. Ha egy táblát explicit a LOCK TABLES utasítással zárolunk, minden tábla, melyet a triggerek használnak implicit záróvá lesz. UNLOCK TABLES explicit felszabadít minden táblazárolást a kurrens sessionban. Egy másik használata az UNOLOCK TABLESnek az, hogy felszabadítsa a globális olvasási zárolást, amelyet a FLUSH TABLES WITH READ LOCK utasítás okozott, amelyik megengedi hogy zároljunk minden táblát minden adatbázisban. 13

14 Zárolás-megszerzési szabályok Hogy zárolást szerezünk a folyamatban levő sessionban használjuk a LOCK TABLES utasítást. A kövekező zárolási típusok használhatók: READ [LOCAL] lock: A session amelyik tartja a zárolást olvashatja a táblát (de nem írhatja). Többszörös session olvasásra zárolhatja ugyanazt a táblát ugyanabban az időben. Más sessions olvashatja a táblát anélkül, hogy explicit READ lock-ot kérne. A LOCAL módosító megengedi a konfliktusmentes INSERT utasításoknak (konkurens beszúrások) más sessions részéről való végrahajtását mikor a zárolás tartja. Habár a READ LOCAL nem használható, ha az adatbázist a szerveren kívüli folyamatok által akarjuk irányítani miközben birtokoljuk a zárolást. Az InnoDB tábláknál a READ LOCAL ugyanazt jelenti, mint a READ. [LOW_PRIORITY] WRITE lock: A session, amelyik birtokolja a zárolást olvashatja és írhatja a táblát. Csak a session, melyik birtokolja a zárolást tudja elérni a táblát. Semmilyen más session nem érheti el, míg a zárolást nincs feloldva. Egy zárolási kérés egy táblára egy másik session által blokálva van, míg a WRITE zárolást birtokolaja. A LOW_PRIORITY módosító befolyásolja a zárolási ütemezést ha a WRITE zárolási kérésnek várnia kell. 14

15 Ha a LOCK TABLES utasításnak várnia kell amíg egy másik session birtokolja a zárolást bármely táblán, leblokálja, míg az összes zárolást meg lehet szerezni. Egy session amelyik zárolást igényel minden zárolást meg kell szerezzen amire szüksége van egy egyetlen LOCK TABLES utasításban. Amíg a zárolások birtokolva vannak, a session csak a zárolt táblákat használhatja. Például, a következő utasítás szekvenciában, egy hiba fog fellépni a t2 elérése miatt, mivel nem volt zárolva a LOCK TABLES utasításban: mysql> LOCK TABLES t1 READ; mysql> SELECT COUNT(*) FROM t1; EREDMÉNY PL. 3 mysql> SELECT COUNT(*) FROM t2; ERROR 1100 (HY000): Table 't2' was not locked with LOCK TABLES 15

16 LOCK TABLES a következőképpen szerzi meg a zárolásokat: 1.Sorbaállítja a zárolásra kerülő táblákat egy belső sorrend szerint. A felhasználó szempontja szerint ez a sorrend nem érhető el. 2.Ha egy tábla olvasásra is és írásra is zárolás kérés érkezik, rakjad az írsra való zárolási kérelmet az olvasási zárolás elé. 3.Zárol egy táblát egyszerre, míg a session megkapja az összes zárolást. Ez az eljárásmód biztosítja, hogy a tábla zárolása beragadás-mentes. Vannak azonban olyan más dolgok, ami miatt figyelni kell erre az eljárásmódra: Ha egy LOW_PRIORITY WRITE zárolást használunk egy táblához azt jelenti, hogy kizárólag a MySQL várakozik erre az egyedi zárolásra, amíg nincs egy session sem, amelyik szeetne egy READ zárolást. Amikor a session megkapja a WRITE zárolást és várakozik hogy megkapja a zárolást a következő tálára a zárolási tábla listában, minden más session várakozik a WRITE zárolás befejezésére. Ha ez egy komoly problémává válik az alkalmazásban, arra kell gondolni, hogy átváltoztassuk egyes tábláinkat tranzakcióbiztos táblákká. 16

17 Zárolás felszabadítási szabályok Amikor a zárolt táblák, melyeket egy session használ feszabadításra kerülnek, egyszerre szabadulnak fel. Egy session felszabadíthatja explicit a zárolásait, vagy a zárolások implicit szabadulnak fel bizonyos meghatározott feltételek mellett. Egy session felszabadíthatja az ő zárolásait explicit módon alkalmazva az UNLOCK TABLESt. Ha egy session azt eredményezi, hogy egy LOCK TABLES utasítás megkapjon egy zárolást miközben ugyancsak birtokol egy zárolást, a létező zárolását implicit felszabadítja a rendszer, mielőtt az új zárolás jóváhagyódik. Ha egy session elindít egy tranzakciót (például egy START TRANSACTION használatával), egy implicit UNLOCK TABLES kerül végrehajtásra, ami azt eredményezi, hogy a létező zárolások fel lesznek szabadítva. 17

18 Ha egy kliens session kapcsolata befejeződik akár normálisan, akár abnormálisan, a szerver implicit feloldja az összes táblazárolást, melyeket a session birtokolt (tranzakcionális vagy nem). Ha a kliens újra kapcsolatot létesít, a zárolások nem hatásosak többé. Ezenkívül, ha a kliensnek egy aktív tranazkciója van, a szerver visszagörgeti a tranzakciót a szétkapcsolásig és ha egy újrakapcsolásra kerül sor, az új session aktiválja az autocommitot. Ebből az okból kifolyólag a kliensek szeretnék használni az auto-reconnect opciót. Ezzel az autoreconnect hatással, a kliens nincs értesítve az újrakapcsolás tényéről de bármely tábla zárolása vagy a kurrens tranzakció elveszik. Az autoreconnect kikapcsolt állapotában, ha egy kapcsolat elvész egy hibajelzés keletkezik az elkövetkező utasításvégzés kérésekor. A kliens észlelheti a hibát és megfelelő cselekedetet végezhet, hogy visszakapja a zárolást vagy újrafuttassa a tranzakciót. Megjegyzés Ha az ALTER TABLE utasítást használunk egy zárolt táblán, zárolás nélkülivé válhat. Például, hogyha megpróbálunk egy második ALTER TABLE utasítást, az eredmény lehet egy ilyen hiba: Table 'tbl_name' was not locked with LOCK TABLES. Hogy kezelhessük ezeket, zároljuk a táblákat mégegyszer a második struktúramódosítás előtt. 18

19 Interakció a Table Locking és Tranzakciók között LOCK TABLES és UNLOCK TABLES a következő tranzakciók használatakor kerülnek kölcsönhatásba: LOCK TABLES nem tranzakcióbiztos és implicit befejezésre késztet minden aktív tranzakciót, mielőtt zárolná a táblákat. UNLOCK TABLES implicit befejezésre késztet bármilyen aktív tranzakciót, de csak ha LOCK TABLES volt használva hogy beszerezzék a táblák zárolását. Például, a következő utasítás sorozatban UNLOCK TABLES elengedi a globális olvasási zárolást, de nem véglegesíti a tranzakciót mivel egy tábla zárolás sincs folyamatban: FLUSH TABLES WITH READ LOCK; START TRANSACTION; SELECT... ; UNLOCK TABLES; Tranzakiót kezdve (például a START TRANSACTION használatával) implicit véglegesítést okoz minden kurrens tranzakcióra és felszabadítja a létező zárolásokat. 19

20 Más utasítások, melyek implicit tranzakció véglegesítést okoznak nem szabadítják fel a létező zárolásokat. A helyes használata a LOCK TABLES és az UNLOCK TABLES tranzakciós tábláknál, mint az InnoDB táblák az, hogy kezdjük a tranzakciót a SET autocommit = 0 (nem START TRANSACTION) és azt kövesse a LOCK TABLES, és ne használjuk az UNLOCK TABLESt amíg nem véglegesítjük a tranzakciót explicit módon. Például, ha szükségünk van egy írásra a t1 táblában és egy olvasásra a t2 táblában cselekedhetünk a következő képpen: SET autocommit=0; LOCK TABLES t1 WRITE, t2 READ,...;... do something with tables t1 and t2 here... COMMIT; UNLOCK TABLES; Amikor meghívjuk a LOCK TABLESt, az InnoDB belsőleg a saját táblazárolásait valósítja meg. Az InnoDB felszabadítja a belső tábla zárolását a következő commit alkalmával, de hogy a MySQL felszabadítsa a táblazárolásait, meg kell hívnunk az UNLOCK TABLESt. 20

21 Lock Tables és Triggerek Ha egy táblát zárolunk expicit módon a LOCK TABLES utasítással, bármilyen tábla, melyet a triggerek használnak ugyancsak zároltak lesznek implicit módon: A zárolások ugyanakkor vannak felvéve, mint azok, amelyek explicit módon vannak megszerezve, mint a LOCK TABLES utasításban. A zárolás egy táblán, amit egy triggerben használunk függ attól, hogy a tábla csak olvasásra van-e használva. Ha igen, az olvasási zárolás elegendő. Másképp egy írási zárolást használunk. Ha egy tábla explicit zárolást igényel az olvasásra a LOCK TABLES segítségével, de szükséges zárolni az írásra, mivel módosítható egy triggeren belül, egy írási zárolás lesz felvéve, mintsem egy olvasási zárolás. (Azaz, egy implicit írási zárolás szükséges a táblák megjelenése alkalmából egy triggeren belül, ez egy olvasási zárolási kérést jelent azon táblának, amelyiket konvertálni kell egy írási zárolás kéréshez.) 21

22 Feltételezzük, hogy két táblát szeretnénk zárolni, t1 és t2: LOCK TABLES t1 WRITE, t2 READ; Ha t1 vagy t2 tartalmaz triggereket, táblákat melyeket triggereken belül használunk ugyancsak zárolva lesznek. Feltételezzük, hogy a t1 tartalmazza a következő triggert: CREATE TRIGGER t1_a_ins AFTER INSERT ON t1 FOR EACH ROW BEGIN UPDATE t4 SET count = count+1 WHERE id = NEW.id AND EXISTS (SELECT a FROM t3); INSERT INTO t2 VALUES(1, 2);END; Az eredménye a LOCK TABLES utasításnak az, hogy a t1 és t2 zárolva lesznek mivel megjelennek az utasításban, t3 és t4 zárolva lesznek, mivel a triggeren belül használjuk: t1 írásra van zárolva a WRITE zárolás kérés révén. t2 írásra van zárolva, habár a kérés csak egy READ zárolás. Ez azért jelenik meg, mert t2 részt vesz a trigger megvalósításában, vagyis a READ kérés át van alakítva egy WRITE kéréssé. t3 olvasásra van zárolva, mivel csak olvasásra van használva a triggeren belül. t4 írásra van zárolva, mivel lehetséges módosításnak van kitéve a triggeren belül. 22

23 Ha nem-tranzakciós adatbázis motor tábláit használunk, használnunk kell a LOCK TABLESt ha biztosak akarunk lenni, hogy más session nem módosítja a táblákat a SELECT és az UPDATE között. Az itt bemutatott példa igényli a LOcK TABLESt hogy biztosan elvégzésre kerüljön: LOCK TABLES trans READ, customer WRITE; SELECT SUM(value) FROM trans WHERE customer_id=some_id; UPDATE customer SET total_value=sum_from_previous_statement WHERE customer_id=some_id; UNLOCK TABLES; A LOCK TABLES nélkül lehetséges lenne, hogy egy másik session beszúrjon egy új sort a trans táblába a SELECT és az UPDATE utasítások között. Használhatjuk a LOCK TABLESt több esetben mikor relatív frissítést használunk (UPDATE customer SET value=value+new_value) vagy a LAST_INSERT_ID() függvény esetében. 23

24 SET TRANSACTION szintaxisa SET [GLOBAL SESSION] TRANSACTION ISOLATION LEVEL { READ UNCOMMITTED READ COMMITTED REPEATABLE READ SERIALIZABLE } Ez az utasítás beállítja a tranzakció elkülönítési szintjét globális módon, a kurrens sessionra vagy a következő tranzakcióra: A GLOBAL kulcsszó utasítás beállítja az alapértelmezett tranzakciós szintet globálisan minden következő sessionra. Létező sessionok nincsenek befolyásolva. A SESSION kulcsszóval rendelkező utasítás beállítja az alapértelmezett tranzakciós szintet minden következő tranzakcióra, amelyik ezen a sessionon belül hajtódik végre. A SESSION vagy GLOBAL kulcsszón kívül az utasítás beállítja az elkülönítési szintet az elkövetkező (nem elindított) tranzakciókra, melyek az aktuális sessionban lesznek elvégezve. 24

25 Egy változtatás a globális elkülönítési szintben SUPER privilégimot igényel. Bármely sessionnak joga van megváltoztatni az elkülönítési szintet (a tranzakció végrehajtása közben is), vagy az elkülönítési szintjét az elkövetkező tranzakcióinak. Az InnoDB támogatja az összes elkülönítési szintet, amelyet itt leírunk, amelyek különböző zárolási stratégiát használnak. Az alapértelmezett szint a REPEATABLE READ. A következő lista bemutatja hogyan támogatja a MySQL a különböző tranzakciós szinteket: READ UNCOMMITTED SELECT utasításokat nem zárolással hajtjuk végre, hanem egy lehetséges előző variánsa a sornak lesz használva. Eképpen, használva az elkülönítési szinteket, ilyen olvasások nem konzisztensek. Ezt úgy is hívják, hogy mocskos olvasás Másképp, ezen elkülönítési szint úgy működik, mint a READ COMMITTED. 25

26 READ COMMITTED Egy Oracle-tipusú elkülönítési szint tekintetbe véve a konzisztens (nemzárolási) olvasást: Minden konzisztens olvasás, még ugyanazon tranzakción belül is beállítja és olvassa a saját friss pillanatképét. Az olvasási zárolásra (SELECT a FOR UPDATE el vagy LOCK IN SHARE MODE), InnoDB zárolás csak az indexeket veszi fel, kihagyja az üres részeket, mely előtte van és ez megengedi a szabad beszúrását egy új sornak a zárolt bejegyzés után. Az UPDATE és DELETE utasításoknál a zárolás függ attól, hogy az utasítás egy egyedi indexet használ-e egyedi keresési feltételek mellett (mint a WHERE id = 100), vagy egy tartomány tipusú keresési feltételel (mint a WHERE id > 100). Egy egyedi index egy egyedi keresési feltétel mellett, az InnoDB zárolások csak az index rekordokat, nem az előtte levő üres részeket találja meg. A tartomány-tipusú keresések, InnoDB zárolással az index tartományt viszgálja végig, használva az üres zárolási vagy egy következő-kulcs (üres rész plus index-rekord) zárolási vagy blokkolt beszúrásokat más sessionok által az üres helyekről, amit befed a tartomány. Ez szükséges, mivel a fantom sorokat blokkolni kell, hogy a MySQL replikáció és visszanyerés működjön. 26

27 REPEATABLE READ Ez az alapértelmezett elkülönítési szint az InnoDB-nek. A konzisztens olvasáshoz jelentős különbség van a READ COMMITTED elkülönítési szinttől: Minden konzisztens olvasás ugyanabban a tranzakcióban beolvassa a pillanatfelvételt, amelyet az első olvasás határozott meg. Ez a megállapodás azt jelenti, hogy ha használunk egy pár síma (nem zárolt) SELECT utasítást ugyanazon a tranzakción belül, ezen SELECT utasítások konzisztensek egymás irányában is. Az olvasási zárolás (SELECT FOR-ral együtt, UPDATE vagy LOCK IN SHARE MODE), UPDATE és DELETE utasítások, a zárolás függ attól, hogy az utasítás egyedi indexet használ-e egy egyedi keresési feltétellel vagy egy tartománytipusú keresési feltételt. Az egyedi index egy egyedi keresési feltétellel az InnoDB zárolások csak az index rekordokat találja, s nem az előttük levő gap-eket. Más keresési feltételek mellett az InnoDB zárolások az index tartományt keresik, használva a gap zárolásokat vagy a következő-kulcs (gap plusz index-rekord) zárolásokat hogy blokkolja a beszúrást más sessionok által a gapbe, amelyeket a tartomány fed. 27

28 SERIALIZABLE Ez a szint olyan, mint a REPEATABLE READ, de InnoDB implicit módon konvertál minden síma SELECT utasítást a következőbe SELECT LOCK IN SHARE MODE ha az autocommit ki van kapcsolva. Ha az autocommit be van kapcsolva, a SELECT a saját tranzakciója. (Ez azt jelenti hogy a síma SELECT kényszerítése arra, hogy blokkolja ha más tranzakció módosítota a kiválasztott sorokat, ki lehet kapcsolni az autocommitot.) Megjegyzés A MySQL 5.1 ben, ha a READ COMMITTED elkülönítési szint létezik ezt használatos vagy az innodb_locks_unsafe_for_binlog rendszerváltozó engdélyezve van, nincs InnoDB gap zárolás, kivéve az idegen kulcs megszorítások ellenőrzésére és a többszörös-kulcs ellenőrzésre. Ugyanakkor a sorzárolás a nem összeillő sorokra felszabadítását eredményezik miután a MySQL kiértékeli a WHERE fetételt. A MySQL 5.1, ha használjuk a READ COMMITTED vagy engedélyezzük az innodb_locks_unsafe_for_binlogt, kötelezően használni kell a soron-alapuló bináris belépést (logging). 28

29 Bibliográfia -syntax-transactions.html king-issues.html Marosvasarhely-2010/ 29

MySQL tranzakció- és zárolási utasításai. 1. START TRANSACTION, COMMIT és ROLLBACK szintaxis

MySQL tranzakció- és zárolási utasításai. 1. START TRANSACTION, COMMIT és ROLLBACK szintaxis 1/23 MySQL tranzakció- és zárolási utasításai 1. START TRANSACTION, COMMIT és ROLLBACK szintaxis 2. Utasítások, melyeket nem lehet visszaforgatni 3. Utasítások, amelyek implicit végrehajtást vonnak maguk

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

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

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

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

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

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

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

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á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

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

Tartalomjegyzék I. rész A MySQL és a relációs adatbázisok 1. lecke Néhány szó a MySQL-rõl A relációs adatbázis fogalma.................................... 4 Egy gyakorlati példa relációs adatbázisra.......................

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á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

A triggerek tárolt eljárások, melyek elsüt események hatására indulnak. Ilyen elsüt esemény lehet egy táblára vonatkozó INSERT parancs DELETE parancs

A triggerek tárolt eljárások, melyek elsüt események hatására indulnak. Ilyen elsüt esemény lehet egy táblára vonatkozó INSERT parancs DELETE parancs Triggerek A megszorítások által kért ellenrzést a rendszer akkor hajtja végre, ha az adat, melyre a megszorítás vonatkozik megváltozik. (SQL2) Az SQL3 további lehetségeket ad az adatbázisba tárolásra kerül

Részletesebben

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai SQL ALAPOK Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai BEVEZETÉS SQL: Structured Query Language Strukturált Lekérdező Nyelv Szabvány határozza meg, azonban számos nyelvjárása létezik

Részletesebben

Adatbázisok-1 előadás Előadó: dr. Hajas Csilla

Adatbázisok-1 előadás Előadó: dr. Hajas Csilla Adatbázisok-1 előadás Előadó: dr. Hajas Csilla Áttekintés az I.zh-ig Áttekintés az 1ZH-ig // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1 Hol tartunk? Mit tanultunk

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

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

Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK)

Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK) Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ 5.hét: SQL áttekintés, táblák létrehozása és adatok felvitele Az előadások Ullman-Widom: Adatbázisrendszerek

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 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

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

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) ABR 2( Adatbázisrendszerek 2) 2. Előadás: Tárolt eljárások

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) ABR 2( Adatbázisrendszerek 2) 2. Előadás: Tárolt eljárások Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) ABR 2( Adatbázisrendszerek 2) 2. Előadás: Tárolt eljárások 1 Tárolt eljárások MySQL-ben Tárolt eljárások definíciója Tárolt rutinok használata (eljárások

Részletesebben

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2 Tartalomjegyzék Tartalomjegyzék 1 Az SQL nyelv 1 Az SQL DDL alapjai 2 Adatbázis parancsok 2 Táblaparancsok 2 A táblázat létrehozása 2 A táblázat módosítása 3 A tábla törlése 3 Indextábla létrehozása 3

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 3. 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ábla kapcsolatok létrehozása,

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

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

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Á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á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

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

Nézetek és indexek. AB1_06C_Nézetek_Indexek - Adatbázisok-1 EA (Hajas Csilla, ELTE IK) - J.D. Ullman elıadásai alapján

Nézetek és indexek. AB1_06C_Nézetek_Indexek - Adatbázisok-1 EA (Hajas Csilla, ELTE IK) - J.D. Ullman elıadásai alapján Nézetek és indexek Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 8.1. Nézettáblák 8.2. Adatok módosítása nézettáblákon keresztül 8.3. Indexek az SQL-ben 8.4. Indexek

Részletesebben

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) ABR 2( Adatbázisrendszerek 2) 3. Előadás: Tárolt eljárások (folytatás) Nézetek

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) ABR 2( Adatbázisrendszerek 2) 3. Előadás: Tárolt eljárások (folytatás) Nézetek Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) ABR 2( Adatbázisrendszerek 2) 3. Előadás: Tárolt eljárások (folytatás) Nézetek 1 Kurzorok A kurzorok használata támogatott a tárolt rutinok, triggerek

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

Adatbázis I. 11. előadás. Kulcsok az SQL ben. Hivatkozásépségi megszorítások és idegen kulcsok.

Adatbázis I. 11. előadás. Kulcsok az SQL ben. Hivatkozásépségi megszorítások és idegen kulcsok. Adatbázis I. 11. előadás Kulcsok az SQL ben. Hivatkozásépségi megszorítások és idegen kulcsok. 1 1. Kulcsok az SQL-ben 2. Hivatkozási épség és idegen kulcsok 3. Attribútum értékre vonatk. megszorítások

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

Az indexelés újdonságai Oracle Database 12c R1 és 12c R2

Az indexelés újdonságai Oracle Database 12c R1 és 12c R2 Az indexelés újdonságai Oracle Database 12c R1 és 12c R2 Szabó Rozalinda Oracle adattárház szakértő, oktató szabo.rozalinda@gmail.com Index tömörítés fejlődése 8.1.3-as verziótól: Basic (Prefixes) index

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

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

Bevezetés: az SQL-be

Bevezetés: az SQL-be Bevezetés: az SQL-be Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.3. Relációsémák definiálása SQL-ben, adattípusok, kulcsok megadása 02B_BevSQLsemak

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

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

Kalmár György Adatbázis alapú rendszerek

Kalmár György Adatbázis alapú rendszerek Kalmár György Adatbázis alapú rendszerek Oracle-ben az SQL utasítások feldolgozásához szükség van egy ún. kontextus memóriára, amely az összes lényeges információt tárolja egy utasítás végrehajtásához.

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

Vizuális programozás gyakorlat

Vizuális programozás gyakorlat Vizuális programozás gyakorlat A gyakorlat célja az entitás modell készítésének és az MS SQLEXPRESS használatának gyakorlása. A gyakorlat során egy könyvtári szoftver adatmodelljét tervezzük meg, valamint

Részletesebben

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

Adatbázis Rendszerek II. 2. Gyakorló környezet Adatbázis Rendszerek II. 2. Gyakorló környezet 37/1 B IT v: 2017.02.11 MAN Gyakorló környezet Géptermek 37/2 Jelszó váltás 1 2 3 4 37/3 Gyakorló környezet II. apex.oracle.com/en/ 37/4 A regisztrációs folyamat

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

A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai

A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai 8. gyakorlat Structured Query Language Struktúrált lekérdező nyelv A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai DDL (Data Definition Language) adatstruktúra definiáló

Részletesebben

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

Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK) Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ 6.ea: SQL folytatás SQL DDL, DCL Az előadások Ullman-Widom: Adatbázisrendszerek Alapvetés alapján készültek, forrás: http://infolab.stanford.edu/~ullman/dscb.html

Részletesebben

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

Adatbázisok elmélete 9. előadás Adatbázisok elmélete 9. 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

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 4.ELŐADÁS. Adatbázis alapú alkalmazások készítése PHP-ben

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 4.ELŐADÁS. Adatbázis alapú alkalmazások készítése PHP-ben Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 4.ELŐADÁS 2015-2016 Adatbázis alapú alkalmazások készítése PHP-ben Adatbázis alapú alkalmazás 2 A leggyakrabban használt dinamikus alkalmazások

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

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

Adatbázisok elmélete 9. előadás Adatbázisok elmélete 9. 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

SQL DDL-1: táblák és megszorítások

SQL DDL-1: táblák és megszorítások SQL DDL-1: táblák és megszorítások Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.3. Relációsémák definiálása 7.1. Kulcsok és idegen kulcsok 7.2. Értékekre

Részletesebben

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

B I T M A N B I v: T 2015.03.09 M A N Adatbázis Rendszerek II. 5. Gy: PLSQL Triggerek B I v: T 2015.03.09 M A N 1/37 Passzív adatbázisok negatívumai Példa: VIR rendszer egyik adatbázis összegyűjti a termelési adatokat, egy másik erre épül

Részletesebben

SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1

SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1 SQL 1.rész 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1 SQL története, szabványok Szabvány adatbázis-kezelő nyelv: SQL SQL (angol kiejtésben

Részletesebben

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) ABR 2( Adatbázisrendszerek 2) 1. Előadás: Celko Joe tippjei Codd törvényei.

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) ABR 2( Adatbázisrendszerek 2) 1. Előadás: Celko Joe tippjei Codd törvényei. 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 Celko Joe programozási tippjei 1. A lekérdezést kezdjük mindíg

Részletesebben

SQL DDL: Táblák, megszorítások (constraints), triggerek, nézettáblák

SQL DDL: Táblák, megszorítások (constraints), triggerek, nézettáblák SQL DDL: Táblák, megszorítások (constraints), triggerek, nézettáblák Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 7.1.-7.4. Megszorítások 7.5.-7.6. Triggerek

Részletesebben

SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások

SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások SQL haladó Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások 1 Külső összekapcsolás Összekapcsoljuk R és S relációkat: R C S. R azon sorait,

Részletesebben

Adatbázis Rendszerek II. 6. PLSQL Triggerek 32/1B IT MAN

Adatbázis Rendszerek II. 6. PLSQL Triggerek 32/1B IT MAN Adatbázis Rendszerek II. 6. PLSQL Triggerek 32/1B IT MAN B IT v: 2016.03.04 MAN Passzív adatbázisok negatívumai Példa: VIR rendszer egyik adatbázis összegyűjti a termelési adatokat, egy másik erre épül

Részletesebben

Adatbázisok webalkalmazásokban

Adatbázisok webalkalmazásokban Sapientia - EMTE, Pannon Forrás,,Egységes erdélyi felnőttképzés a Kárpát-medencei hálózatban 2010 A JDBC API A Data Access Object tervezési minta Adatforrás - DataSource JDBC architektúra A JDBC API java.sql

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

Triggerek. Olyan névvel ellátott adatbázisobjektumok, amelyek eseményorientált feldolgozást tesznek lehetővé

Triggerek. Olyan névvel ellátott adatbázisobjektumok, amelyek eseményorientált feldolgozást tesznek lehetővé Triggerek Triggerek Olyan névvel ellátott adatbázisobjektumok, amelyek eseményorientált feldolgozást tesznek lehetővé egy eseményre válaszul futnak le a triggernevek külön névteret alkotnak Esemény bekövetkezésének

Részletesebben

Adatbázisok. 2. gyakorlat SQL november november 12. Adatbázisok 1 / 31

Adatbázisok. 2. gyakorlat SQL november november 12. Adatbázisok 1 / 31 Adatbázisok 2. gyakorlat SQL 2016. november 12. 2016. november 12. Adatbázisok 1 / 31 SQL nyelv Structured Query Language Struktúrált lekérdez nyelv A relációs adatbáziskezelés szabványos nyelve Két f

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

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

IBM WebSphere Adapters 7. változat 5. alváltozat. IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5.

IBM WebSphere Adapters 7. változat 5. alváltozat. IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5. IBM WebSphere Adapters 7. változat 5. alváltozat IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5.kiadás IBM WebSphere Adapters 7. változat 5. alváltozat IBM WebSphere

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

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

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 Adatbázisok I 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

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

Adatbázisok elmélete 10. előadás Adatbázisok elmélete 10. 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ázis Rendszerek II. 10. Tranzakció kezelés 72/1B IT MAN

Adatbázis Rendszerek II. 10. Tranzakció kezelés 72/1B IT MAN Adatbázis Rendszerek II. 10. Tranzakció kezelés 72/1B IT MAN B IT v: 2019.02.05 MAN 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

Részletesebben

Oracle Audit Vault and Database Firewall. Gecseg Gyula Oracle DBA

Oracle Audit Vault and Database Firewall. Gecseg Gyula Oracle DBA Oracle Audit Vault and Database Firewall Gecseg Gyula Oracle DBA TÖBB FENYEGETETTSÉG MINT VALAHA TÖBB FENYEGETETTSÉG MINT VALAHA A támadások 70%-a tűzfalon belülről jön A támadások 90%-át hozzáféréssel

Részletesebben

Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN

Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN B IT v: 2016.02.10 MAN SQL felületek Hatékony: SQL parancsok kiadására Eredmények megtekintésére Nehézkes: Nagyobb volumenű, rutintevékenységek

Részletesebben

Adatbázis Rendszerek II. 2. Ea: Gyakorló környezet

Adatbázis Rendszerek II. 2. Ea: Gyakorló környezet Adatbázis Rendszerek II. 2. Ea: Gyakorló környezet 26/1 B IT v: 2018.02.21 MAN Gyakorló környezet apex.oracle.com/en/ 26/2 A regisztrációs folyamat 26/3 26/4 26/5 26/6 26/7 26/8 26/9 26/10 26/11 Feladatok

Részletesebben

Készítette: Szabóné Nacsa Rozália

Készítette: Szabóné Nacsa Rozália Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu 1 Structured Query Language (Struktúrált lekérdező nyelv) Relációs adatbázisok kezelésére kifejlesztett szabvány 2 DIAKOK dkód vnév knév 1001 Kiss János

Részletesebben

Megszorítások. AB1_06A_Megszorítások - Adatbázisok-1 EA (Hajas Csilla, ELTE IK) - J.D. Ullman elıadásai alapján

Megszorítások. AB1_06A_Megszorítások - Adatbázisok-1 EA (Hajas Csilla, ELTE IK) - J.D. Ullman elıadásai alapján Megszorítások Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 7.1. Kulcsok és idegen kulcsok 7.2. Attribútumra vonatkozó megszorítások 7.3. Megszorítások módosítása

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

Adatbáziskezelő-szerver. Relációs adatbázis-kezelők SQL. Házi feladat. Relációs adatszerkezet

Adatbáziskezelő-szerver. Relációs adatbázis-kezelők SQL. Házi feladat. Relációs adatszerkezet 1 2 Adatbáziskezelő-szerver Általában dedikált szerver Optimalizált háttértár konfiguráció Csak OS + adatbázis-kezelő szoftver Teljes memória az adatbázisoké Fő funkciók: Adatok rendezett tárolása a háttértárolón

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

Webfejlesztés 4. alkalom

Webfejlesztés 4. alkalom Webfejlesztés 4. alkalom Adatbázis kezelés, SQL alapismeretek, MySQL és a PHPMyAdmin használata Adatbázis kezelési alapok Az adatbázisok alapvetően adatkiszolgálást, illetve különböző szűréi, szeparálási

Részletesebben

BEVEZETÉS Az objektum fogalma

BEVEZETÉS Az objektum fogalma BEVEZETÉS Az objektum fogalma Program (1) Adat (2) Objektum Kiadványszerkesztés Word Táblázatkezelés Excel CAD AutoCad Adatbáziskezelés Access 1 Program (1) Adat (2) Objektum Adatmodell (2) A valós világ

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

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010 Programozási technikák Pál László Sapientia EMTE, Csíkszereda, 2009/2010 12. ELŐADÁS Adatbázis-kezelés Delphiben 2 Adatmegjelenítés lekérdezés segítségével A táblákhoz hasonlóan a lekérdezések is az adatbázis

Részletesebben

Csomag. Adatbázis-objektum Programozási eszközök gyűjteménye Két részből áll. specifikáció törzs (opcionális)

Csomag. Adatbázis-objektum Programozási eszközök gyűjteménye Két részből áll. specifikáció törzs (opcionális) Csomagok Csomag Adatbázis-objektum Programozási eszközök gyűjteménye Két részből áll specifikáció törzs (opcionális) Csomagspecifikáció CREATE [OR REPLACE] PACKAGE csomagnév [AUTHID {DEFINER CURRENT_USER}]

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

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

Megtanuljuk, hogyan lehet egy web-alkalmazással adatbázishoz csatlakozni Pontosan megnézzük a PHP lehetőségeit o MySQL-hez o Oracle-höz

Megtanuljuk, hogyan lehet egy web-alkalmazással adatbázishoz csatlakozni Pontosan megnézzük a PHP lehetőségeit o MySQL-hez o Oracle-höz PHP Adatbázis Tartalomjegyzék PHP ADATBÁZIS...1 TARTALOMJEGYZÉK...1 EDDIG VOLT...1 MAI ANYAG...1 TEHÁT RÉSZLETESEBBEN...1 Kapcsolódás web-alkalmazásokból adatbázisokhoz...1 Biztonsági kérdések...2 PHP...2

Részletesebben

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT ÓBUDAI EGYETEM Neumann János Informatikai Kar Nappali Tagozat ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT NÉV: MÁK VIRÁG NEPTUN KÓD: A DOLGOZAT CÍME: Jani bácsi székadatbázisa Beadási határidő: 14. oktatási hét

Részletesebben

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

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

Részletesebben

Gyakorlás: Hozzunk létre egy Alkalmazottak táblát AZO szám, Részleg szöveg, Munkakör szöveg és BelépésDátuma dátum típussal.

Gyakorlás: Hozzunk létre egy Alkalmazottak táblát AZO szám, Részleg szöveg, Munkakör szöveg és BelépésDátuma dátum típussal. Adatbázis létrehozása Adatleíró műveletek CREATE DATABASE "tan1" WITH ENCODING= LATIN2 ; vagy parancssorból a terminál alatt $ createdb tan1 E=latin2 Kapcsolódás az adatbázishoz $ psql tan1 Adattábla létrehozása

Részletesebben

Tábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY, Leiras VARCHAR( 100 ) );

Tábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY, Leiras VARCHAR( 100 ) ); Tábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY, Leiras VARCHAR( 100 ) ); CREATE TABLE `dihunor`.`csapat` ( `ID` INT( 4 ) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'A csapat azonositoja',

Részletesebben

A trigger egy aktualizálási művelet esetén végrehajtandó programrészletet definiál. Alakja:

A trigger egy aktualizálási művelet esetén végrehajtandó programrészletet definiál. Alakja: ORACLE TRIGGEREK 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]

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

Az SQL*Plus használata

Az SQL*Plus használata Az SQL*Plus használata Célkitűzés Bejelentkezés az SQL*Plus-ba SQL utasítások szerkesztése Az eredmény formázása SQL*Plus utasításokkal Szkriptfájlok használata Az SQL és az SQL*Plus kapcsolata SQL*Plus

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

Elemi alkalmazások fejlesztése IV.

Elemi alkalmazások fejlesztése IV. Structured Query Language (Struktúrált lekérdez ı nyelv) Relációs adatbázisok kezelésére kifejlesztett szabvány né Nacsa Rozália nacsa@inf.elte.hu Fejlesztı : MySQLAB weboldal: www.mysql.com MySQL installálása.

Részletesebben

Spatial a gyakorlatban

Spatial a gyakorlatban Spatial a gyakorlatban A korábban összefoglalt elméleti ismeretanyagot mindenképpen szerettem volna kipróbálni a gyakorlatban is. Sajnos az időm rövidsége és beállítási problémák miatt nem tudtam megoldani,

Részletesebben

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi. Függvények 1.Függvények...1 1.1.A függvény deníció szintaxisa... 1..Függvények érték visszatérítése...3 1.3.Környezettel kapcsolatos kérdések...4 1.4.Lokális változók használata...4 1.5.Rekurzív hívások...5.kód

Részletesebben

Kilencedik témakör: Lazarus-Firebird. Készítette: Dr. Kotsis Domokos

Kilencedik témakör: Lazarus-Firebird. Készítette: Dr. Kotsis Domokos PASzSz Kilencedik témakör: Lazarus-Firebird Készítette: Dr. Kotsis Domokos Az SQLdb fülön IBConnection Kapcsolat A Data Access fülön Az SQLdb fülön... Select 1. Az SQLQuery lezárása. (Active := false,

Részletesebben