You are on page 1of 17

ADATBÁZISKEZELÉS

Bevezetés
A mindennapi élet – adatbázis kapcsolata: népesség nyilvántartás

A számítástechnika fejlődés fontos jellemzője:


Több felhasználó – több adat tárolása (nagy információmennyiség)
Szükségünk van a nagy mennyiségű adat kezeléséhez egy megfelelő programra.

Alkalmazási területek:
 Kereskedelem: megrendelések nyilvántartása
 Oktatás: hallgatói jogviszony
 Egészségügy: betegnyilvántartás
 Bank: számlák nyilvántartása
 Vállalat: termelésirányítási rendszerek

Alapfogalmak

Áttekintés
- XX. sz. 2. felének leggyorsabban fejlődő tud. ága az informatika.
- Megváltoztak a hétköznapi dolgaink. (elektromos vásárlás,
kártyával történő vásárlás)
Adatbázis:
Olyan adatgyűjtemény, amely egy adott témához, vagy feladathoz kapcsolódó
adatokat szervezetten tárolja, biztosítja az adatokhoz való hozzáférést, az adatok
integritásának megőrzését, az adatok védelmét.

Adatbázis-kezelőrendszer:
Az a programrendszer, amelynek feladata az adatbázishoz való hozzáférések
biztosítása és az adatbázis belső karbantartási funkcióinak végrehajtása.

Főbb funkciói:
- adatbázisok létrehozása,
- adatbázisok tartalmának definiálása,
- adatok tárolása, módosíthatósága, rendezése, lekérdezése, kigyűjtése, kiválogatása
- adatok közti kapcsolatok nyilvántartása,
- adatok védelme, biztonsága,
- adatok titkosítása,
- hozzáférési jogok kezelése,
- hozzáférések szinkronizációja,
- fizikai adatszerkezetek szervezése.

1
További elvárások:
- tároló eszköztől való függetlenség,
- felhasználói programtól való függetlenség,
- többféle hozzáférési mód,
- párhuzamos munkavégzés,
- hatékonyság,
- megbízhatóság,
- rugalmasság biztosítása,
- redundancia (többszörös adattárolás) csökkentése.

Adatmodellek:

Az adatbázis-kezelőrendszer logikai alapja az adatmodell.


Először meg kell tervezzük a rendszer alapját.
Adatmodellezésnek nevezzük azt az eljárást, amely során a valós világ tényeit és
összefüggéseit tükröző adatok lényeges összefüggéseit emeljük ki. A modellezés
eredménye az adatmodell.

Adatmodell típusai:
- hierarchikus,
- hálós,
- relációs.

Hierarchikus:
Az adatbázis elemeit alá- és fölérendeltségben, fa szerkezetben tárolja.
Az elemek között ún. Szülő-gyerek kapcsolat van, minden elemnek tetszőleges
számú alárendeltsége lehet, de csak egy őse.

Hátránya: kapcsolattípusok korlátozottan ábrázolhatók. 1:1, 1:N


N:N gondot okoz, nem megoldható!
Pl.: Film és színész kapcsolat
Film

Színész1 Színész2 Színész3

Előnye:
Egyszerűen leírható ez a szerkezet, könnyen elkészíthető, ma már elavult!

2
Hálós:
Az elemek között tetszőleges kapcsolatrendszer alakítható ki. Így könnyen
ábrázolható az N:N kapcsolat is.

Film1 Film2

Színész1 Színész2 Színész3

A bonyolultabb kapcsolatrendszer miatt alkalmazása nem vált általánossá, inkább


csak nagygépes környezetben fordul elő.

Relációs:
Relációs modellben a különböző jellegű, de mégis kapcsolatban hozható
adathalmazokat önálló állományokban (táblákban) tároljuk, amely állományok
(táblák) között egy azonos adatot tartalmazó mező tartja a kapcsolatot.
A relációs adatmodell tulajdonképpen egy tábla, melynek sorai az egyedek
(rekordok), az oszlopok pedig a tulajdonságaik (mező) halmaza.

okod onev ocim beirdat


