44
Dr. Krauszné Princz Mária Adatbázis rendszerek I.

Adatbázis rendszerek I

Embed Size (px)

DESCRIPTION

Adatbázis rendszerek I. Dr. Krauszné Princz Mária. 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ő. - PowerPoint PPT Presentation

Citation preview

Page 1: Adatbázis rendszerek  I

Dr. Krauszné Princz Mária

Adatbázis rendszerek I.

Page 2: 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ő

Page 3: Adatbázis rendszerek  I

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 4: Adatbázis rendszerek  I

Az adatbázisrendszerek felépítése

Page 5: Adatbázis rendszerek  I

Az adatbázisrendszerek felépítése II.

Adatbázis-kezelő segédprogramok feladatai: az adatbázis indítása, leállítása az adatbázis alapparamétereinek beállítása az adatmentések elvégzése DBMS hatékonyság és a felhasználói tevékenységek figyelése, stb.

Az alkalmazás- és adatbázisfejlesztő, programozó felhasználók segédprogramjai

Interaktív kezelő felületA kiadott utasítások rögtön végrehajtásra kerülnek, s csak az eredmény kiírása után adható meg a következő utasítás.

Űrlapkészítő (Forms)űrlap megtervezésére szolgál,

JelentéskészítőMivel az adatoknak a képernyőn, űrlapokban történő megjelenítése mellett, gyakran szükség van a nyomtatott listákra is, ezért külön komponens szolgál a nyomtatási listák gyors elkészítésére.

MenükészítőA részfunkciókat az áttekinthetőség és gyors elérhetőség végett menühierarchiába szervezik.

Page 6: Adatbázis rendszerek  I

Adatbáziskezelő rendszerek felépítése

Page 7: Adatbázis rendszerek  I

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

Page 8: Adatbázis rendszerek  I

Tranzakciókkal szembeni elvárások

Atomosság Következetesség Elkülönítés Tartósság

Page 9: Adatbázis rendszerek  I

Az adatbiztonság Integritási kényszerek

Az integritási kényszerek azon szabályok, amelyeket az adatbázisnak rendszerint figyelembe kell vennie. (Pl.: az attribútum-értékek előírt határértékek között vannak; az objektumok közötti relációk nem lehetnek ellentétben egymással; hivatkozási integritás, stb.)

Tranzakciók

Minden, a felhasználó által meghatározott változtatás és újradefiniálás mindaddig ideiglenes, míg nincs ellenőrizve. Az adatbázis csak a tranzakció végével változtatható meg.

Zárolás

Naplózás

Page 10: Adatbázis rendszerek  I

Adatkezelés

Befogadó nyelvek segítségével.Pl . Cobol, C, Pascal, Clipper, Php

Az adatbázis-kezelők önálló nyelvek. Pl.dBase(dinamikus SQL)

Page 11: Adatbázis rendszerek  I

Adatbázis architektúrák

Centralizált adatkezelésEgy számítógépen történik az adatok tárolása, feldolgozása

Kliens-szerver adatbázis architektúrák A szerveren hozzáférési jogokkal karbantartási műveletek valósíthatók meg.

Elosztott adatbázis rendszerekA logikailag egységes, fizikailag azonban különböző - egymással összekapcsolt - számítógép rendszereken megvalósított adatbázist osztott adatbázisnak nevezünk (a távolság nem számít). A feladatok megosztása a nagygép tehermentesítése céljából történik.

Page 12: Adatbázis rendszerek  I

Adatmodellezés

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 13: Adatbázis rendszerek  I

Az adatmodellezés szintjei

I. Nézet vagy külső szint: Az egyes felhasználók "rálátása" az adatbázis bizonyos, hozzáférési jogoktól függő részeire

II. Fogalmi vagy logikai szint: Az egész adatbázisra

vonatkozó adatmodell (séma - DDL), hozzáférési jogok

III. Fizikai vagy belső szint: Tárolás és elérés módjai: fájlok, indexek, egyéb tárolási szerkezetek.

Page 14: Adatbázis rendszerek  I

Adatbázisok tervezése - Fogalmi/Logikai szint

Objektum fogalmon alapú modellek: - Egyed-kapcsolat (E/K) modell (grafikus szabvány) - Objektumorientált modell, ODL (C++ nyelvhez

hasonló szabvány az adatstruktúrák leírására)

Rekord fogalmon alapuló modellek:

- Relációs modell (normalizálás) - Hálós modell - Hierarchikus modell

Page 15: Adatbázis rendszerek  I

Adatmodellek történeti áttekintése

Hierarchikus adatbázis-kezelő rendszerek

