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

Hasonló dokumentumok
Adatbázis rendszerek. 4. előadás Redundancia, normalizálás

Adatbázis rendszerek 8. előadás Térinformatikai adatbázisok és gyakorlati ötletek. Molnár Bence

ADATBÁZIS RENDSZEREK. Esettanulmányok, adatkezelés. Krausz Nikol, Medve András, Molnár Bence

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

Tranzakciókezelés PL/SQL-ben

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

Tranzakciók az SQL-ben

SQL DDL-2 (aktív elemek) triggerek

Bevezetés: az SQL-be

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

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

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

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

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

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

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

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

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

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

Bevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009

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

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

Debreceni Egyetem Informatikai Kar TANULÓI NYILVÁNTARTÓ SZOFTVER FIREBIRD ADATBÁZIS ALKALMAZÁSÁVAL

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

Adatbázis használat I. 5. gyakorlat

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

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.

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

Adatbázisok* tulajdonságai

Indexek és SQL hangolás

SQLServer. DB Recovery modes

Adatbázis használata PHP-ből

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

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

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

SQLServer. Particionálás

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

PL/SQL (folytatás) Kurzorok, függvények, eljárások

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

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

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

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

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

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

Adatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN

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

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

Adatbázis rendszerek. dr. Siki Zoltán

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

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

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

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

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


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

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

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

Adatbázis rendszerek 7. előadás State of the art

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

Csima Judit szeptember 6.

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

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

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

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

Haladó DBMS ismeretek 1

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

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

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

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

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

Az SQL adatbázisnyelv: DML

A szürke háttérrel jelölt fejezet/alfejezet szövege a CD-mellékleten található. A CD-melléklet használata. 1. Elméleti áttekintés 1

Nem klaszterezett index. Klaszterezett index. Beágyazott oszlopok. Index kitöltési faktor. Indexek tulajdonságai

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

A könyv tartalomjegyzéke

ELTE SAP Excellence Center Oktatóanyag 1

Adatbázis rendszerek SQL nyomkövetés

PHP-MySQL. Adatbázisok gyakorlat

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

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

Informatikai alapismeretek Földtudományi BSC számára

Együttes hozzárendelés

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

Nem klaszterezett index. Beágyazott oszlopok. Klaszterezett index. Indexek tulajdonságai. Index kitöltési faktor

1. fejezet Microsoft Excel 2010 Tartománynevek... 3

B IT MAN 65/1. Adatbázis Rendszerek II. Ellenőrző kérdések APLSQL B IT MAN. v:

Adatbázis, adatbázis-kezelő

Adatbázis rendszerek II. Adatbázis elérése C# kliens programból ADO.NET API-n keresztül

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

Vizuális programozás gyakorlat

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

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

Adatbázisok elmélete

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

Informatika 11. Adatbázis szerverek Kottyán, László

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

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

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

Java és web programozás

INFORMATIKA ÁGAZATI ALKALMAZÁSAI. Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP /1/A

Átírás:

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 jelenkora

Indexek Adatstruktúra, ami a táblában található adatok elérését gyorsítja. Ezáltal gyorsulnak a lekérdezések! Hátrányai: lassabb írás a táblába (az indexet is írni kell), nagyobb kapacitás igény. Egy vagy több attribútumra (függvények, kifejezések). vonatkozik

Index architektúrák Non-clustered (nem-csoportosított) Az adatok önkényes sorrendjével ellentétben az index kulcsokat sorrendben tároljuk a rekord pointerekkel (pl. sor; oszlop) együtt. Azaz az adatok sorrendje a táblában és az indexben eltérő. Clustered (csoportosított) A fizikai adatsorokat rendezi össze (a sorrendjük megváltoztatásával) az index blokkokkal, amelyek az adatsorokra mutatnak. Így, az adatok egymásutániságának köszönhetően nagymértékben gyorsulhat az olvasási sebesség. Cluster

Index típusok PostgreSQL: Hash tábla B-tree R-tree GiST (geometria) SP-GiST GIN (tömbök)

Hash tábla

B-tree

R-tree

Mit érdemes indexelni? Sokszor keresett adatok (WHERE...) Elsődleges és idegen kulcsok ( JOIN) Geometria (!) Nem érdemes ritkán használt attribútumok bináris adatok

Index létrehozása PostgreSQL példák: egy adott attribútumra: CREATE UNIQUE INDEX title_idx ON films (title); egy függvényre: CREATE INDEX ON films ((lower(title)));

Tárolt eljárás Mikor érdemes alkalmazni? Bemenő adatok függvényében, azokat feldolgozva, figyelembe véve ad eredményt, vagy frissíti az adatokat. Triggerek

Tárolt eljárások Tulajdonképpen egy program, amelyeket programozási eszközökkel (nyelvvel) hozunk létre, melyek lehetnek: Oracle: PL/SQL PostgreSQL: PL/pqSQL C, Python, Perl,...

Tárolt eljárások CREATE OR REPLACE FUNCTION RETURNS. AS $$ DECLARE...; BEGIN SELECT.. INTO... FROM..; LIMIT 1; RETURN...; END; $$ LANGUAGE plpgsql;

Triggerek Ravasz :) Esemény-feltétel-művelet szabály (+ tárolt eljárás/függvény) Események bekövetkeztekor beszúrás törlés módosítás tranzakciók befejeződése Ha a feltétel teljesül nem teljesül