00001 Kiss Ferenc Nyár u.1. 2004.01.01.
00002 Fehér Éva Vidám u. 45. 2004.01.01.
00003 Sajti Pál Jegenye u. 2. 2004.01.01.
00004 Bor Ivó Király u. 12. 2004.01.01.

A tábla mezőkre és rekordokra osztható.


Mezők: tábla oszlopai
egyes egyedek tulajdonságai
Sorok: rekordok
egy egyedhez tartozó adatokat tartalmazzák

Az olvasók relációt az alábbiak szerint ábrázoljuk:

Következő feltételeknek kell teljesülnie:


- nem lehet két tökéletesen egyforma tartalmú sor,
- a mezőknek egyedi neve van,
- mezők sorrendje tetszőleges lehet, majd a beírt sorok sorrendje is tetszőleges
lehet.

A legegyszerűbb esetben az adatbázis egy táblából áll.


Az esetek többségében az adatbázisnak több táblája is lehet.

A táblából (relációból) álló adatbázist relációs adatbázisnak nevezzük, melyben a


táblák logikailag összefüggő kapcsolatban állnak egymással.

3
Relációs adatbázis-kezelőrendszernek olyan programot nevezünk, amelyik az
egyedek adatait számítógépen táblákban tárolja, rendezi, ill. onnan keresi vissza.
Alkalmas arra, hogy több adattáblát logikailag összekapcsoljon egymással, és
megkeresse bennük a közös információkat.

Adatmodellek alapelemei

Az adatmodell: az egyed,
a tulajdonság,
és a kapcsolat fogalmával adhatjuk meg.

Egyed: (Egyedtípus, Tábla)


Egyed az, amit le akarunk írni, amiről adatokat gyűjtünk.
Pl.: dolgozó, autó.
Az autó mint egyed sok autót jelent.

Egyed előfordulás: (Sor, Rekord)


Az egyedtípusba sorolt konkrét egyedek.

Egyedhalmaz:
Egy adott egyed által képviselt konkrét elemek halmazát nevezzük egyedhalmaznak.
Pl.. A dolgozó nevű egyed egyedhalmaza - az összes dolgozóból áll.
Az autó - az összes autóból áll.

Tulajdonság: (Mezőnév, Oszlop neve)


Az egyedeket tulajdonságokkal (attribútumokkal) írjuk le.
Egy adatmodellben az egyedeket egyenként tulajdonsággal jellemezzük. Hívhatjuk
tulajdonságtípusnak is.
Ezzel adjuk meg az egyedtípus belső szerkezetét.
Oszlopok neve vagy mezőneveknek mondjuk.

Példák:
A dolgozó egyed tulajdonsága: név, besorolási kódszám, fizetés, stb.
Az autó egyed tulajdonsága: típus, rendszám, szín, súly, stb.

Tulajdonság-előfordulás: (egy cella adott értéke)


A tulajdonság is több elemet foglal egybe, azaz konkrét értékekből áll.
A név tulajdonság konkrét értéke lehet: Kovács Pál, Szabó Péter, Nagy János, stb.
A tulajdonság értékeivel egy adott egyed konkrét értékét határoztuk meg.
Ha megadjuk egy dolgozó nevét, besorolási kódját, fizetését, akkor ezzel kijelöltük a
dolgozó egyed egy konkrét értékét, a dolgozó egyedhalmaz egy elemét.
Pl. Kovács Pál, B-123, 62.000 Ft.

4
Elsődleges kulcs:
Amennyiben egy tulajdonság egyértelműen meghatározza, hogy az egyed melyik
értékéről van szó, akkor ezeket a tulajdonságokat kulcsnak nevezzük. Ha nem
tudunk kiválasztani olyan tulajdonságokat, amelyek egyértelműen meghatározzák az
egyedhalmaz elemeit, akkor be kell vezetni egyet.
Pl. Kódszám, sorszám, stb.
A dolgozó egyednél a törzsszám be tudja tölteni a kulcs szerepét, hiszen
egyértelműen azonosítja a dolgozókat.

Idegen kulcs:

Olyan azonosító, melynek segítségével egy másik tábla elsődleges kulcsára


