Az adatbázissal kapcsolatos tudnivalók
description
Transcript of Az adatbázissal kapcsolatos tudnivalók
![Page 1: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/1.jpg)
Az adatbázissal kapcsolatos tudnivalók
Rácskai Benjámin
![Page 2: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/2.jpg)
Adatbázis
• Az adatbázis az adatok szervezett gyűjteménye,amely lehetővé teszi az adatok tetszőleges szempontok szerinti rendszerezését és visszakeresését.
![Page 3: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/3.jpg)
Adatbázis célja
Az adatok
• megbízható, • hosszú távon tartós (idegen szóval: perzisztens)
tárolása, • és viszonylag gyors visszakereshetőségének
biztosítása.
![Page 4: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/4.jpg)
Az adatbázis-kezelő rendszerrel szembeni elvárások:
• Új adatbázisok létrehozása – adatdefiníciós nyelv segítségével. (DDL)
• Meglévő adatok lekérdezése, módosítása – lekérdező v. adatmanipulációs nyelv segítségével. (SQL)
• Támogassa az adatok hosszú időn át történő biztonságos tárolását.
• Felügyelje a több felhasználó egy időben történő adathozzáférését
![Page 5: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/5.jpg)
Adatbázis fajtái
• Adatbázis rendszerek az adatkapcsolati modell alapján lehetnek:
• Hierarchikus szerkezetű (IMS, IMS-VS, DL/1, DL/1 ENTRY, VANDL/1)
• Hálós szerkezetű (IDMS, DENNIS, CODASYL, SÁMÁN, BANK)
• Relációs elvű (ORACLE, SQL, SYBASE, DB2, SYSTEM-R, Paradox)
![Page 6: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/6.jpg)
Adatmodell fogalma
Adatmodellek az az adatbázisok szerkezetének leírására szolgálnak.
Egyedek, tulajdonságok, kapcsolatok halmaza, amely absztrakt módon tükrözi a valós objektumoknak, azok tulajdonságainak és kapcsolatainak elvont kategóriáit.
![Page 7: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/7.jpg)
Adat modellek
• Hierarchikus
• Hálós
• Relációs
• Objektumorientált
![Page 8: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/8.jpg)
Relációs adatmodell
• Sémája gráf
• Az egyes egyedhalmazokhoz tartozó adatokat táblázatokba foglaljuk,ezek az összetartozó táblázatok alkotják az adatbázisokat.
![Page 9: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/9.jpg)
Relációs adatbázis
• Relációs adatbázisnak nevezzük a relációs adatmodell elvén létrehozott adatok összességét, a relációs adatmodell fogalomrendszerében meghatározott ún. relációk egy véges halmazát.
![Page 10: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/10.jpg)
A relációs modell
• Edgar Frank Ted Codd dolgozta ki 1971-72-ben. Az volt a célja, hogy kiküszöbölje a hálós struktúra hátrányait. A relációs modellnél a logikai adatszerkezet független a fizikai tárolástól, en nek következtében a logikai kapcsolatok változtatása után nem kell a tárolást újraszervezni.A relációs adatmodell lényege, hogy az adatokat logikailag relációkban ábrázoljuk.
![Page 11: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/11.jpg)
A relációs adatbázis gyakorlati tervezési lépései:
• Követelményelemzés;• Modellezés;• Normalizálás;• Táblák meghatározása;• Táblák szerkezetének kialakítása;• Kulcsok kijelölése a táblákban;• Indexek kijelölése;• Táblák közötti kapcsolatok kialakítása;• Táblák közötti kapcsolatok optimalizálása;• Tesztelés;• Táblák feltöltése;• Dokumentálás.
![Page 12: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/12.jpg)
Követelményelemzés
• Felmérjük, hogy mit vár a felhasználó az adatbázistól:– Milyen bemenő adatok állnak rendelkezésre?;
– Milyen kimenő adatokra van szükség?;
– Milyen adatmennyiséggel, rekordszámmal kell számolnunk?;
– Milyen gyakran kerül sor bővítésre, módisításra, törlésre?;
– Milyen típusú és mennyi lekérdezésre, jelentésre lesz szükség?;
– Feltétlenül figyelembe kell venni a várható bővítéseket!
![Page 13: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/13.jpg)
Modellezés
• Az E-T-K (Egyed-Tulajdonság-Kapcsolat) modellel meghatározzuk az adatbázis egyedtípusait, tulajdonságtípusait, illetve az egyedek közötti kapcsolatokat.
![Page 14: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/14.jpg)
Az ETK adatmodell
1. EgyedEgyednek nevezzünk minden olyan dolgot (objektumot), amely minden más egyedtől (objektumtól) jól megkülönböztethető, tulajdonságokkal leírható, és amiről adatokat tárolunk. (Ez a legkisebb egysége az adatbázisnak, amire hivatkozni lehet.) Egyes adatbázis-kezelő rendszerekben az egyedet REKORDnak nevezik.
2. TulajdonságAz egyedeket tulajdonságokkal, attribútumokkal(=tulajdonság) írjuk le.A tulajdonságok kétfélék: - leíró - kulcs
3. Kapcsolatnak nevezzük az egyedek közötti viszonyt.Kapcsolatok fajtái:
1:1 (egy – több) 1:N (egy – több)N:M (több – több)
![Page 15: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/15.jpg)
Normalizálás
• Lényege: Az adatbázis optimalizáltsága, azaz a változtatási anomáliák (pl. redundanciák=adat ismétlődés) megszüntetése az adatbázisban. (A logikai adatbázis tervezés egyik fő célja.)
• A normalizációnak több szintje, típusa létezik.
• A jól működő adatbázis érdekében legalább a 3. normálformáig el kell jutni.
![Page 16: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/16.jpg)
A normalizálás célja
A normalizálás célja a hibaforrást jelentő ún. anomáliák minimálisra csökkentése.
• Változtatási anomáliának nevezzük a - módosítási, - beírási, - törlési anomáliákat.
• Módosítási anomália: Egy attribútum értékének megváltozását több helyen kell kijavítani. Ekkor az adatbázis redundáns, azaz valamely tényt vagy a többi adatból levezethető mennyiséget ismételten (többszörösen) tárolunk az adatbázisban.Ez az adatbázis inkonzisztens állapotához vezethet.
• Beírási anomália: Új egyed előfordulásra vonatkozó információ bevitele nem lehetséges hiányos adatok miatt. Ez információvesztést eredményez.
• Törlési anomália: Bizonyos adatok törlésével elvesznek olyan adatok (mivel csak egesz sorokat tudunk törölni), amelyekre továbbra is szükség lenne. Ez is információvesztést eredményez.
![Page 17: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/17.jpg)
1. normál forma
A 1. normál formában van a séma, ha a mezők függéseinek rendszerében létezik egy kulcs, amelytől minden más mező függ, azaz minden mezője funkcionálisan függ a kulcsmező csoporttól.
![Page 18: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/18.jpg)
2. normál forma
A 2. normál formában van a séma, ha teljesíti az első normál forma kritériumait és nincs benne részleges függés, azaz bármely nem kulcs mező a teljes kulcstól függ, de nem függ a kulcs bármely részhalmazától .
![Page 19: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/19.jpg)
3. normál forma
A 3. normál formában van a séma, ha teljesíti a második normál forma kritériumait és nem áll fenn tranzitív függőség, azaz a nem kulcs mezők nem függnek egymástól.
• 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.
![Page 20: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/20.jpg)
Tábla meghatározása
• Logikailag összetartozó adatok sorokból és oszlopokból álló elrendezése.
![Page 21: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/21.jpg)
Táblák szerkezetének kialakítása
• A szükséges mezők létrehozása• A mezők tulajdonságainak beállítása:
– Mezőnév– Adattípus(szöveg,szám,feljegyzés stb.)– Mezőméret(karakter hosszúság)– Egyéb tulajdonságok
![Page 22: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/22.jpg)
Kulcsok kijelölése a táblákban
• Elsődleges kulcs kijelölése
• Idegen kulcs kijelölése
![Page 23: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/23.jpg)
Elsődleges kulcs kijelölése
– Olyan kulcs, amelyet – a lehetséges kulcsok (kulcsjelöltek) közül – ténylegesen felhasználtunk a sorok azonosítására.
– A relációs adatbázisban szereplő tábláknak célszerű rendelkezniük elsődleges kulccsal.
– Az elsődleges kulcs meg kell, hogy feleljen a következő kritériumoknak:
• Minden sort egyedileg azonosít;• Értéke nem lehet üres, vagy null értékű;• Értéke nem változik.
![Page 24: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/24.jpg)
Idegen kulcs kijelölése
• Olyan kulcs, amely egy másik táblában elsődleges kulcs. Itt az aktuális táblában nem elsődleges kulcsként, hanem kapcsolómezőként szerepel, vagyis a táblák közötti kapcsolatok kialakítására szolgál.
![Page 25: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/25.jpg)
Indexek kijelölése
• Index=A rekordok logikai rendezése valamilyen szempont szerint.• Az indexek logikailag egy rendezett listaként foghatóak fel.• Fizikailag a rendezett sorrendet indextáblába rendezett mutatók
biztosítják.• Az indexeléssel történő rendezés tehát nem jár a rekordok tényleges,
fizikai rendezésével.• A táblákban tárolt információk visszakeresését az indexek
nagymértékben meggyorsíthatják.• A fentiek miatt a tervezés során nagy hangsúlyt kell fektetni a helyes
indexek kiválasztására.• Szem előtt kell azonban tartani azt is, hogy az indexek számának
növelésével az adatok beviteléhez illetve módosításához szükséges idő – az indexek frissítése miatt –megnövekszik.
![Page 26: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/26.jpg)
Táblák közötti kapcsolatok kialakítása
• A táblák közti kapcsolatok az egyedek egymáshoz való viszonyát jelölik. A táblák közötti kapcsolatot háromféle lehet:
• Egy-egy (1:1) kapcsolat
• Egy-több (1:N) kapcsolat
• Több-több (N:M) kapcsolat
![Page 27: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/27.jpg)
Egy-egy (1:1) kapcsolat
• Az egyik tábla egy rekordjához a másik tábla pontosan egy rekordja kapcsolódik.Például: az érvényes személyi számok és a magyar állampolgárok közötti kapcsolat
![Page 28: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/28.jpg)
Egy-több (1:N) kapcsolat
• Az egyik tábla egy rekordjához a másik tábla több rekordja is tartozhat.Például: a magyarországi megyék és városok közötti viszony.
![Page 29: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/29.jpg)
Több-több (N:M) kapcsolat
• Bármely tábla rekordjaihoz a másik tábla tetszőleges számú rekordja tartozhat.Például: az autók és a színek kapcsolata
![Page 30: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/30.jpg)
Táblák közötti kapcsolatok optimalizálása
– Hivatkozási integritás megőrzésének beállítása;– Kapcsolt mezők kaszkádolt frissítésének
beállítása– Kapcsolt mezők kaszkádolt törlésének beállítása – Illesztési típus beállítása.
![Page 31: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/31.jpg)
HIVATKOZÁSI INTEGRITÁS
• A hivatkozási integritás azt jelenti, hogy csak olyan kulcsra hivatkozunk, ami létezik a másik táblában.
![Page 32: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/32.jpg)
HIVATKOZÁSI INTEGRITÁS MEGŐRZÉSE
• Két tábla összekapcsolásakor bekapcsolhatjuk a hivatkozási integritás megőrzése opciót, aminek hatására automatikusan figyelni fogja a rendszer, hogy ne vihessünk be rossz hivatkozást, vagy ne módosíthassunk illetve törölhessünk ki olyan kulcsot, amire egy másik táblában hivatkoznak. Amennyiben olyan műveletet kezdeményezünk, ami megsértené a hivatkozási integritást, a rendszer figyelmeztetést ad erről, és nem hagyja elvégezni.
![Page 33: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/33.jpg)
KASZKÁDOLT FRISSÍTÉS
• Ha megváltoztatunk egy kulcsot, akkor mindenhol javítja, ahol hivatkoznak rá.
![Page 34: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/34.jpg)
KASZKÁDOLT TÖRLÉS
• Ha kitörlünk egy kulcsot, akkor minden olyan rekordot töröl, ami hivatkozott rá.
![Page 35: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/35.jpg)
Tesztelés
• Ha a táblák és a kapcsolatok rendben vannak, akkor célszerű kevés számú rekorddal letesztelni az adatbázis működését, funkcióit.
![Page 36: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/36.jpg)
Táblák feltöltése
• Ha a teszt rendben lefut, feltölthetjük a táblát éles adatokkal.
![Page 37: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/37.jpg)
Dokumentálás
• A dokumentálás a fejlesztés minden fázisában, folyamatosan történjen.
![Page 38: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/38.jpg)
Egy kis humor…:D
• Két informatikus beszélget:- Neked mi volt eddig a legkomolyabb kapcsolatod?- Egy négy megás ADSL!
• Hogy hívják a templomok közti hálózatot? - PapLAN
• Hogy hívják a katonai operációs rendszert?- CommanDos.
![Page 39: Az adatbázissal kapcsolatos tudnivalók](https://reader035.fdocument.pub/reader035/viewer/2022081515/56813d17550346895da6d1e2/html5/thumbnails/39.jpg)
Köszönöm a figyelmet!