Hálós adatbázis-kezelő rendszerek

Relációs adatbázis-kezelő rendszerekLeké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, OrionLekérdezés: OQL (Object Query Language)

Page 16: Adatbázis rendszerek  I

Hierarchikus adatbázis-kezelő rendszerek Fa szerkezet, 60-as évek vége.Pl.

Page 17: Adatbázis rendszerek  I

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.

Page 18: Adatbázis rendszerek  I

Relációs adatbáziskezelő rendszerek

Page 19: Adatbázis rendszerek  I

Relációs adatbázis-kezelő rendszerek

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. A reláció helyett a tábla vagy táblázat, a sor helyett a rekord, az oszlop helyett pedig az attribútum elnevezés is használatos.

Page 20: Adatbázis rendszerek  I

Strukturált és objektum-orientált megközelítés közötti eltérés:

Strukturált Objektum-orientált

Adatszerkezet

Vezérlési szerkezet

Objektumstruktúra

Hagyományosan megírva az adatcsoport kezelése a programban szétszórva történik

Adat + művelet együtt.

Page 21: Adatbázis rendszerek  I

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ágAz 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

Page 22: Adatbázis rendszerek  I

Egyed / kapcsolat diagram- az adatmodellezés grafikus megközelítése

Page 23: Adatbázis rendszerek  I

Egyed / kapcsolat diagram II.

Page 24: Adatbázis rendszerek  I

Filmek - tábla

Cím Év Hossz Szalagfajta

Meseautó 1934 86 perc Fekete-fehér

Meseautó 2000 92 perc Színes

Egri csillagok 1968 155 perc Színes

Page 25: Adatbázis rendszerek  I

Fogalmak

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)

Page 26: Adatbázis rendszerek  I

Egyed / kapcsolat diagram III.

Page 27: Adatbázis rendszerek  I

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).

Page 28: Adatbázis rendszerek  I

Példa az oszlopok helytelen és helyes

elnevezésére

Page 29: Adatbázis rendszerek  I

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.

Page 30: Adatbázis rendszerek  I

A normalizálás céljaA 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 egyedelő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 31: Adatbázis rendszerek  I

Redundanciát tartalmazó reláció:

Page 32: Adatbázis rendszerek  I

Normálformák

A relációs modellben alapvető szerepet játszanak az elsődleges kulcsra épülő függések.

A gyakorlatban az adatbázis kezelő rendszerek felépítése a normálformákon alapszik. A normálformákat sorszámozni szokásos: 1NF (normálforma), 2NF, 3NF, 4NF, 5NF.

Nem normalizált relációsémák nem léteznek. (Nem normálformájú táblázatokat a relációs adatbázis-kezelő rendszerek nem tudnak kezelni.)

Minden relációséma megköveteli a legalább 1NF-t. A relációs modell legkarakterisztikusabb jellemzője a

harmadik normálforma.

Page 33: Adatbázis rendszerek  I

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:

Page 34: Adatbázis rendszerek  I

Rosszul tervezett relációk:a

következők:

Nyíregyházi Főiskola Sóstói u. 31/b 444-474

Nyíregyházi Főiskola Sóstói u. 31/b 444-475

Nyíregyházi Főiskola Sóstói u. 31/b 444-476

Nyíregyházi Főiskola Rákóczi u.100 405-610

Nyíregyházi Főiskola Rákóczi u.100 405-611

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.

Page 35: Adatbázis rendszerek  I

1. normál forma

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 36: Adatbázis rendszerek  I

2. normál forma

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 37: Adatbázis rendszerek  I

Példa a második normál forma feltételeit megsértő relációra:

Page 38: Adatbázis rendszerek  I

Első normál formájú reláció és második normál alakú dekompozíciója:

Page 39: Adatbázis rendszerek  I

3. normál forma

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 40: Adatbázis rendszerek  I

Második normál formájú reláció és harmadik normál formájú dekompoziciója:

Page 41: Adatbázis rendszerek  I

Boyce/Codd normál forma:

Minden elsődleges attribútum teljes funkcionális függőségben van azokkal a kulcsokkal, melyeknek nem része.

Ez a harmadik normál forma egy szigorúbb definiciója.

Page 42: Adatbázis rendszerek  I

A harmadik normál formáig mindenféleképpen érdemes normalizálni a relációkat. Ez a redundanciák nagy részét kiszűri.

Azok az esetek, melyekben a negyedik illetve az ötödik normál formák alkalmazására van szükség, ritkábban fordulnak elő.

Page 43: Adatbázis rendszerek  I

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.

Page 44: Adatbázis rendszerek  I

Az adatbázisrendszerek tervezési lépései