Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

ADATBÁZIS KEZELÉS – Alapfogalmak Előadó: Németh Zoltán.

Hasonló előadás


Az előadások a következő témára: "ADATBÁZIS KEZELÉS – Alapfogalmak Előadó: Németh Zoltán."— Előadás másolata:

1 ADATBÁZIS KEZELÉS – Alapfogalmak Előadó: Németh Zoltán

2 Mi az adatbázis? • Az adatbázis az adatok és a köztük lévő összefüggések rendszere, amelyet egymás mellett tárolunk. • Az adatbázis tágabb értelemben egy olyan adathalmaz, amelynek elemei – egy meghatározott tulajdonságuk alapján – összetartozónak tekinthetők. • Egy meghatározott témakörrel kapcsolatos információk lehetnek például a vevői megrendelések, számlázási vagy készlet- nyilvántartási adatok stb.

3 Miért használjunk adatbázist? • Adatbázisban tárolhatunk és kezelhetünk nagy mennyiségű, azonos szerkezetű adatot. • Az egymással összefüggő táblák adatait különféle szempontok alapján rendezhetjük, szűrhetjük, csoportosíthatjuk.

4 Adatbázis kezelő rendszer (DBMS - Database management system) • Az adatbázis-kezelő rendszer olyan program, illetve programcsomag, amely lehetővé teszi az adatbázisok kezelését, az azokon végrehajtható műveletek (adatok lekérdezése, módosítása, törlése, az adatbázis karbantartása) elvégzését. • Az adatbázis-kezelőknek meg kell oldani az adatok rendezését, a köztük lévő kapcsolat nyilvántartását, az adatokhoz való hozzáférés szabályozását, az adatok védelmét, az integritás megőrzését, az adatok módosíthatóságát, lekérdezését, különféle szempontok szerinti kigyűjtését, válogatását és egyéb statisztikai funkciókat is.

5 Adatbázis kezelő rendszerrel kapcsolatos elvárásaink • biztosítsa nagy mennyiségű adat hatékony kezelését, • egyszerre több felhasználó is használhassa, • őrizze meg az adatok integritását, feleljen meg a megadott szabályoknak, • nyújtson adatvesztés elleni védelmet, • tegye lehetővé az egyes felhasználók hozzáférési jogainak szabályozását, • továbbfejleszthető legyen.

6 A világ legnagyobb adatbázisai (2007-es becslés) SorszámNévOrszágFelhasználási cél 1. Klímaadatok Világközpontja (WDCC) – a Max Planck Intézet tartja fenn NémetországTudományos kutatás 2. Az USA Nemzeti Energiakutató Tudományos Számítóközpontja (NERSC) USATudományos kutatás 3.AT&TUSATávközlési szolgáltató 4.GoogleUSAInternetes kereső 5.SprintUSATávközlési szolgáltató 6ChoicePointUSA Kormányzati, közösségi és üzleti jellegű információk megosztása 7.YouTubeUSAVideomegosztás 8.AmazonUSAKiskereskedelem 9. CIA – az USA központi hírszerző ügynöksége USATitkosszolgálat 10.USA Kongresszusi KönyvtárUSANemzeti Könyvtár

7 Az adatmodell • Az adatmodell egyértelműen meghatározza az adatbázis szerkezetét, magában foglalja az adatok típusát, kapcsolatát, a korlátozó feltételeket és az adatkezelési műveleteket is. • Az adatmodell mindig szerkezeti és műveleti részből tevődik össze. • Az adatbázisok jellegét, típusát, fajtáját az adatbázis által megvalósított, illetve támogatott adatmodellel/adatmodellekkel szokás megkülönböztetni.

8 Hierarchikus adatmodell • A hierarchikus adatmodell szerkezetét gráffal adjuk meg, azon belül is fával. • A csomópontok itt is egyedeket jelentenek és a nyilak a kapcsolatokat fejezik ki.

9 Hierarchikus adatmodell

