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

Hasonló dokumentumok
Az adatbázisrendszerek világa

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. SQL DML utasítások

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

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

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

Bevezetés: az SQL-be

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

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

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

Bevezetés: Relációs adatmodell

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

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

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

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

Információs rendszerek Adatbázis-kezelés

Programozás. Adatbázis-kezelés (alapok) Fodor Attila

Csima Judit szeptember 6.

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

Adatbázisok elmélete

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

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

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

Tranzakciókezelés PL/SQL-ben

Adatbázisrendszerek (ABR)

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

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

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

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

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

Adatbázis-kezelés alapok Adatbázisok című tárgyhoz, ismétlés kapcsán

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

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

Bevezetés: Relációs adatmodell

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

Bevezetés: Relációs adatmodell

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

LOGISZTIKAI ADATBÁZIS RENDSZEREK BEVEZETÉS

Adatbázis használat I. 5. gyakorlat

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

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


SQL DDL-2 (aktív elemek) triggerek

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

Adatbázis rendszerek. dr. Siki Zoltán

Nyilvántartási Rendszer

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

Adatbázisok-1 előadás

BEVEZETÉS Az objektum fogalma

Ajánlott irodalom. Adatbázisok I.

ADATBÁZISOK, ADATTÁRHÁZAK

A TANTÁRGY ADATLAPJA

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

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

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

Adatbázisok elméleti alapjai. Dr. Kiss Attila people.inf.elte.hu/kiss D.2.508

A TANTÁRGY ADATLAPJA

Adatbázisok (relációs, objektum relációs, NoSQL) Adatbáziskezelő rendszerek Adatbázisok felépítése Adatbázisok tervezése

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán és Berényi Attila

Magas szintő adatbázismodellek

ADATBÁZIS RENDSZEREK. Adatbázisok története, alapfogalmak, adatmodellek. Krausz Nikol, Medve András, Molnár Bence

30 MB INFORMATIKAI PROJEKTELLENŐR ADATBÁZISOK MEGVALÓSÍTÁSA (ADATBÁZISOK, ADATBÁZISKEZELŐK, ADATBÁZISOK FELÉPÍTÉSE, ADATBÁZISOK TERVEZÉSE)

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

AZ ADATBÁZIS RENDSZEREK OKTATÁSA A KLTE-N 1

Az információs rendszerek adatai

Az információs rendszerek adatai

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

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések

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

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

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

TestLine - balla tesztje-03 Minta feladatsor

Az adatok a vállalat kulcsfontosságú erőforrásai. Az információs rendszer adatai kezelésének két alapvető változata:

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

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

Adatbázisrendszerek 2. előadás: Alapfogalmak

Az információ feldolgozás alapvetı módszerei Folyamat szemlélető információ feldolgozás A legfontosabb állomány struktúrák

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ

Az Oracle rendszer komponensei

Tranzakciók az SQL-ben

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

Adatbázis-kezelés alapjai 1. Ea: Infó Mátrix. Lehet, nem lehet

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

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

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

Adatbázismodellek. 1. ábra Hierarchikus modell

Adatbázis fejlesztés és üzemeltetés II. Szabó Bálint

ADATBÁZISOK, 2017 ősz

Feladatok A mai előadáson: Tankönyv -- Termékek feladatai:

Magas szintű adatmodellek Egyed/kapcsolat modell I.

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

ADATBÁZISOK, 2018 ősz

ADATBÁZISOK ADATBÁZIS-KEZELŐ RENDSZEREK. Debrenti Attila

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

Az egyed-kapcsolat modell (E/K)

2 Access 2016 zsebkönyv

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

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

ADATBÁZISOK, ADATTÁRHÁZAK

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

Átírás:

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 Csilla, ELTE IK) 9.előadás: Alapfogalmak 1

SQL áttekintés 2-5.előadásokban+Gyak is: 6.1-6.4. Lekérdezések az SQL-ben: SELECT 6.előadásban+Gyakorlaton: 6.5. SQL DML: INSERT, DELETE, UPDATE 6.6. Tranzakciókezelés COMMIT, ROLLBACK 7.1.-7.3. Megszorítások CREATE TABLE, CONSTRAINTS A 7.előadásban (csak ea-on) 7.4. Önálló megszorítások 7.5. Triggerek 8.1-8.2., 8.5. Nézettáblák 10.1. SQL DCL (jogosults) GRANT, REVOKE 10.2. Rekurzív lekérdezés WITH RECURSIVE -- -- -- -- -- -- -- -- -- -- -- -- 8.előadásban+Gyakorlaton 9.3-9.4 SQL/PSM vagy Oracle PL/SQL Adatbázisok-1 (Hajas Csilla, ELTE IK) 9.előadás: Alapfogalmak 2