hivatkozhatunk.

A kapcsolat fogalma:
Az egyedek közötti viszonyok fogalmi tükörképeit jelenti.
Mindig valóságos objektumok közötti viszonyt fejez ki.
Pl.: A személyek a vállalatok dolgozói. (személyek – vállalatok)
Vevő – rendelés (Vevő – Rendelés kapcsolat van, Minden vevőhöz tartozik egy
rendelés.)

Egyed: VALAMI KFT. Egyed: KOVÁCS ISTVÁN


Vállalat Személy

Kapcsolat előfordulása: Kovács István a Valami Kft dolgozója.

Kapcsolatok fajtái:
A kapcsolat voltaképpen az egyedhalmazok elemei közötti viszonyt fejezi ki.

1. Egy-egy típusú (1:1):


Az egyik egyedhalmaz mindegyik eleméhez a másik egyedhalmaznak pontosan
egy eleme kapcsolódik (kölcsönösen egyértelmű leképezés).
Az egyedek elemei pontosan párba állíthatók.
Pl.:
férj feleség személy azonosító személy

5
2. Egy-több típusú (1:N):
Az egyik egyedhalmaz mindegyik eleméhez a másik egyedhalmaznak több eleme is
tartozhat.

Megye Település
Pl. :
Mindegyik megyéhez több település tartozik. (Feltesszük, hogy egy település sem
tartozik két megyéhez.)

ember autó

3. Több-több típusú (N:N):


Az egyik egyedhalmaz minden eleméhez a másik egyedhalmaz több eleme tartozhat,
és fordítva is lehet hozzárendelés.

házak színek

színész színdarab

6
Adattáblák és kapcsolataik ábrázolása, jelölésrendszere:

Az egyedkapcsolat modell arra szolgál, hogy mások számára is érthetőek legyenek az


elképzelések. Az egyedkapcsolat modell alapján készítik el a fizikai szintet
megjelenítő táblamodellt.

Egyszerű egyedkapcsolat modell:

Dolgozó
alkalmazója #DKod
Osztály
#Okod *Főnök
*ONév *Beosztás
oOCím *Okod
*Belépés alkalmazottja

SZEMÉLY
#SzKod
*AnyjaNeve
*SzülDátum
*SzülHely
*Lakcím
*Telefon
oVércsoport

Téglalap: egyed jelölése

Téglalapban a sorok: tulajdonságok


#: kulcs
*: kötelezően kitöltendő jellemzőt
o: opcionális attribútumot

7
Kapcsolatokat: összekötő vonalak
Folytonos vonal: kötelező
Pontozott szaggatott vonal: lehet

Egyszerű vonal: 1:1


Madárlábas vonal: 1:N
Mindkét végén madárláb: N:N
Félkörív: az egyik egyed kulcs részben egy másik egyed kulcsából képződik.
Létezik rekurzív kapcsolat. Főnök – Beosztott viszony.

A DOLGOZÓ egyed „alkalmazottja” az OSZTÁLY egyednek. Az OSZTÁLY egyed


pedig „alkalmazója” a DOLGOZÓ egyednek.

Az egyedkapcsolat-modell olvasása:

beosztottja alkalmazója
Dolgozó
#DKod Osztály
*SzKod #Okod
*Főnök *ONév
*Beosztás oOCím
*Okod
*Belépés

8
Minden egyes DOLGOZÓ kell, Minden egyes OSZTÁLY lehet az
hogy ALKALMAZOTTJA legyen ALKALMAZÓJA egy vagy több
egy és csakis egy OSZTÁLYNAK DOLGOZÓnak.

9
Az így elkészített táblák közös használatát az teszi lehetővé, hogy mindegyik
tábla tartalmaz egy olyan mezőt, amely egy másik táblában is előfordul, ez a
kapcsolómező.

Kulcsmező az a mező vagy több mező együttese, amely a táblában


egyértelműen azonosítja az egyedet.
A tábla kulcsmezőjébe nem lehet több azonos értéket írni!

Idegen kulcsmező hivatkozás egy másik tábla kulcs mezőjére.