10 Hálós adatmodell • A hierarchikus adatmodell továbbfejlesztett változata, a bonyolultabb kapcsolatok ábrázolását már jobban lehetővé teszi. • A hierarchikushoz képest itt már nem csak egy szülőhöz tartozhat több gyerek, de egy gyereknek is lehet több szülője. • Az egyedek között tetszőleges kapcsolatok építhetők ki. • A háló tetszőlegesen nagy méretű lehet, ábrázolása több, egymásra hierarchikusan felépülő kisebb egységekkel, setekkel történik. (set = Kétszintű fa amelynek gyökéreleme a tulajdonos, és levélelemei a tagok.)

11 Hálós adatmodell

12 Relációs adatmodell A relációs adatmodellben az egyedet egy táblázattal adjuk meg, a táblát oszlopai a tulajdonságok. A táblázat sorai az egyed értékei (vagyis a táblázat maga az egyedhalmaz). A táblázat egy-egy sorát a tulajdonságok konkrét értékei adják. Az adatbázisokat több táblázattal adjuk meg (minden tábla egy egyed-halmaz), de a táblázatok (tehát az egyedek) közötti kapcsolatokat nem definiáljuk az adatmodell felírásakor. Ez nem azt jelenti, hogy nincsen közöttük kapcsolat, de ezeket a kapcsolatokat például egyszerűen az fejezi ki, hogy két táblának van közös oszlopa (mindkét táblában szerepel ugyanaz a tulajdonság).

13 Relációs adatmodell A relációs adatmodellben az adatokat egymással logikai kapcsolatban álló táblákba rendszerezzük. Egy tábla oszlopainak és sorainak a következő feltételeknek kell megfelelniük: • minden oszlopnak egyértelmű neve van, • minden sorban ugyanazok az oszlopok vannak, • az oszlopokban található adatok meghatározott értéket vehetnek fel, • az oszlopok soronként csak egy értéket vehetnek fel, • a táblát a neve egyértelműen azonosítja.

14 Relációs adatmodell Ez a legelterjedtebb adatmodell, pár példa: • MySQL • Microsoft SQL • DB2 • SQLite

15 Objektumorientált adatmodell • Olyan adatbázis, amely intelligens elemekből épül fel. • Az intelligencia itt azt jelenti, hogy az egyes adatbázis elemek (objektumok) „tudják”, hogy kik ők, mire használhatók, s miként kapcsolódnak a többi adatbázis-elemhez. • Például: PostgreSQL, Oracle

16 Tábla • A tábla a logikailag összetartozó adatokat foglalja össze. A tábla oszlopokból és sorokból áll, amelyeket mezőknek, illetve rekordoknak nevezünk.

17 Rekord • A rekord az adatbázis egy sora. Egy rekordban tároljuk az egymással összefüggő adatokat.

18 Mező • A mező az adatbázis egy oszlopa, amelyben az egyedek tulajdonságértékeit tároljuk.

19 Egyed • Az elemi adatok a tábla celláiban szereplő értékek, amelyek az egyed konkrét tulajdonságai. • Az egyed az, amit le akarunk írni, amelynek az adatait tároljuk és gyűjtjük az adatbázisban. Az egyedet idegen szóval entitásnak nevezzük. Egyednek tekinthetünk például egy személyt.

20 Egyed • Egy adatmodellben valamennyi egyedet egyenként véges számú tulajdonsággal írunk le. Ezek a tulajdonságok együttesen alkotják az egyed belső szerkezetét, és az egyed belső tulajdonságainak hívjuk. • Az egyedek kapcsolatainak összességét az egyed külső tulajdonságoknak hívjuk. • Az attribútum (vagyis tulajdonság) az egyed valamely jellemzője. Az egyed az attribútumok összességével jellemezhető. Egy személy egy jellemzője lehet például a neve.

21 Egyed • Az egyedre vonatkozóan megadott tulajdonságok összességét egyedtípusnak nevezzük. Egy személy leírható például a nevével, életkorával, testmagasságával, a szeme és haja színével együttesen. • Az egyedre vonatkozóan megadott konkrét tulajdonságokat egyed-előfordulásnak nevezzük. Egy egyed-előfordulás például Kis Ede, aki 29 éves, 183 cm magas, kék szemű, barna hajú.

