390 likes | 500 Vues
Az adatbázissal kapcsolatos tudnivalók. Rácskai Benjámin. 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. . Adatbázis célja. Az adatok megbízható,
E N D
Az adatbázissal kapcsolatos tudnivalók Rácskai Benjámin
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.
Adatbázis célja Azadatok • megbízható, • hosszú távon tartós (idegen szóval: perzisztens) tárolása, • és viszonylag gyors visszakereshetőségének biztosítása.
Azadatbá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
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)
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.
Adat modellek • Hierarchikus • Hálós • Relációs • Objektumorientált
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.
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.
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, ennek 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.
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.
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!
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.
Az ETK adatmodell • 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. • TulajdonságAz egyedeket tulajdonságokkal, attribútumokkal(=tulajdonság) írjuk le.A tulajdonságok kétfélék: -leíró -kulcs • 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)
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.
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.
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.
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.
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.
Tábla meghatározása • Logikailag összetartozó adatok sorokból és oszlopokból álló elrendezése.
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
Kulcsok kijelölése a táblákban • Elsődleges kulcs kijelölése • Idegen kulcs kijelölése
Elsődleges kulcs kijelölése • Olyankulcs, 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.
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.
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.
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
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
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.
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
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.
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.
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.
KASZKÁDOLT FRISSÍTÉS • Ha megváltoztatunk egy kulcsot, akkor mindenhol javítja, ahol hivatkoznak rá.
KASZKÁDOLT TÖRLÉS • Ha kitörlünk egy kulcsot, akkor minden olyan rekordot töröl, ami hivatkozott rá.
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.
Táblák feltöltése • Ha a teszt rendben lefut, feltölthetjük a táblát éles adatokkal.
Dokumentálás • A dokumentálás a fejlesztés minden fázisában, folyamatosan történjen.
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.