Ezen a hivatkozáson keresztül csatolást (adatkapcsolat) lehet létrehozni az
adattáblák között.

10
Adattípusok

Beállítás Az adat típusa Méret


Szöveg Alapértelmezett Max. 255 karakter
Szöveg vagy szöveg és
számok kombinációja,
valamint számítást nem
igénylő számok, mint pl.
telefonszámok
Feljegyzés Hosszabb szöveg, vagy Max. 65535 karakter
szöveg és számok
kombinációja
pl. termékleírás
Az Access csak a mező
első 255 karakterét veszi
figyelembe
Szám Numerikus adatok, 1, 2, 4, 8 bájt (16 bájt, ha
melyekkel matematikai a Mezőméret tulajdonság
műveleteket végezhetünk beállítása Többszörözési
azonosító)
Dátum/Idő Dátum és idő értékek, 8 bájt
100 és 9999 évek közé
eső értékeket veszi
figyelembe
Pénznem Pénznemek és 8 bájt
matematikai
számításokban használt,
max. négy tizedesjegy
pontosságú numerikus
adatok. A tizedesjeltől
balra 15, jobbra 4
számjegy állhat.
Számláló Egyedi, egymást 4 bájt
egyesével követő vagy 16 bájt (Többszörözési
véletlen számok, melyek azonosító esetén)
a rekordok egyedi
azonosítására
alkalmasak. Megadása
akkor történik, amikor
egy új rekord kerül
hozzáadásra a táblához

11
Igen/Nem Logikai érték, amely két 1 bit
lehetséges érték közül az
egyiket tartalmazza.
(Igen/Nem, Igaz/Hamis
vagy Be/Ki)
OLE objektum Egy táblához csatolt Max. 1 gigabájt (a szgép
vagy abba beágyazott kapacitásától is függ)
objektum (pl. Excel
adatlap, Word
dokumentum, hang,
grafika) Nem
indexelhető és nem
csoportosítható.
Hiperhivatkozás Tetszőleges Részenként max. 2048
karaktersorozat, amely karaktert tartalmazhat
szövegként kerül
tárolásra és amely
hiperhivatkozásként (egy
fájlra vagy weboldalra
mutató linkként)
működik (Beszúrás
menü Hiperhivatkozás)
Keresésvarázsló Létrehoz egy olyan A keresés
mezőt, amely lehetővé végrehajtásához használt
teszi, hogy egy másik elsődleges kulcs
táblából vagy listából mezőméretével
válasszunk egy értéket. megegyező méret,
Az Access a varázslóban általában 4 bájt.
kiválasztott értékek
alapján állítja be az
adattípust

12
Mezőméret

A Mezőméret tulajdonság segítségével meghatározhatjuk, hogy a Szöveg, Szám


és Számláló adattípusú mezők maximálisan mennyi adatot tárolhassanak.

Szöveg esetén 0 és 255 közé eső számot adhatunk meg. Alapértelmezett


beállítás az 50.

Számláló esetén Hosszú egész vagy Többszörözési azonosító lehet.

Szám esetén:

Beállítás Leírás Decimális Tárolási


pontosság méret
Bájt 0 és 255 közötti számok Nincs 1 bájt
tárolása (törtrész nélkül).
Egész –32768 és 32767 közötti Nincs 2 bájt
számok tárolása (törtrész
nélkül).
Hosszú egész (Alapértelmezett) Nincs 4 bájt
–2147483648 és
2147483647 közötti
számok tárolása (törtrész
nélkül).
Egyszeres Negatív értékek esetén 7 4 bájt
–3,402823E38 és
–1,401298E–45 közötti,
pozitív értékek esetén
1,401298E–45 és
3,402823E38 közötti
számok tárolása.

13
Dupla Negatív értékek esetén 15 8 bájt
–1,79769313486231E308
és
–4,94065645841247E–
324
közötti, pozitív értékek
esetén
4,94065645841247E–324
és
1,79769313486231E308
közötti számok tárolása.
Többszörözési Globálisan egyedi N.a. 16 bájt
azonosító azonosító (GUID-
Globally Unique
Identifier)