22 Reláció • A reláció nem más mint egy táblázat, a táblázat soraiban tárolt adatokkal együtt. • Az egyes relációkat egyedi névvel látjuk el. • A relációk oszlopaiban azonos mennyiségre vonatkozó adatok jelennek meg. Az oszlopok névvel rendelkeznek, melyeknek a reláción belül egyedieknek kell lenniük, de más relációk tartalmazhatnak azonos nevű oszlopokat. • A reláció soraiban tároljuk a logikailag összetartozó adatokat. A reláció sorainak sorrendje közömbös, de ne • A relációktól általában megköveteljük, hogy ne tartalmazzanak más adatokból levezethető vagy kiszámítható információkat.m tartalmazhat két azonos adatokkal kitöltött sort.

23 Funkcionális kapcsolat • Adatok között akkor áll fenn funkcionális kapcsolat, ha egy vagy több adat konkrét értékéből más adatok egyértelműen következnek. Személyi szám -> Név Személyi szám -> Név, Születési idő, stb.

24 Funkcionális kapcsolat • Az is előfordulhat, hogy két attribútum kölcsönösen függ egymástól. Férj személyi száma Feleség személyi száma • Összetett meg határozójú függőségről beszélünk, ha több adat szükséges más adatok azonosításához. Hely, Idő -> Hőmérséklet

25 Adatok közötti többértékű függőség • Az adatok között fennálló kapcsolatok közül nem mindegyik fejezhető ki a funkcionális függőség segítségével. Például minden embernek lehet több szakmája, illetve ugyanazzal a szakmával több ember is rendelkezhet. Ebben az esetben egyik irányban sincs egyértelmű függőség. • Ez egy többértékű függőség, az egyik attribútumhoz egy másik attribútum csoportja, halmaza kapcsolódik. Személyi szám ->> Szakma Személyi szám ->> Szakma, Oklevél kelte

26 A funkcionális- és többértékű függőség kapcsolata • A funkcionális és a többértékű függőség között kapcsolat van. • Nagyon gyakran ugyanazt a függőségi kapcsolatot kifejezhetjük funkcionális és többértékű függőséggel is. Termék azon., Alkatrész azon. -> Mennyiség Termék azon. ->> Alkatrész azon., Mennyiség

27 Reláció kulcs • A reláció kulcs a reláció egy sorát azonosítja egyértelműen. A reláció - definíció szerint- nem tartalmazhat két azonos sort, ezért minden relációban létezik kulcs. A reláció kulcsnak a következő feltételeket kell teljesítenie • az attribútumok egy olyan csoportja, melyek csak egy sort azonosítanak (egyértelműség) • a kulcsban szereplő attribútumok egyetlen részhalmaza sem alkot kulcsot • a kulcsban szereplő attribútumok értéke nem lehet definiálatlan (NULL) • A definiálatlan (NULL) értékek tárolását a relációs adatbázis kezelők speciálisan oldják meg. Numerikus értékek esetén a NULL érték és a 0 nem azonos.

28 Reláció kulcs • Elsődleges kulcs: a tábla rekordjainak egyértelmű azonosítója, értéke egyedi. • Idegen kulcs: olyan azonosító, amelynek segítségével egy másik tábla elsődleges kulcsára hivatkozhatunk. • Összetett kulcs: több mező felhasználásával képezünk. Erre akkor van szükség, ha egyetlen mező egyediségét sem lehet biztosítani.

29 Kapcsolat a táblák között • A relációs adatbázis-kezelés lényege, hogy az adatokat egymással logikai kapcsolatban álló táblákban tároljuk. • A táblák közti kapcsolatok az egyedek egymáshoz való viszonyát írják le. Az egyedek közti kapcsolatot háromféleképpen írhatjuk le: – 1-1Egy az egyhez – 1:NEgy a többhöz – N:MTöbb a töbhöz

