sapientia - erdélyi magyar tudományegyetem (emte ) csíkszereda

29
1 Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda IV Félév Adatbázisrendszerek (ABR) Dr. Illyés László

Upload: sierra

Post on 19-Jan-2016

30 views

Category:

Documents


6 download

DESCRIPTION

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE ) Csíkszereda. I V Félév Adatbázisrendszerek (ABR) Dr. Illy és László. Sapientia - Erdélyi Magyar Tudományegyetem (EMTE ) Csíkszereda. 1 0 . Előad á s tartalma E 1 0 . Adatbázisrendszerek r ől általában. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

1

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

IV Félév

Adatbázisrendszerek(ABR)

Dr. Illyés László

Page 2: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

2

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

10. Előadás tartalma

E10. Adatbázisrendszerekről általában

Page 3: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

3

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

Adatbázisrendszerekről általában

1.Codd szabályai2.Az adatbázisrendszerek fejlődése3.Az adatbázisrendszerek felépítése

Page 4: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

4

Codd 12 szabálya

• Codd 12 szabálya egy tizenhárom szabályból álló készlet (zérótól tizenketőig számozva), amelyet Edgar F. Codd javasolt, a relációs adatbázis modell atyja, amely arra volt tervezve, hogy meghatározza milyen feltételeket kell teljesítsen egy adatbázis kezelő rendszer azért hogy relációs adatbázis-kezelő rendszernek nevezhessék. Tréfásan “Codd tizenkét parancsolata”-nak is nevezik.

Page 5: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

5

• Codd ezen szabályok elkészítését arra is használta, hogy megkadályozza az ő adatbázis rendszerekről megalkotott álmainak felhígítását, amint a korai 1980-as adatbázis szállítók összekúszáltak hogy újracsomagolják a létező temékeiket relációs burkolással. A 12-es szabály volt kiváltképpen arra kitalálva hogy számbavegye az ilyen helyezkedéseket. A szabályok annyira szigorúak hogy az összes népszerű, úgynevezett “relációs” adatbázisredszerek elégtelen jegyet kapnak több feltétel esetében.

Page 6: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

6

0. Szabály

• A rendszer minősítésének tartalmaznia kell mindhárom fogalmat: relációs, adatbázis és menedzsment rendszer.

• Hogy egy rendszer minősítése adatbázis kezelő rendszer legyen, a rendszernek (kizárólag) a relációs képességeit felhasználva kell menedzselnie az adatbázist.

• Kivétel: Használatunk ELJÁRÁSOKAT is

Page 7: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

7

1. Szabály

• Az információs szabály

• Minden információ ábrázolása az adatbázisban csak egyféleképpen történik, mégpedig táblák sorai- és oszlopai találkozásánál levő értékekkel.

• Az SQL megfelel ennek a szabálynak

Page 8: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

8

2. Szabály: A garantált hozzáférés szabálya

Minden adat elérhető kell legyen. Ez a szabály alapvető az elsődleges kulcs újrafogal-mazásában. Kimondja, hogy minden skalár egység az adatázisban logikailag megcímezhető kell legyen, megcímezvén a bennfoglaló táblát, a tartalmazó oszlop nevét és a tartalmazó sor elsődleges kulcsának az értékét.

Nem kötelező, hogy egy táblának legyen bármilyen kulcsa.

Page 9: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

9

3. Szabály: A null érték szisztematikus kezelése

• Az ABR meg kell engednie minden mezőnek, hogy null értékű legyen (vagy üres). Kifejezetten kell támogassa a “hiányzó és alkalmazhatatlan információ”-t, amelyik szisztematikus, különbözik minden szabályos értéktől (például, “különbözik zérótól és minden más számtól”, szám értékek esetében), és független az adattípustól. Magába kell foglalja azt is, hogy egy ilyen reprezentációt szisztematikusan kell kezeljen az ABR.

• Az SQL a NULL értéket használja mindkét esetre

Page 10: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

10

4. Szabály: A relációs modellre épülő aktív elektronikus katalógus

• A rendszernek támogatnia kell egy elektronikus relációs katalógust, amely elérhető a jogosult felhasználók számára egy lekérdező nyelv segítségével. A felhasználóknak elérhető kell legyen az adatbázis struktúrája (katalógusa) ugyanazon lekérdező nyelv használata segítségével, mint amivel elérik az adatbázis adatait.

• Az SQL támogatja ezen katalógus létezését (information_schema a MySQL-ben)

Page 11: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

11

5. Szabály: Az átfogó nyelv szabálya

A rendszernek biztosítania kell legalább egy relációs nyelvet, amelyik

a) Lineáris szintaxissal rendelkezikb) Használható mind interaktív módon, mind

