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



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

Adatbázis használat I. 5. gyakorlat

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

BEVEZETÉS Az objektum fogalma

Adatbázisok és adattárházak az információs rendszerek adatkezelői

A hierarchikus adatbázis struktúra jellemzői

A könyv tartalomjegyzéke

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

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

Gazdasági informatika vizsga kérdések

Bevezetés: az SQL-be

Az adatbázisrendszerek világa

Bevezetés: Relációs adatmodell

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

Bevezetés: Relációs adatmodell

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

II. év. Adatbázisok és számítógépek programozása

ADATBÁZISRENDSZEREK. Dr. Radványi Tibor. Készült a TÁMOP /1/A támogatásával.

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

Haladó DBMS Radványi, Tibor

Vektoros grafikát tároló adatbázisok. Katona Endre Térképi adatbázisok diasorozata alapján

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

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

ADATBÁZIS ADMINISZTRÁTOR SZAKKÉPESÍTÉS SZAKMAI ÉS VIZSGAKÖVETELMÉNYEI

Adatbázisok I A relációs algebra

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

Adatbázisok* tulajdonságai

1. Az adatbázis fogalma, fontosabb összetevÿi, felhasználási módjai

Adatbázisrendszerek Radványi, Tibor

Adatbázisok biztonsága

Osztott adatbázisok. Education, Inc. Addison-Wesley Higher Education, M. T. Özsu, P. Valduriez: Principles of Distributed Database Systems,

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

Az Oracle rendszer komponensei

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

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

Önálló laboratórium beszámoló

Történeti áttekintés

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

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.

Budapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási és Alkalmazott Informatikai Tanszék INFORMATIKA 2 ADATBÁZISOK

Adatbázis-kezelés, információs-rendszerek

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

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

Az adatmodelleket többféleképpen is csoportosíthatjuk. Egyik csoportosítás:

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto

ADATBÁZISOK, ADATTÁRHÁZAK

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

Informatikus informatikus Térinformatikus Informatikus T 1/9

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

Adatbázis-kezelés ODBC driverrel

Széchenyi István Szakképző Iskola

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

INFORMATIKA 1-4. évfolyam

LOGISZTIKAI ADATBÁZIS RENDSZEREK BEVEZETÉS

Access 2010 Űrlapok és adatelérés

ADATBÁZIS-KEZELÉS ALAPOK I.

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

Integrált ügyviteli rendszer: Kettős könyvelés modul

Szakmai program 2015

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

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

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

SQL parancsok feldolgozása

Tisztelt Érdeklıdı, Olvasó!