30 Egy-egy (1:1) kapcsolat • Az egyik tábla egy eleméhez a másik tábla pontosan egy eleme kapcsolódik. • Példa: ember, születési dátum

31 Egy-több (1:N) kapcsolat • Az egyik tábla egy eleméhez a másik tábla több eleme is tartozhat. • Példa: szülő, gyerekek

32 Több-több (N:M) kapcsolat • Bármely tábla elemeihez a másik tábla tetszőleges számú eleme tartozhat. • Példa: adósok, hitelezők

33 Redundancia • Redundanciáról akkor beszélünk, ha valamely tényt vagy a többi adatból levezethető mennyiséget ismételten (többszörösen) tároljuk az adatbázisban. • A redundancia, a szükségtelen tároló terület lefoglalása mellett, komplikált adatbázis frissítési és karbantartási műveletekhez vezet, melyek könnyen az adatbázis inkonzisztenciáját okozhatják.

34 Inkonzisztencia • Egy adatbázis akkor inkonzisztens, ha egymásnak ellentmondó tényeket tartalmaz. • Ilyen esetek jöhetnek létre akkor, ha adatbázist frissítünk, rekordokat módosítunk, törlünk, vagy új értéket rögzítünk, és a kapcsolatban lévő relációk tábláit nem módosítjuk megfelelően. (Ezt nevezzük még anomáliának is.)

35 Anomáliák • Nem megfelelően felépített adatbázis esetén az adatszerkezetben különféle anomáliák, ellentmondások keletkezhetnek. • Egy relációs adatbázisban a következő anomáliák léphetnek fel: – Bővítési anomália – Törlési anomália – Módosítási anomália

36 Bővítési anomália • Ha egy rekord felvételekor a már korábban tárolásra került információkat is újra be kell vinni. • Ez akkor jó, ha az adatbázis-kezelő rendszer önműködően megcsinálja. Ha kézzel kell a rekordokat pótolni, akkor számíthatunk arra, hogy egy idő után már nem látjuk át az adatbázis szerkezetét, ezáltal hibázunk, és ellentmondásos adatbázist kapunk.

37 Törlési anomália • Amikor az elem megszüntetésekor a nem hozzá tartozó információk is elvesznek. • A törlésnél figyelnünk kell arra, hogy a törölt rekordhoz kapcsolódó rekordok ne törlődjenek, csak akkor, ha ezt mi kérjük.

38 Módosítási anomália • Amikor az elemi adat módosulásakor az adatbázisban az elemi adat összes előfordulási helyén el kell végezni a módosítást. • Ha több helyen tároljuk az adatokat, akkor mindenhol frissíteni, aktualizálni kell a rekordokat.

39 Tranzakció • A tranzakció a rendszerbe beépített olyan alrendszer, amely az állapotváltozás előtt automatikusan elmenti az állapot- paramétereit, és csak akkor törli az előző állapot elmentett értékeit, ha a tranzakció sikeresen lezajlott, vagyis a cél állapotot elértük. Hiba esetén automatikusan visszaállítja a kiinduló állapotot. • A rendszer inkonzisztensé válását okozhatja, h a nincsenek megfelelően kezelve.

40 Normalizálás • Az a folyamat, mely során az adatbázis logikai áttekinthetősége, illetve a tárolási igény csökkentése érdekében megszüntetjük a redundanciákat és az anomáliákat. • Az adatbázis-tervezés folyamatában az adatbázisban modellezett rendszert elemezzük, és meghatározzuk a tárolandó adatok körét, azok egymás közötti kapcsolatait és az adatbázissal szemben felmerülő igényeket. • A logikai tervezés célja egy redundanciamentes kapcsolatrendszer, egy relációs adatbázis.

41 A normál formák • A relációelmélet módszereket tartalmaz a redundancia megszüntetésére az úgynevezett normál formák segítségével. • A normál formák előállítása során a funkcionális és a többértékű függőség, valamint a reláció kulcs fogalmát használjuk fel.