Mit várunk egy ABKR-től? --- 1 Visszatérünk a Tankönyv 1.fejezetére (ez a két o. ismétlés) Adatbázis: Adatok együttese, amelyet az adatbázis-kezelő rendszer kezel. Mit várunk az ABKR-től? (DBMS-től?) Tegye lehetővé a felhasználók számára, hogy új adatbázisokat hozhassanak létre, és azok sémáját, vagyis az adatok logikai struktúráját egy speciális nyelven adhassák meg: Adatdefiníciós nyelv (DDL) Tegye lehetővé a felhasználóknak, hogy az adatokat egy megfelelő nyelv segítségével lekérdezhessék vagy módosíthassák: Adatkezelő nyelv (DML) Kényelmes (fizikai adatfüggetlenség, magas szintű deklaratív nyelv, mint például az SQL szabvány) Hatékony legyen a megvalósítás. Adatbázisok-1 (Hajas Csilla, ELTE IK) 9.előadás: Alapfogalmak 3

Mit várunk egy ABKR-től? --- 2 (folyt.) Mit várunk az ABKR-től? (DBMS-től?) Támogassa nagy méretű (több terabyte mennyiségű) adat hosszú időn keresztül való tárolását, és tegye lehetővé a hatékony hozzáférést a lekérdezések és adatbázis-módosítások számára. Biztosítsa a tartósságot, az adatb. helyreállíthatóságát, biztonságos (konzisztens állapot biztosítsa, védve legyen a hardware, software és felhasználói hibáktól). Felügyelje a több felhasználó által egy időben történő adathozzáféréseket úgy, hogy ezek a műveletek ne legyenek hatással a többi felhasználóra számára (konkurencia-vezérlés) A fenti pontok részletesebben kifejtve: Adatbázisok-1 (Hajas Csilla, ELTE IK) 9.előadás: Alapfogalmak 4

Adatbázis-kezelés: (1) Adatbázis-kezelés (1) Háttértárolón tárolt, nagy adatmennyiség hatékony kezelése (lekérdezése, módosítása) (2) Adatmodell támogatása (3) Adatbázis-kezelő nyelvek támogatása (4) Több felhasználó támogatása (5) Adatvédelem, adatbiztonság (6) Tranzakció-kezelés (7) Konkurencia-kezelés (8) Naplózás és helyreállíthatóság (9) Lekérdezések végrehajtásának optimalizálása Adatbázisok-1 (Hajas Csilla, ELTE IK) 9.előadás: Alapfogalmak 5

(2) Adatmodell támogatása Az adatmodell a valóság fogalmainak, kapcsolatainak, tevékenységeinek magasabb szintű ábrázolása File-kezelés indexekkel együtt, ezt váltotta fel a CODASYL szabvány, hálós adatmodell (hatékony keresés) Hierarchikus adatmodell (apa-fiú kapcsolatok gráfja) Ted Codd - Relációs adatmodell (táblák rendszere, könnyen megfogalmazható műveletek) Objektum-orientált adatmodell (az adatbázis-kezelés funkcionalitásainak biztosítása érdekében gyakran relációs adatmodellre épül), + Objektum-relációs adatmodell Logikai adatmodell (szakértői rendszerek, tények és következtetési szabályok rendszere) Dokumentumok - Félig strukturált adatmodell, az XML (szabvány adatcsereformaként jelent meg), XML, JSON Gráf adatbázisok, NoSQL Adatbázisok-1 (Hajas Csilla, ELTE IK) 9.előadás: Alapfogalmak 6

(2) Az adatmodellek 3 szintje --2 Hogyan látjuk az adatbázist? A 3 szintű ANSI/SPARC architektúra Logikai (külső, a felhasználói szemléletnek megfelelő szinten, nézetek) Fogalmi (conceptual) (absztrakt, szintetizálja az összes felhasználói szemléletet) Fizikai (belső, az adatbázis valamilyen fizikai adatstruktúrában letárolva a háttértárolón) Adatbázisok-1 (Hajas Csilla, ELTE IK) 9.előadás: Alapfogalmak 7