Térinformatika. j informáci. ciós s rendszerek funkciói. Kereső nyelvek (Query Languages) Az adatok feldolgozását (leválogat

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

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

Debreceni Egyetem Informatika Kar

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

A relációs adatmodell

Adatszerkezetek és algoritmusok Geda, Gábor

Tranzakciókezelés PL/SQL-ben

Adatbázisok. Mit jelent az, hogy adatbázis? Ismételjük át az alapfokon tanultakat!

Oracle BI Administration Tool. Repository felépítése

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

GAZDASÁGINFORMATIKA ALAPJAI...

2. Az adatbázis-kezelés alapjai

Objektum orientált alapelvek

Relációs algebra 1.rész

Előszó. Bevezetés. Java objektumok leképzése relációs adatbázisokra OJB-vel Viczián István Viczián István

Relációs adatmodellezés

INFORMATIKA HELYI TANTERV


Az egyszer keres felületen sz kíthetjük a keresést adott mez re a legördül lista segítségével.

SAP vállalatirányítási rendszer alapjai

EUCIP Core Sillabusz 3.0 változat

IBM Business Monitor 7. változat 5. alváltozat. IBM Business Monitor telepítési kézikönyv

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

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

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

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

5. téma XML DB. Az adatkezelés és XML kapcsolata. Miért fontos az XML használata az adatbázis kezelésben?

Adatmodellek komponensei

ADATBÁZISKEZELÉS ADATBÁZIS

ADATBÁZISOK, ADATTÁRHÁZAK

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

Adatbázis háttér játszóházi beléptető és nyilvántartó rendszerhez Egy valós rendszer bemutatása

Irinyi József Általános Iskola 4274 Hosszúpályi Szabadság tér HELYI TANTERV Informatika 4. osztály 2013

Helyzet: 1853, London, Soho, kolerajárvány, 700 halott Kérdés: honnan ered a járvány? Adatok: az elhunytak neve, lakhelye Megoldás dr.

Relációs modell és relációs algebra. ER konvertáása reációs modellre,példák relációs algebrára Személetes ismertetés

Átírás:

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 Líceum Kiadó, Eger, 2001 Robert Dollinger: Baze de date şi gestiunea tranzacţiilor, Ed. Cluj-Microinformatica Varga Ibolya: Adatbázisrendszerek, Egyetemi Kiadó, Kolozsvár, 2005 1-3

Konferenciák Adatbázisokkal foglalkozó legrangosabb évente megrendezett konferenciák 2012-ben: VLDB (Very Large Databases) PODS (Symposium on Principles of Database Systems) ICDT/EDBT (International Conference on Database Theory/International Conf ADBIS (East-European Conference on Advances in Databases and Information DEXA (Conference on Database and Expert Systems Applications) folyóiratok: ACM Transactions on Database Systems 1-4

Célkitűzések Az adatbázisok tanulmányozása három nézőpontból: adatbázis felhasználó adatbázis tervező és manager adatbázis-kezelő rendszer implementáló Megérteni az adatbázis-kezelő rendszerek (ABKR=DBMS) működési elvét és lekérdező nyelveit (SQL) 1-5

Tematika 1. Adatbázis-kezel ő rendszerek általános jellemzői. 2. A relációs adatmodell, a relációs algebra műveletei, használata 3. Az SQL nyelv részei (ORACLE specifikusan): -DDL, DML QL, triggerek, jogosultságok, megszorítások, PL/SQL, függvények, procedúrák, cursorok használata, programozás, 1. Adatmodellezés, egyed-kapcsolat modell, az E/K diagram átalakítása relációs adatmodellé. 1-6

Történelmi háttér 1960-as évek: Charles Bachmann kifejlesztette az első ABKR-t Honeywell-ben (IDS) Háló modell, amelyben a kapcsolatokat gráfokkal reprezentálták Az IBM kifejlesztette az első kereskedelmi célú ABKR-t Hierarchikus modell, amelyben a kapcsolatokat fa-struktúrával ábrázolták 1970 Ted Codd az IBM-nél definiálta a relációs adatmodellt 1976: Peter Chen definiálta az Egyed-Kapcsolat (ER) modellt 1980-as évek A relációs adatbázis technológia kifejlődése Az SQL standardizalása ISO szabványként Igazi fejlődési periódus 1990-es évek Teljesitmény fejlesztés Új adatmodellek: objektum orientált, deduktiv A relációs ABKR-ek egyesítése az objektum orientáltsággal Objekt- Relaciós ABKR-ek Új felhasználási területek: Adattárház és OLAP, Web és Internet, szöveg és multimédia 1-7

Az adatbázis-kezelés alapjai Adat és információ Adatbázis: logikailag összefüggő adatok összessége Példák: egyetemi oktatás (kurzusok, szakok, termek, hallgatók, oktatók, órarend) vállalat (fõosztályok, osztályok, dolgozók, fizetések) raktár (árúk, készlet, mozgások) könyvtár (olvasók, könyvek, kiadók, szerzõk) lakás (helyiségek, bútorok, elektromos szerelvények) munkahely (helyiségek, számítógépek, telefonok, dolgozók) városi tömegközlekedés (buszjáratok, megállók, menetrend) pizzeria (pizzák, ügyfelek, rendelések) bank (folyószámlák, ügyfelek, átutalások) ingatlan (telkek, épületek, tuladonosok) vasúti-, légi helyfoglalás (járatok, helyek, ügyfelek) Minden adatbázisnak van egy belső struktúrája sémája. Ez tartalmazza az összes adatelem és a köztük lévő kapcsolatok definícióját, leírását. Ezek a Metaadatok. 1-8

Adatbázis-kezelő rendszernek (ABKR) Database Management System (DBMS) ABKR: egy programrendszer (soft), melyet arra terveztek, hogy nagy mennyiségű adatot tudjon tárolni és használni. Egy ABKR által használt technikák: programozási nyelvek (objektum-orientáltságot is) operációs rendszerek konkurens programozás adatstruktúrák algoritmusok párhuzamos és osztott rendszerek felhasználói felületek mesterséges intelligencia statisztika. 1-9

Az ABKR feladatai Támogatja új adatbázisok létrehozását, azok struktúrájának, tárolási módjának kialakítását. Megvalósítja az adatbázisban tárolt adatok kezelését, karbantartását. Lehetővé teszi a tárolt adatok feldolgozását, lekérdezését. Új információkat képes előállítani, illetve a meglévő információknak a felhasználók által igényelt formában történő megjelenítését támogatja. Garantálja az adatok biztonságát, konzisztenciáját, a hozzáférések szabályozását, vagyis a felhasználói műveleteket csak az arra jogosult személyek végezhessék, és ezek a műveletek ne veszélyeztessék az adatok integritását. Lehetővé teszi az adatbázisok megosztását több felhasználó között. Rendszerhibák esetén képes egy helyes adatbázist visszaállítani. 1-10

Néhány ismertebb ABKR xbase rendszerek (dbase, FoxPro, Clipper): elavult, de még sok alkalmazás működik. Access (Microsoft): könnyen kezelhető grafikus felület, kisebb alkalmazásokhoz. MySQL: nyílt forráskódú adatbázis-szerver, közepes méretű (pl. webes) alkalmazásokhoz. Oracle: nagy teljesítményű rendszer, nagy adatbázisok, sok felhasználó, különleges biztonsági követelmények esetén ajánlott. INFORMIX, SYSBASE, INGRES, DB2, MSSQL, SQLLITE ABKR helye a számítógépes rendszerben Program alkalmazás Alkalmazás fejlesztő eszközök ABKR Operaciós Rendszer Hardware 1-11

Adatbázis-kezelők felépítése 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 ő ( állománykezelő): fizikai adatstruktúrák, táblák, indexek, pufferek kezelése 1-12

Az adatbázisok ANSI/SPARC architektúrája 1. Fogalmi szint: (conceptual level): egy alkalmazási környezet valamennyi ismeretét és azok valamennyi összefüggését egyetlen közös adatmodellben kell leírnunk ->egyed/kapcsolat adatmodell 2. Belső szint: Az adatoknak a számítógépes rendszerben való aktuális reprezentációját jelenti. 3. Külső szint: a felhasználó szemszögéből vizsgálja az adatokat. 1-13

Miért adatbázis technológia? Adatintegritás: az adatok korrektek, konzisztensek és aktuálisak Redundancia csökkentése (adat ismétlődés) Megoszthatóság Standardok Biztonság, adatvédelem (tranzakció vezérlés) 1-14

Adatbázisok nyelvei Lekérdező nyelv SQL egy komplett programozási nyelv minden lehetséges adatbázis műveletre Relaciós algebra egy alapnyelv adatlekérdezésre Beágyazott SQL egy nyelv amely összekombinálja az SQL-t és egy host nyelvet 4GL program aplikációk SQL kiterjesztéssel ODBC/JDBC/Dynamic SQL standard protokolok az adatbázisok elérésére egy távoli gépről 1-15

Adatbázisok nyelvei Adatleíró nyelvek (Data Definition Language) az egyedek és a köztük lévő kapcsolatok leírására CREATE TABLE Csoportok ( CsopKod VARCHAR(3) PRIMARY KEY, Evfolyam NUMBER(3), SzakKod CHAR(3)); Adatkezelő nyelvek (Data Manipulation Language) Lekérdezés, beszúrás, módosítás, törlés SELECT Név FROM Diákok WHERE CsopKod = 531; Adatvezérlő nyelvek (Data Control Language) Védelem, tranzakciókezelés GRANT SELECT ON diakok TO istvan; 1-16

Adatbázis felhasználók Vég felhasználó alkalmi felhasználó hozzákapcsolódik az adatbázisokhoz formok vagy front-end aplikációk használata során DML-t használnak Programfejlesztő megtervez és implementál olyan aplikációkat, amelyek hozzákapcsolódnak az adatbázishoz Adatbázis adminisztrátor (DBA) meghatározza és kezeli a fogalmi sémát definiál aplikáció és felhasználó nézeteket monitorizálja és összhangban tartja az ABKR teljesítményét futtatja és újratervezi az adatbázist felelős a biztonságért 1-17

Több felhasználó támogatása Felhasználói csoportok DBA adatbázis-rendszergazda 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) Jogosultságok tárolása rendszertáblákban történik 1-18

Tranzakció-kezelés T1: T2: Tranzakció: adatkezel ő műveletekből (adategység írása, olvasása) álló sorozat Cél: tranzakciók párhuzamos végrehajtása Read S S:= S+1 Write S idő Read S S:= S-1 Write S A tranzakció-kezel ő biztosítja: Atomosság (a tranzakció egységesen lefut vagy nem) Következetesség (a tranzakció futása után konzisztens legyen az adatbázis) Elkülönítés (párhuzamos végrehajtás eredménye egymás utáni végrehajtással egyezzen meg) Tartósság (a befejezett tranzakció eredménye rendszerhiba esetén sem veszhet el) 1-19

Tranzakció-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 T1 T2 T2 vár T1-re A miatt 1-20

Tranzakció-kezelés Kétfázisú protokoll a tranzakció elején zárolunk minden szükséges adatelemet, a végén minden zárat feloldunk Tranzakciók érvényesítése, naplózás, Commit, Rollback, Checkpoint Ütemező (tranzakciók műveleteinek végrehajtási sorrendjét adja meg) Szerializálhatóság (az ütemezés ekvivalens a tranzakciók egymás utáni végrehajtásával) Tranzakciók állapotát, elvégzett műveleteket rendszertáblák tárolják 1-21

Helyreállíthatóság 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 1-22

Mi is az adatmodell? Az adatmodell a valóság fogalmainak, kapcsolatainak, tevékenységeinek magasabb szintű ábrázolása azaz az adatok (mit nevezünk adatnak?) leírására szolgaló jelölés. Az adat és valóság viszonya. Ez a leírás álltalában az alábbi három részből áll: 1. Az adat struktúrája (leírhatová tegyük a valóságra vonatkozó adatokat, adatok típusa, formálisan megadható) 2. Az adaton végezhető műveletek (lekérdezések, módosítások, feldolgozások legyenek megfogalmazhatók) 3. Az adatokra tett megszorítások (milyen adatokat engedélyezünk? később: megszorítások, triggerek) Implementáció kérdései: Nagy tömegben hatékony és sok felhasználó számára biztonságos legyen a megvalosítás. 1-23

Adatmodellek Relációs modell: tárolódnak az adatok kétdimenziós táblákban Félig-strukturált adatmodell: tartalmazza az XML-t és a hozzá tartozó szabványokat Hálós modell: a rekordok pointerekkel kapcsolódnak egymáshoz Hierarchikus: a rekordok fastruktúra-szerű hierarchiába rendezettek Objektum-orientált modell: objektumokkal definiálja a DB-t Objektum-relációs modell: a relációs modell bővítése objektum-orientált lehetőségekkel Osztott modell több független ABKR fut a kommunikációs hálózat csomópontjain 1-24

Egy relációs sorokból álló halmaz, nem pedig lista. 1-25

Relációs adatmodell előnyei Miért ez a legelterjedtebb és legkifinomultabb? Az adatmodell egy egyszerű és könnyen megérthet ő strukturális részt tartalmaz. A természetes táblázatos formát nem kell magyarázni, és jobban alkalmazható. A relációs modellben a koncepcionális-logikai-fizikai szint teljesen szétválik, nagyfokú logikai és fizikai adatfüggetlenség. A felhasználó magas szinten, hozzá közel álló fogalmakkal dolgozik (implementáció rejtve). Elméleti megalapozottság, több absztrakt kezelő nyelv létezik, például relációs algebra (ezen alapul az SQL automatikus és hatékony lekérdezés optimalizálása). Műveleti része egyszerű kezelői felület, szabvány SQL. 1-26

Relációs adatmodell relációs séma Az adatmodellünk gyűjteményből áll, a gyűjteményt nevesítjük és megadjuk milyen típusú adatok gyűjteménye. gyűjtemény neve: R - relációnev (vagy táblanév) adattípusa: sortípus - A sortípus megadása: <attributumnev1: ertektipus1,, attr.nevk: ert.tipusk> roviden <A 1,, A k > Relációséma: Relációnév(sortípus) vagyis R(A 1 : értéktípus 1,, A k : értéktípus k ) röviden R(A 1,, A k ) jelölés U = {A 1,, A k } 1-27

1-28

Relációs adatbázis felépítése Az adatbázis tulajdonképpen relációk halmaza. a megfelelő relációsémák halmaza adja az adatbázissémat (jelölése vastag szárú R) IR = {R 1,, R n } a hozzá tartozó előfordulások az adatbáziselőfordulást 1-29

Relációs adatmodell Ez a koncepcionális szint. Logikai szinten a relációk táblákban jelennek meg. A tábláknak egyedi neve van. A relációk oszlopait az attribútumok címzik, a tábla soraiban helyezkednek el a rekordok. A tábla sorait tetszőlegesen megcserélhetjük, a sorok száma nem kötött. (Ezek a halmazszemlélet miatt vannak.) Fizikai modell : a táblát a reláció valamilyen állományszerkezetben jeleníti meg. (pl. szeriális állomány.) A relációs adatbáziskezelők mindig indexelnek, a kedvenc indexelési mód a B+ fa. 1-30

Példa megszorításokra - Kulcs Az attribútumok egy halmaza egy kulcsot alkot egy relációra nézve, ha a reláció bármely előfordulásában nincs két olyan sor, amelyek a kulcs összes attribútumának értékein megegyeznének. R(A 1,, A k ) séma, X = {A i1,, A il } kulcs, ha nincs két olyan t 1, t 2 sor, amely különbözne, pedig az X-en megegyezik t 1 [X] = t 2 [X] Megjegyzés: egy kulcs nem feltétlenül egy attribútumból áll. Például a Filmek táblában a filmcím és év együtt alkotják a kulcsot, nem elég a filmcím, uis van például (King Kong, 1933), (King Kong, 1976) és (King Kong, 2005). A kulcsot aláhúzás jelöli: Filmek (cím, év, hossz, ) 1-31

Idegen kulcs és hivatkozási épség Idegen kulcs, FOREIGN KEY R(A 1,, A k ) séma, X = {A i1,, A il } kulcs, S(B 1,, B n ) séma, Y = {B j1,, B jl } idegen kulcs, ami az X-re hivatkozik a megadott attribútum sorrendben: B j1 az A i1 -re,, B jl az A il -re Hivatkozási épség, REFERENCES megszorítás a két tábla együttes elıfordulására: Ha s S sora, akkor létezik t R sor, hogy s[b j1,, B jl ] = t[a i1,, A il ] Ekkor az S-en Y idegen kulcs, ami hivatkozik az R kulcsára 1-32