42 A normál formák • Ötféle normál formát különböztetünk meg. • A különböző normál formák egymásra épülnek, a második normál formában levő reláció például első normál formában is van. • A tervezés során a legmagasabb normál forma elérése a cél. • Az első három normál forma a funkcionális függőségekben található redundanciák, míg a negyedik és ötödik a többértékű függőségekből adódó redundanciák megszüntetésére koncentrál.

43 Első normál forma (1NF) • Egy reláció első normál formában van, ha minden attribútuma egyszerű, nem összetett adat, vagyis ha minden mezője funkcionálisan függ a kulcsmező csoportjától. • Azaz a mezők függéseinek rendszerében létezik egy kulcs, amelytől minden más mező függ. Minden nem kulcsmező függ a teljes kulcstól egy táblán belül.

44 1NF példa SzakkörTanárDiákok SzámítástechnikaNagy Pál NévOsztály Kiss RitaIII.b Álmos ÉvaII.c VideoGál János NévOsztály Réz EdeI.a Vas FerencII.b SzakkörTanárDiákOsztály SzámítástechnikaNagy PálKiss RitaIII.b SzámítástechnikaNagy PálÁlmos ÉvaII.c VideoGál JánosRéz EdeI.a VideoGál JánosVas FerencII.b

45 Második normál forma (2NF) • Az első normál forma nem elegendő feltétel a redundanciák megszüntetésére. • Egy reláció második normál alakjában nem tartalmazhat tényeket a reláció kulcs egy részére vonatkozóan. A második normál pontos definíciója két kritériumnak tesz eleget: – a reláció első normál formában van, – és a reláció minden nem elsődleges attribútuma teljes funkcionális függőségben van az összes reláció kulccsal. • A gyakorlatban ez azt jelenti, hogy egyszerű értékek szerepelnek a mezőkben és minden másodlagos attribútum teljes funkcionális függőségben van. Következmények: Ha a kulcs egy attribútumból áll, akkor a reláció 2NF. Ha csak egy mező van a relációban, akkor 2NF.

46 2NF példa TeremIdőpontElőadásFérőhely B10:00Mitológia250 A8:30Irodalom130 B11:30Szinház250 A11:00Festészet130 A13:15Régészet130 TeremIdőpontElőadás B10:00Mitológia A8:30Irodalom B11:30Szinház A11:00Festészet A13:15Régészet TeremFérőhely A130 B250

47 2NF létrehozása • Kiemeljük a kulcsból azokat az attribútumokat, amelyek önállóan is meghatározzák a másodlagos attribútumokat. • Az előző lépés szerint összetartozó elsődleges és másodlagos attribútumokból relációt állítunk elő. • Azokat a másodlagos attribútumokat, amelyek csak a kulcstól függnek, a kulcsban szereplő elsődleges attribútumokkal egy táblába fogjuk össze.

48 Harmadik normál forma (3NF) • A második normál formájú relációkban nem lehetnek olyan tények, amelyek a reláció kulcs részeihez kapcsolódnak. • Azonban ennek ellenére is lehet bennük redundancia, ha olyan tényeket tartalmaznak, amelyek a nem elsődleges attribútumokkal állnak kapcsolatban. • Ezt a lehetőséget szünteti meg a harmadik normál forma. Egy reláció harmadik normál formában van, ha: – A reláció második normál formában van. – A reláció nem tartalmaz funkcionális függőséget a nem elsődleges attribútumok között.

49 3NF példa SzakkörTanárSzületési év KépzőművészSár Izodor1943 IparművészSár Izodor1943 KarateErős János1972 SzakkörTanár KépzőművészSár Izodor IparművészSár Izodor KarateErős János TanárSzületési év Erős János1972 Sár Izodor1943

50 3NF előállítása • Megszüntetjük a másodlagos attribútumok közötti funkcionális függőséget, azaz szintén több relációra bontjuk az eredeti relációt.