pedig program-alkalmazáson keresztülc) Támogatja az adatdefiníciós operációkat

(beleértve a nézet-definíciókat), adatmanipulációs operációkat (módosítás és visszakeresés), biztonsági- és integritási megszorításokat, és tranzakció menedzsmenti operációkat (kezdet, elkövetés (commit) és visszaforgatás (rollback))

Page 12: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

12

6. Szabály: A nézetfrissítési szabály

• Mindazon a nézetek, amelyek elméletileg frissíthetőek, azok frissíthetőek kell legyenek gyakorlatilag is.

• Az SQL gyenge ezen a téren, mert a nézettáblák frissítése nagyon nehéz probléma.

• Csak a nagyon biztonságos esetek kerülnek bele.

Page 13: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

13

7. Szabály: Magasszintű beszúrás, módosítás és törlés

• A rendszer kell támogassa a készlet szintű beszúrás-, módosítás- és törlés operátorokat. Ez azt jelenti, hogy adathalmazt lehet visszakeresni egy relációs adatbázisból, amelyik több sort/táblát tartalmaz. Ez a szabály kimondja, hogy beszúrás, módosítás és törlés operációk alkalmazhatók kell legyenek minden visszakereshető sorhalmazra, mintsem egy sorra egy táblából.

• Az SQL támogatja ezeket

Page 14: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

14

8. Szabály: Fizikai adatfüggetlenség

• A fizikai síkon történő változások (hogyan tároljuk az adatokat: tömbben vagy csatolt listákban) ne legyen kihatással azon akalmazásokra, amelyek az adatstruktúrán alapulnak.

• Az SQL jobb a programozási nyelvek többségénél

Page 15: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

15

9. Szabáy: Logikai adat-függetlenség

• A logikai szintű változásoknak (táblák, oszlopok, sorok stb.) nem szabad hatással lennie struktúrán alapuló alkalmazásokra. Logikai adatfüggetlenséget nehezebb megvalósítani, mint a fizikai adat-függetlenséget.

• Az SQL nagyon jó ezen a téren

Page 16: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

16

10. Szabály: Épségi függetlenség

• Az épségi megszorítások alkalmazás – függetlenek kel legyenek és a katalógus kell tartalmazza őket. Lehetőséget kell biztosítani annak, hogy ezen megszorítások, amikor szükségszerű, változtathatóak legyenek, anélkül, hogy befolyásolná a létező alkalmazásokat.

Page 17: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

17

11. Szabály: Az osztottság függetlensége

Az adatbázis egyes részeinek különböző helyeken történő tárolása láthatatlan kell legyen az adatbázis felhasználójának. A létező alkalmazások tovább kell működjenek:

1. Amikor egy osztott változata az ABR-nek első alkalommal bevezetésre kerül

2. Amikor a létező osztott adat újraosztásra kerül a rendszeren belül.

Ezen támogatások gyerekcipőben vannak.

Page 18: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

18

12. Szabály: Az alacsony szintű hozzáférés szabálya

• Ha a rendszer biztosít egy alacsony szintű kapcsolatot, ez a kapcsolat nem használható a rendszer aláásására, például, hogy áteresszen egy relációs biztonsági résen vagy megsértsen egy integritási megszorítást.

• Az SQL-92 jó ebből a szempontból

Page 19: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

19

1.Adatbázisrendszerek fejlődése (I)Definíció: Egy adatbázis (AB) egy hosszú ideig – gyakran évekig- meglévő információk gyűjteményeAz adatbázisokat DBMS ( DataBase Management System ) -el tartják karban (Adatbázis menedzselő rendszerek).Elvárások:

1) Új adatbázisok létrehozásához adatdefiníciós nyelvet használunk

2) Az adatok lekérdezhetők és módosíthatók egy adat- manipulációs nyelv segítségével

3) Biztonságos és hosszúidejű tárolást hoz létre, hatékony adathozzáférés

4) Biztosítsa a tartósságot (adatbázis helyreállíthatóságát)5) Egyidejű hozzáféréseket biztosítson

Page 20: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

20

Adatbázisrendszerek fejlődése (II)A. Fájlrendszerek. A 60-as években, nem biztosították, csak a 3-as elvárást. Először kicsik voltak de sok módosítást és sok lekérdezést igényeltek:Példák :- Repülőgép-helyfoglalási rendszer(helyfoglalás, járatok információi : indulás, érkezés, jegyár, a jegyre vonatkozó információk)- Bankrendszerek(Ügyfelek adatai, folyószámlák, hitelszámlák, stb.)- Vállalati nyilvántartások(személyi adatok, termelésadatok, pénzűgyi adatok)B. Relációs adatbázis –Ted Codd 80-as években vezete be.Táblázatok és relációk, lekérdező nyelvvel SQL ( Structured Query Language)

