Transcript adatbázis

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ő

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
Az adatbázisrendszerek felépítése
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ület
A 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.
Adatbáziskezelő rendszerek felépítése
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


Tranzakciókkal szembeni elvárások
 Atomosság
 Következetesség
 Elkülönítés
 Tartósság
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

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)
Adatbázis architektúrák

Centralizált adatkezelés
Egy 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 rendszerek
A 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.
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.
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.
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
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
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.
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.
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
Év
Hossz
Szalagfajta
Meseautó
1934
86 perc
Fekete-fehér
Meseautó
2000
92 perc
Színes
155 perc
Színes
Egri csillagok 1968
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)

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.
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 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.
Redundanciát tartalmazó reláció:
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.
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:
Nyíregyházi Főiskola
Nyíregyházi Főiskola
Nyíregyházi Főiskola
Nyíregyházi Főiskola
Sóstói u. 31/b
Sóstói u. 31/b
Sóstói u. 31/b
Rákóczi u.100
444-474
444-475
444-476
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.

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.
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 .
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:
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.
Második normál formájú reláció és harmadik normál
formájú dekompoziciója:
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.

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ő.

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