51 Boyce/Codd normál forma (BCNF) • A normál formákat olyan relációkra is lehet alkalmazni, ahol több kulcs van. • A normál formák definíciója alkalmazható a több kulccsal rendelkező relációkra is. Ebben az esetben minden attribútum, amely valamely kulcsnak a része, elsődleges attribútum, de ez az attribútum függhet egy másik, ezt nem tartalmazó kulcs részétől. Ha ez a helyzet fennáll, redundanciát tartalmaz a reláció. Ennek a felismerése vezetett a harmadik normál forma egy szigorúbb meghatározásához, az úgynevezett Boyce/Codd normál formához. • Minden elsődleges attribútum teljes funkcionális függőségben van azokkal a kulcsokkal, amelyeknek nem része.

52 3NF és Boyce/Codd példa TanárIdőpontTantárgyFélévDiák_szám Kiss Pál93/1Adatbázis117 Jó Péter93/1Unix121 Kiss Pál93/2Adatbázis232 Jó Péter93/1Unix219 KissPál93/1Adatbázis325 IdőpontTantárgyFélévDiák_szám 93/1Adatbázis117 93/1Unix121 93/2Adatbázis232 93/2Unix219 93/1Adatbázis325 TanárIdőpontTantárgy Kiss Pál93/1Adatbázis Jó Péter93/1Unix Kiss Pál93/2Adatbázis

53 Negyedik normál forma (4NF) • Sajnos még a Boyce/Codd normál forma is tartalmazhat redundanciát. • Mindeddig csak a funkcionális függőségeket tekintettük át, a többértékű függőségeket nem. • A további két normál forma a többértékű függőségekből adódó redundancia kiszűrését szolgálja. • Egy reláció negyedik normál formában van, ha egy XY többértékű függőséget tartalmazó relációban csak az X és Y-ban megtalálható attribútumokat tartalmazza. • Sokáig a negyedik normál formát tartották a normalizálás utolsó lépésének. A többértékű függőségek külön relációkban tárolásával azonban információt veszíthetünk. • A normalizálás során érdemes legalább a harmadik normál formáig eljutni, így a redundanciák nagy részét kiszűrhetjük. Azok az esetek, melyekben a negyedik, illetve az ötödik normálformák alkalmazására van szükség, ritkábban fordulnak elő.

54 4NF példa SzemélyBarátHobbi Nagy JózsefElek Attilafoci Nagy JózsefVarga Attilafoci Kiss PéterKiss Pálsakk Kiss PéterKiss Pálvideo SzemélyBarát Nagy JózsefElek Attila Nagy JózsefVarga Attila Kiss PéterKiss Pál SzemélyHobbi Nagy Józseffoci Kiss Pétersakk Kiss Pétervideo

55 Ötödik normál forma (5NF) • Az ötödik normál forma esetén a redundancia megszüntetése csak nagyobb tárterület felhasználásával valósítható meg. • Így általában az adatbázis tervezője döntheti el, hogy az ötödik normál formát és a nagyobb adatbázist, vagy a redundanciát és a komplikáltabb frissítési, módosítási algoritmusokat választja.

56 5NF példa TanárTanfolyamHelyszín Nagy ÉvaAdatbázis I.Szeged Kiss PálAdatbázis I.Győr Nagy ÉvaAdatbázis II.Pécs Kiss PálAdatbázis I.Pécs TanárTanfolyam Nagy ÉvaAdatbázis I. Kiss PálAdatbázis I. Nagy ÉvaAdatbázis II TanfolyamHelyszín Adatbázis I.Szeged Adatbázis I.Győr Adatbázis II.Pécs Adatbázis I.Pécs TanárHelyszín Nagy ÉvaSzeged Kiss PálGyőr Nagy ÉvaPécs Kiss PálPécs

57 KÖSZÖNÖM A FIGYELMET! A Felnőttképzési, Pedagógiai és Humán Szolgáltató Kft. Megbízásából készítette a PSZINFO Informatikai és Humán Szolgáltató Bt.


Letölteni ppt "ADATBÁZIS KEZELÉS – Alapfogalmak Előadó: Németh Zoltán."

Hasonló előadás


Google Hirdetések