Page 21: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

21

2. Adatbázisrendszerek felépítése

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

adatok

Tranzakció-kezelő

Tárkezelő

Lekérdezés feldolgozó

Séma módosítások lekérdezések módosítások

Page 22: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

22

Lekérdezés-fordító

Tranzakció-kezelő

DDL-fordító

Végrehajtó-motor

Naplózás- és

helyreállítás

Konkurencia-kezelés

Puffer-kezelő

Tárkezelő Tár

Felhasználó/alkalmazás

J.D. Ullmann-J. Widom, ABR alapvetés, Panem, 2009, 6. oldal alapján

lapok írása/ olvasása

Pufferek

Zár- tábla

metaadat

Adatbázis-adminisztrátor

DDL-utasítások

blokk- utasítások

tranzakciós parancsoklekérdezések, módosítások

végrehajtási- terv

metaadat, statisztika

napló- lapok

Page 23: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

23

• Indexek -olyan adatstruktúrák amelyek az adatok gyors elérésére használhatók

• Hash táblákat, majd B-fákat (balanced tree ) használnak(nincs etimológiai magyarázat az elnevezésre)

• A lekérdezések létrejöhetnek:- Általános lekérdező interfészen keresztül- Egy alkalmazói program interfészén keresztül

• A módosítások létrejöhetnek- Általános lekérdező interfészen keresztül- Egy alkalmazói program interfészén keresztül

• Sémamódosítások csak az adatbázis adminisztrátorának megengedettek

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

Page 24: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

24

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

• A tárkezelő ~ az operációs rendszer fájlkezelő is lehet

- A fájlkezelő

- A pufferkezelő• A lekérdezésfeldolgozó:

SQL utasításokat egyszerű utasításokra bont.

Optimalizálják a lekérdezést illetve a végrehajtási tervet

Page 25: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

25

A tranzakciókezelőTöbb lekérdezést vagy módosítást egy tranzakcióba csoportosítRendszerhiba kiküszöbölését és egyszerre való elérhetést biztosít.Elvárások:•Atomosság (minden vagy semmi a tranzakcióból)•Elkülönítés (A különböző tranzakciók nem hatnak egymásra)•Tartósság (még egy rendszerhiba sem hat ki az eredményekre)•Konzisztencia (pl. számla értéke nem lehet negatív)

Page 26: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

26

A különböző komponenseknek a következő

tipusú információra van szükségük:

1.Adat: az adatbázis tartalma

2.Metaadat: az adatbázis sémája

3.Napló rekordok: az adatbázison végzett

módosításokról szóló információk. Tartósság

megőrzése

4.Statisztikák

5.Indexek: Olyan adatszerkezetek, amelyek a

hatékony adatelérést támogatják

Page 27: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

27

Zárolás:Amíg az egyik tranzakció dolgozik a másik tranzakció nem érheti el ugyanazokat az adatokat. A zárolás finomsága: mennyit zárnak le az adatokból és azok zárolása az írás vagy olvasásra vonatkoznak-eNaplózás:Tárolják az összes elvégzett vagy megkezdett tranzakciót. Bizonyos esetekben újra lehet őket használni.A tranzakciók érvényesítése:Először menteni kell a módosításokat, utána végrehajtani és végül érvényesíteni.Kliens –szerver felépítés:A kliens kéréseit egy szerver hajtja végre.Mit végez a kliens és mit a szerver? A túlterhelés elkerülése végett

Page 28: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

28

Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda

3. Az adatbázisok jövöjeObjektumorientáltság (Smalltalk, C++, Java)

Típusrendszer (Rekordstrukturák,Kollelkciótípusok, Hivatkozástípusok)Osztályok és objektumokObjektumazonosítók, MetódusokAbsztrakt adattípusok, Osztályhierarchiák

Megszorítások és triggerek (logikai függvények, programkódrész, mely egy eseményre vár)

Multimédia adatok (videó , audió, radarjelek, műholdfelvétek)

WEB Adattárak

Page 29: Sapientia -  Erdélyi Magyar Tudományegyetem  (EMTE )  Csíkszereda

29

Adatok egységesítése

•Egy nagyvállalat a www-n akarja eladni termékeit.•Sok részleg-külön adatbázis a saját termékekről•Minden részleg

•Különböző adatbázis-kezelő•Különböző információs struktúra•Különböző terminológia ugyanarra a dologra•Ugyanaz a terminológia különböző dolgokra

Sáv és cilinderPl. cső nyilvántartása egyik helyen kg, másik helyen m.Forgási sebesség nyilvántartása: /perc vagy /s

Adattárházak létrehozása