(2) Az adatmodellek 3 szintje --3 Forrás: Elmasri-Navathe: Fundamentals of Database Systems Adatbázisok-1 (Hajas Csilla, ELTE IK) 9.előadás: Alapfogalmak 8

(3) Adatbázis-kezelő nyelvek támogatása SQL relációs (és objektum-relációs) adatbázis-kezelő szabvány nyelv, fontosabb szabványok: SQL86, SQL89, SQL92 (SQL2), SQL:1999 (SQL3), SQL: 2003, SQL:2006, SQL:2008 DDL (Data Definition Language) adatdefiniáló (sémaleíró) nyelv: sémák, adatstruktúrák megadása, objektumok létrehozása, módosítása, törlése: CREATE, ALTER, DROP DML (Data Manipulation Lang.) adatkezelő és lekérdező nyelv: INSERT, DELETE, UPDATE és SELECT DCL (Data Control Lang.) adatvezérlő nyelv, jogosultságok kiosztása és visszavonása: GRANT, REVOKE Tranzakció-kezelés: COMMIT, ROLLBACK Adatbázisok-1 (Hajas Csilla, ELTE IK) 9.előadás: Alapfogalmak 9

(4) Több felhasználó támogatása Felhasználói csoportok. Kulcsemberek: DBA adatbázis-rendszergazda felügyeli az adatbázis-példányokat és adatbázis-szervereket felépíti a rendszert, implementálja és optimális adatbázis-megoldást biztosít Adatbázis-tervező (sématervezés) Alkalmazás-fejlesztő, programozó (kódolás) Felhasználók (akik használják a rendszert) Adatbázisok-1 (Hajas Csilla, ELTE IK) 9.előadás: Alapfogalmak 10

(5) Adatvédelem, adatbiztonság Jogosultságok (objektumok olvasása, írása, módosítása, készítése, törlése, jogok továbbadása, jogok visszavonása) GRANT és REVOKE utasítás Jogosultságok tárolása rendszertáblákban történik Jogosultságok kezelése, felhasználók, jelszavak, hozzáférési jogok Adatbázissémák korlátozása (virtuális) nézettáblák segítségével Tárolt adatok, hálózati adatforgalmak titkosítása (nagy prímszámok, RSA, DES) Adatbázisok-1 (Hajas Csilla, ELTE IK) 9.előadás: Alapfogalmak 11

(6) Tranzakció-kezelés Tranzakció: adatkezelő műveletekből (adategység írása, olvasása) álló sorozat Cél: tranzakciók párhuzamos végrehajtása T1: T2: Read S S:= S+1 Write S idő Read S S:= S-1 Write S Tranzakció = olyan folyamat, ami adatbázis lekérdezéseket, módosításokat tartalmaz. Az utasítások egy értelmes egészt alkotnak. Egyetlen utasítást tartalmaznak, vagy az SQL-ben explicit módon megadhatóak. Adatbázisok-1 (Hajas Csilla, ELTE IK) 9.előadás: Alapfogalmak 12

(6) Miért van szükség tranzakciókra? (Lásd 6.előadás idevágó részét is!) Az adatbázis rendszereket általában több felhasználó és folyamat használja egyidőben. Lekérdezések és módosítások egyaránt történhetnek. Az operációs rendszerektől eltérően, amelyek támogatják folyamatok interakcióját, az adatbázis rendszereknek el kell különíteniük a folyamatokat. Adatbázisok-1 (Hajas Csilla, ELTE IK) 9.előadás: Alapfogalmak 13

(6) Tranzakciók Tranzakció = olyan folyamat, ami adatbázis lekérdezéseket, módosításokat tartalmaz. Az utasítások egy értelmes egészt alkotnak. Egyetlen utasítást tartalmaznak, vagy az SQLben explicit módon megadhatóak. Adatbázisok-1 (Hajas Csilla, ELTE IK) 9.előadás: Alapfogalmak 14

