Dr. Krauszné Dr. Princz Mária Adatbázis rendszerek I.
Adatbázisok Adatbázis: adatok gyűjteménye, amelyeket az adatbázis-kezelő rendszer (DBMS –Database Management System) kezel. Kezelt adatrendszer →adatbázis Kezelő programrendszer →adatbázis kezelő
Adatbáziskezelő rendszerek felépítése 3 fajta input: Lekérdezések – az adatokra vonatkozó kérések Módosítások – adatok módosítása Sémamódosítások –az adatbázis szerkezetét lehet megváltoztatni Tárkezelő – a kért információ beolvasása a tárolóhelyről Lekérdezés-feldolgozó – a lekérdezéseket egyszerű utasítások sorozatává alakítja Tranzakciókezelő – a taranzakciók hibátlan futásának a biztosítása
Adatmodellek történeti áttekintése Hierarchikus adatbázis-kezelő rendszerek Hálós adatbázis-kezelő rendszerek Relációs adatbázis-kezelő rendszerek Lekérdezés: SQL (Structured Query Language) Pl. Oracle, Informix, DB2, Dbase, Access. ) Objektumrelációs adatbázis-kezelő rendszerek A relációs adatbázis-kezelő rendszerek kiegészítése OO elemekkel. PL. Oracle 8i, UniSQL, Persistence Objektumorientált adatbázis-kezelő rendszerek Pl. O2, ObjectStore, Ode, Orion Lekérdezés: OQL (Object Query Language)
Hierarchikus adatbázis-kezelő rendszerek Fa szerkezet, 60-as évek vége. Pl.
Hálós adatbázis-kezelő rendszerek 70-es évek. A hálós adatmodell szerkezetét gráffal adjuk meg, ebben a csomópontok az egyedek, az élek a kapcsolatok.
Relációs adatbáziskezelő rendszerek
Fogalmak A relációs adatbázis relációk összessége. Az egyes relációkat egyedi névvel látjuk el. A reláció egymáshoz hasonló egyedek bizonyos tulajdonságait leíró táblázat a táblázat soraiban tárolt adatokkal együtt. Sor: logikailag összetartozó adatok – rekord Oszlop: azonos típusú adatok – attribútum Mező: sor – oszlop metszete (atomi adatot v. null értéket tartalmazhat – a mező üres)
Az E/K adatmodell 1. Egyed Egyednek nevezü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ág Az egyedeket tulajdonságokkal, attribútumokkal í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 – egy) 1:N (egy – sok ) N:M (sok – sok
Egyed / kapcsolat diagram - az adatmodellezés grafikus megközelítése
Egyed / kapcsolat diagram II.
Filmek - tábla CímÉvHosszSzalagfajta Meseautó percFekete-fehér Meseautó percSzínes Egri csillagok percSzínes
Egyed / kapcsolat diagram III.
Azonosítás - kulcsokkal Kulcs: egyértelműen azonosítja az egyedet az egyedhalmazon belül. Pl. Cím+Év a Film egyedhalmaznál Ha a kulcs egyetlen attribútumból áll, akkor egyszerű kulcs, egyébként összetett kulcs. Egy reláció esetén megadható több kulcs is, ezek közül azt, amire egy adatfeldolgozási feladat végrehajtásakor szükségünk van és felhasználjuk, elsődleges kulcsnak mondjuk. Az elsődleges kulcson kívül minden egyéb kulcsot másodlagos kulcsnak nevezünk Idegen kulcs: egy reláció attributuma(i), amely(ek) egy másik relációban elsődleges kulcs(ok).
Példa az oszlopok helytelen és helyes elnevezésére
A relációs modell saját adatbázis elmélete: Relációk normalizálása. Adatbázis ideális tulajdonságait ún. normálformákban rögzítjük. Az E/K modell relációkba való átírásakor ezek nem feltétlenül teljesülnek. Azt a folyamatot, amelynek során átalakítjuk az adatbázist a kívánt normálformára, normalizálásnak nevezzük. Normalizálás lényege: Az adatbázis optimalizáltsága, azaz a változtatási anomáliák (pl. redundanciák) 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.
Rosszul tervezett relációk: Például nincs 1NF-ban a következő tábla, mert egy egyednek több telefonszáma lehet, sőt címe is:
Rosszul tervezett relációk: a k ö v e t k e z ő k : Nyíregyházi FőiskolaSóstói u. 31/b Nyíregyházi FőiskolaSóstói u. 31/b Nyíregyházi FőiskolaSóstói u. 31/b Nyíregyházi FőiskolaRákóczi u Nyíregyházi FőiskolaRákóczi u A táblázat redundáns, a tábla több sorában is meg kell ismételni a tulajdonságértékeket. A részleges függés miatti karbantartási anomáliák lépnek fel.
Példa a második normál forma feltételeit megsértő relációra:
Első normál formájú reláció és második normál alakú dekompozíciója: Redundanciát tartalmazó reláció:
Második normál formájú reláció és harmadik normál formájú dekompoziciója:
Kulcsok és indexelés Az indexeléssel meggyorsítjuk a táblákban a keresést és a rendezést, a lekérdezéseket és a csoportosításokat, a frissítés ugyanakkor az indexelés időigényével megnő. Az indexeléssel egy kiválasztott mező szerint logikailag rendezzük az adatbázist, de valójában minden rekord a helyén marad. A táblák elsődleges kulcsa automatikusan indexelt.
Az adatbázisrendszerek tervezési lépései