Megjegyzések
Mindig a lehető legkisebb FieldSize beállítást használjuk, mivel a kisebb méretű
adatokkal gyorsabban végezhetők műveletek, és kevesebb helyet foglalnak el.
Ha a FieldSize beállítást nagyobbról kisebb értékűre állítjuk olyan mező esetén,
amelyben már szerepelnek adatok, adatvesztés fordulhat elő. Ha például egy
Szöveg adattípusú mező esetén a FieldSize beállítást 255-ről 50-re csökkentjük,
az új 50 karakteres beállításon túlnyúló adatok elvesznek.

14
Indexek szerepe, indexelés

Az index a táblákban való keresés és sorba rendezés gyorsítására alkalmas


eszköz.
Az indexet leggyakrabban egy mező értékei alapján hozunk létre.
Az index legegyszerűbben az indexelt adatok sorba rendezett listájaként
képzelhető el.
Index létrehozásával az adatbázis mérete növekszik, hiszen magát az indexet is
az adatbázisban tároljuk.
Sok index létrehozása lassítja a rekordok létrehozását, törlését és módosítását és
jelentősen megnövelheti az adatbázis méretét. Így ahhoz a mezőhöz érdemes
indexet létrehozni, amelynek értékei alapján gyakran futtatunk lekérdezést, vagy
gyakran végzünk sorbarendezést.
A tábla elsődleges kulcsa mindig automatikusan indexelésre kerül.

Adattábla Index
Budai 1 Szalai2 Antal
3
Antal 2 Kárász
1 Budai4
4 Kárász
3 Szalai

Rendezési kulcs

15
Hivatkozási integritás

Azt jelenti, hogy egy kapcsolt táblában csak olyan kapcsolómező-tartalom lehet,
amellyel azonos az elsődleges táblában is van.

Eredménye:
- Az elsődleges táblában nem lehet a kulcsmező értékét módosítani azon
rekordok esetében, amelyekhez a másodlagos táblában kapcsolódó rekordok
vannak.
- Az elsődleges táblából nem törölhetők azok a rekordok, amelyekhez vannak
kapcsolódó rekordok a másodlagos táblában.
- A másodlagos tábla kulcsmezőjében csak olyan értéket lehet megadni, amely
szerepel az elsődleges tábla kulcsmezőjében is.

A kapcsolt mezők kaszkádolt frissítése

Azt jelenti, hogy amennyiben módosul az elsődleges táblában egy kulcsmező


tartalma, az adatbázis-kezelő a kapcsolt táblában is módosítja az adott kulcshoz
tartozó rekordokban a mezőtartalmat.

Eredménye:
- Ha az elsődleges tábla valamely rekordjában módosítjuk a kulcsmező értékét,
az új értéket a másodlagos tábla minden kapcsolódó rekordjának idegen
kulcsa is felveszi.
- Az elsődleges táblából nem törölhetők azok a rekordok, amelyekhez vannak
kapcsolódó rekordok a másodlagos táblában.
- A másodlagos tábla kulcsmezőjében csak olyan értéket lehet megadni, amely
szerepel az elsődleges tábla kulcsmezőjében is.

16
A kapcsolt mezők kaszkádolt törlése

Azt jelenti, hogy az elsődleges tábla egy rekordjának törlése maga után vonja a
kapcsolt táblák hozzá tartozó rekordjainak törlését is.
A funkcióval könnyen törölhetünk fontos információkat!

Eredménye:
- Az elsődleges táblában nem lehet a kulcsmező értékét módosítani azon
rekordok esetében, amelyekhez a másodlagos táblában kapcsolódó rekordok
vannak.
- Ha az elsődleges táblából olyan rekordokat törlünk, amelyhez a másodlagos
táblában kapcsolódó rekordok vannak, a másodlagos tábla minden
kapcsolódó rekordja is törlésre kerül.
- A másodlagos tábla kulcsmezőjében csak olyan értéket lehet megadni, amely
szerepel az elsődleges tábla kulcsmezőjében is.

Kaszkádolt frissítés és kaszkádolt törlés csak a hivatkozási integritás funkció


bekapcsolása után lehetséges!

17

You might also like