Triggerek CREATE OR REPLACE FUNCTION bonusz_fv() RETURNS trigger AS $$ BEGIN -- NEW => az újonnan beszúrt sor -- ha az új sorban a jegy = 5 -- 10 bónusz pont jár IF NEW.jegy = 5 THEN NEW.bonusz = 10; END IF; RETURN NEW; END; $$ LANGUAGE plpgsql; CREATE TRIGGER bonusz BEFORE INSERT ON jegy FOR EACH ROW EXECUTE PROCEDURE bonusz_fv();

Triggerek AFTER/BEFORE/INSTEAD UPDATE több OF OF attribútum/insert/delete művelet

Tranzakciók Mi a tranzakció? SQL utasítások sora (nincs méretkorlát) mindent vagy semmit elv COMMIT; ROLLBACK SAVEPOINT ACID: Atomicity, Durability. Consistency, Isolaton, Típusai: automatikus, explicit, implicit

ACID::A Atomicity (atomi): mindent vagy semmit A tipikus példa a banki átutalás szokott lenni: A számláról leveszünk 10000 Ft-ot, B számlára ráteszünk 10000 Ft-ot. Ha a tranzakció sikerül, akkor B-nél lesz a szóban forgó 10000 Ft, ha nem, akkor A-nál marad. A félkész állapotok, miszerint sehol sincs a pénz, vagy éppen mindkét helyen megvan, nem megengedhetőek. History szerepe

ACID::C Consistency (konzisztens): konzisztencia megőrzés (a tranzakció után is megmarad). Nem lehetnek befejezetlen írási műveleteket (nincs félig írt rekord). Referenciális integritás: nem lehet a referenciákat, hivatkozásokat (pl. az idegen kulcsokat) megsérteni, törölni (ROLLBACK). Nem lehet egy adott típusban más típust tárolni. Nem lehet megszorításokat (CONSTRAINTS) átlépni. Több felhasználó esetén: lockolás (lásd később)

ACID::I Isolation (izolált): az egyszerre futó tranzakciók nincsenek hatással egymásra (akár nem is láthatják). Ez magába foglalja a konkurens hozzáférés biztonságos használatát. Az isolation level hatással) dirty records repeatable read phantom records (csak a SELECT-ekre van

ACID::D Durability (tartós): COMMIT után az eredmény végérvényesen az adatbázisba kerül. Ez igaz bármilyen helyzetben (hirtelen elmegy az áram, a szerver támadás alatt van, becsapódik egy repülőgép.

Tranzakció típusok Automatikus: általános eset, felhasználó kiad egy parancsot, a szerver végrehajtja (és közben tranzakciót nyit, zár) Explicit: felhasználó nyitja (BEGIN TRANSACTION) és zárja (COMMIT/ ROLLBACK) a tranzakciót. Implicit: szerver nyitja a tranzakciót, de a felhasználó zárja (COMMIT/ROLLBACK).

Tranzakció kezelés adatbázisokban A heavyweight adatbázis-kezelők megpróbálnak ACID-teljesek lenni, pl.: PostgreSQL, SQL Server, Oracle Más adatbázisok feladnak pár elvet, így hatékonyabb és gyorsabb adatkezelést biztosítanak, de bizonyos funkcionalitásokat ezáltal nem tudnak biztosítani. Erre jó példa a manapság elterjedőben lévő NoSQL adatbázisok!

Zárolás (lock[olás]) Többfelhasználós Az környezetben adott felhasználó zárolja az adott rekordot, amelyet éppen ír vagy módosít, így az aktuális tranzakció befejeztéig (COMMIT/ROLLBACK) más nem férhet hozzá. optimista pesszimista

Zárak dirty read non-repeatable phantom dead nincs read lock súlya műveleteknek... read (fontossága) az egyes

Hibatűrés SPOF: single point of failure Replikáció file/blokk szint WAL: Write Ahead Logging PITR: Point-In-Time Recovery Warm Standby Hot Standby

Adatbázis klaszterek Felhasználók; kiszolgálók; adatok

Piaci eloszlás

Adatbázisok kezelése Közvetlenül Vastag a szerverről kliens (desktop) Vékony kliens (böngészőből)

Gyakorlati ötletek

Adat generálás Pilot projekthez (vagy HF) Teszteléshez váratlan adatok Excel RAND() / VÉL() RANDBETWEEN() / VÉLETLEN.KÖZÖTT() Webes generátorok Máshonnan szerzett adatok

Adat beolvasás Excel CSV Elválasztó Idézőjel Karakter kódolás különleges karakterek Sorvége Üres mezők PDF Copy - Paste Text to columns (Szövegből oszlopok) OCR Optikai karakter felismerés

Elemzések Excel-ben Ctrl+F Filter VLOOKUP() / FKERES() Rendezett vagy rendezetlen lista Összetett kulcs? HLOOKUP() / VKERES() CONCATENATE() / ÖSSZEFŰZ() TRIM() / KIMETSZ()

Mintavideók OCR: http://www.youtube.com/watch?v=mr7e7 -VAWTQ VLOOKUP: http://www.youtube.com/watch?v=vyosu irgmua Text to Columns: http://www.youtube.com/watch?v=k7urf2 ckpf8

Forrás Wikipedia https://technetklub.hu/blogs/sqlserver2008/archive/2010/08/10/ tranzakci-243-1x1.aspx http://www.bigonehost.com

Köszönöm a figyelmet! Adatbázis rendszerek