(6) A tranzakciók ACID tulajdonságai Atomiság (atomicity): a tranzakció egységesen lefut vagy nem, vagy az összes vagy egy utasítás sem hajtódik végre. Konzisztencia (consistency): a tranzakció futása után konzisztens legyen az adatbázis, megszorításokkal, triggerekkel biztosítjuk. Elkülönítés (isolation): párhuzamos végrehajtás eredménye egymás utáni végrehajtással egyezzen meg Tartósság (durability): a befejezett tranzakció eredménye rendszerhiba esetén sem veszhet el Adatbázisok-1 (Hajas Csilla, ELTE IK) 9.előadás: Alapfogalmak 15

(6) COMMIT és ROLLBACK A COMMIT utasítás a tranzakció sikeres befejeződését eredményezi. Egy sikeresen befejeződött tranzakció a kezdete óta végrehajtott utasításainak módosításait tartósan rögzíti az adatbázisban vagyis a módosítások véglegesítődnek. A ROLLBACK utasítás megszakítja a tranzakció végrehajtását, és annak sikertelen befejeződését eredményezi. Az így befejezett tranzakció SQL utasításai által végrehajtott módosításokat a rendszer meg nem történtekké teszi Vagyis az összes utasítás visszagörgetésre kerül, a módosítások nem jelennek meg az adatbázisban. Adatbázisok-1 (Hajas Csilla, ELTE IK) 9.előadás: Alapfogalmak 16

(7) Konkurencia-kezelés Zárolások (Lock, Unlock) T1: (Lock S, Read S, S:=S+1, Write S, Unlock S) T2: (Lock S, Read S, S:=S-1, Write S, Unlock S) A zár kiadásához meg kell várni a zár feloldását. Csökken a párhuzamosíthatóság Zárak finomsága (zárolt adategység nagysága, zárolás típusa) növeli a párhuzamosíthatóságot Holtpont probléma: Lock A Read A Lock B Read B C:=A+B. Lock B Read B Lock A Read A D:=A+B.. T1 vár T2-re B miatt T2 vár T1-re A miatt Adatbázisok-1 (Hajas Csilla, ELTE IK) 9.előadás: Alapfogalmak 17

(8) Naplózás és helyreállítás Szoftver- vagy hardverhiba esetén az utolsó konzisztens állapot visszaállítása Rendszeres mentések Statikus adatbázis (módosítás nem gyakori) Dinamikus adatbázis (módosítás gyakori) Naplóállományok Összefügg a tranzakció-kezeléssel Adatbázisok-1 (Hajas Csilla, ELTE IK) 9.előadás: Alapfogalmak 18

(9) Lekérdezések végrehajtása optimalizálás SQL lekérdezés elemzés átalakítás szabályok alkalmazása várható méretek becslése fizikai tervek készítése {FT1,FT2,...} költségek becslése {(FT1,K1),(FT2,K2),...} FTi Elemző fa logikai lekérdező terv javított logikai lekérdező terv logikai lekérdező terv és méretek Statisztikák a legjobb kiválasztása végrehajtás eredmény

Adatbázis-kezelők részei Lekérdezés-feldolgozó Lekérdezés szintaktikai ellenőrzése Adatbázis-objektumok létezésének, és a hozzáférési jogoknak az ellenőrzése (metaadatbázis, rendszertáblák) Lekérdezés optimális átfogalmazása Végrehajtási tervek készítése Az adatstruktúrák, méretek statisztikái alapján várhatóan minimális költségű végrehajtási terv kiválasztása Az optimális végrehajtási terv lefuttatása Tranzakció-kezelő: Tranzakciók párhuzamos végrehajtásának biztosítása (atomosság, következetesség, elkülönítés, tartósság) Tárkezelő és pufferkezelő fizikai adatstruktúrák, táblák, indexek, pufferek kezelése Adatbázisok-1 (Hajas Csilla, ELTE IK) 9.előadás: Alapfogalmak 20

Adatbázis-kezelő rendszer felépítése Forrás: Elmasri-Navathe: Fundamentals of Database Systems Adatbázisok-1 (Hajas Csilla, ELTE IK) 9.előadás: Alapfogalmak 21

Adatbázis-kezelő rendszer felépítése Ullman-Widom Tankönyv 1.1. ábra Egy adatbázis-kezelő rendszer részei Adatbázisok-1 (Hajas Csilla, ELTE IK) 9.előadás: Alapfogalmak 22

Kérdés/Válasz Köszönöm a figyelmet! Kérdés/Válasz? Adatbázisok-1 (Hajas Csilla, ELTE IK) 9.előadás: Alapfogalmak 23