Ugrás a tartalomhoz

Informatika 9. , Adatbázisok tervezése

Dr. Szepesné Stiftinger Mária (2010)

Nyugat-magyarországi Egyetem

9.2 Adatmodell– relációs-adatbázismodell, a relációs adatbázisok tervezése, felépítése

9.2 Adatmodell– relációs-adatbázismodell, a relációs adatbázisok tervezése, felépítése

9.2.1 Adatbázis

Adatbázison köznapi értelemben valamely rendezett, valamilyen szisztéma szerint tárolt adatokat értünk, melyek nem feltétlenül számítógépen kerülnek tárolásra. Az adathalmaz csak akkor válik adatbázissá, ha az valamilyen rend szerint épül fel, mely lehetővé teszi az adatok értelmes kezelését.

Természetesen ugyanazon adathalmazból többféle rendszerezés alapján alakíthatunk ki adatbázist. Például egy könyvtárban a könyveket rendezhetnénk a könyvek mérete vagy akár a színe alapján (ADATBÁZIS1), vagy a szerzők neve alapján ABC sorrendben (ADATBÁZIS2), vagy témakörök szerint ABC sorrendben és ezen belül a szerzők neve alapján ABC sorrendben (ADATBÁZIS3). Ez már egy rendszert ad az adatok tárolásához. Ily módon minden könyv helye meghatározott.

9-1. ábra

9.2.2 Az adatbázis fogalma

  • Az adatbázis az adatok és a köztük lévő összefüggések rendszere, tágabb értelemben olyan adathalmaz, amelynek elemei – meghatározott tulajdonságuk alapján – összetartozónak tekinthetők.

  • Adatok tárolására és szervezésére használt adatállomány, mely egy vagy több valamilyen szempontból összetartozó adatállomány együttese akkor, ha az strukturált, azaz ha abból bármely kívánt adat előre meghatározható lépésekkel előkereshető.

  • Olyan integrált adatszerkezet, mely több különböző objektum előfordulási adatait tartalmazza az ún. METAADATOKKAL együtt. Meta adatok az adatokra vonatkozó adatok, melyek az elsődleges adatokra vonatkozó információkat jelentik.

  • Adatbázis egy adott rendszert - adott célból – leíró:

    • adatoknak-,

    • adatok szerkezetének-,

    • adatok közötti viszonyoknak-,

  • adatokat kezelő eljárásoknak összessége.

Az adatok tárolásába bevitt rendszernek alkalmasnak kell lennie a leggyakrabban előforduló igények hatékony kielégítésére. Az adatbázisok üzemeltetése hagyományos adatbázis esetén ez a kezelő személyzet intelligenciájának része, elektronikus adatbázisok esetén pedig valamilyen szoftver.

9.2.3 Adatmodell

Az adatmodellezés az adatbázisok tervezésének korszerű módszere. Az adatmodellezéssel az a célunk, hogy egy rendszer adatait és az adatok között fennálló kapcsolatokat következetesen ábrázolva, elősegítsük a számítógépes információ-feldolgozást. Az adathalmaz és az adat-halmaz elemei között fennálló kapcsolatok strukturált leírását adatmodellnek nevezzük. Az adatmodellek - mint ahogy a nevükből is következik-, általában nem írják le teljesen és hűen a modellezett rendszerben található adatokat és azok kapcsolatait, hanem azoknak csak egy részét. Egy modell nek átfogó nak kell lennie, azaz minden lehetséges adatot és minden lehetséges kapcsolatot tudnia kell ábrázolni és kezelni; le kell tudnia írni a valóság általános, lényeges és tartós összefüggései t; redundancia mente snek (azaz minden adatot lehetőleg csak egyszer tartalmazzon); következetes nek; valamint az alkalmazott hardverrel és szoftverrel összhangban levő nek kell lennie.

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 sajátosságait és a lényeges összefüggéseket emeljük ki, adatmodellezés-nek nevezzük

  • Az adatmodellezés segítséget nyújt a környező világ megértésében és leképezésében, a lényeges jellemzők kiemelésében.

  • Az adatmodell az adatok és az azok közötti összefüggések leírására szolgál.

  • A modell olyan mesterséges rendszer , amely felépítésében és viselkedésében megegyezik a vizsgált létező rendszerrel

  • Adatmodellnek nevezzük az adatok struktúrájának (felépítésének) leírására szolgáló modelleket.

A modellezés eredménye az adatbázisséma létrehozása. Séma: az adatmodellnek és a leírásnak további számítógépes feldolgozásra is alkalmas tartalmi és formai megfogalmazása. Egy adatbázishoz egy séma tartozik, amely pontosan meghatározza az adatszerkezetet, a tárolási struktúrát, valamint az egyes adatelemek között fennálló logikai kapcsolatokat.

9.2.3.1 Hierarchikus adatmodell

A tárolás során az adatokat fa struktúra szerint építik fel, logikai kapcsolataiknak, hierarchiájuknak (alá és fölé rendelt viszonyaiknak) megfelelően. A hierarchikus modellek rendkívül hatékonyak a fix szolgáltatásokban, de az adatszerkezet vagy tipikus lekérdezési mód megváltoztatását általában nehezen tudják követni.

Az adatbázis több egymástól független fából állhat. A fa csomópontjaiban és leveleiben helyezkednek el az adatok. A közöttük levő kapcsolat, szülő gyermek kapcsolatnak felel meg. Így csak 1:n típusú kapcsolatok képezhetők le segítségével. Az 1:n kapcsolat azt jelenti, hogy az adatszerkezet egyik típusú adata a hierarchiában alatta elhelyezkedő egy vagy több más adattal áll kapcsolatban. A hierarchikus modell természetéből adódóan nem ábrázolhatunk benne n:m típusú kapcsolatokat (lásd a háló modellt). Emellett további hátránya, hogy az adatok elérése csak egyféle sorrendben lehetséges, a tárolt hierarchiának megfelelő sorrendben. A hierarchikus adatmodell alkalmazására a legkézenfekvőbb példa a családfa. De a főnök-beosztott viszonyok vagy egy iskola szerkezete is leírható ebben a modellben. Az iskola esetén többféle hierarchia is felépíthető. Egyrészt az iskola több osztályra bomlik és az osztályok tanulókból állnak. Másrészt az iskolát az igazgató vezeti, a többi tanár az ő beosztottja és a tanárok egy vagy több tantárgyat tanítanak.

9-2. ábra

9.2.3.2 Hálós adatmodell

Hierarchiákban reprezentálja az adatokat, itt azonban az egyes ágak

sszefonódhatnak, s így fa helyett inkább gráfot alkotnak.

9-3. ábra

A hálós adatmodell esetén az egyes azonos vagy különböző összetételű adategységek (rekordok) között a kapcsolat egy gráffal írható le. A gráf csomópontok és ezeket összekötő élek rendszere, melyben tetszőleges két csomópont között akkor van adatkapcsolat, ha őket él köti össze egymással. Egy csomópontból tetszőleges számú él indulhat ki, de egy él csak két csomópontot köthet össze. Azaz minden adategység tetszőleges más adategységekkel lehet kapcsolatban. Ebben a modellben n:m típusú adatkapcsolatok is leírhatók az 1:n típusúak mellett. A hierarchikus és a hálós modell esetén az adatbázisba fixen beépített kapcsolatok következtében csak a tárolt kapcsolatok segítségével bejárható adat-visszakeresések oldhatók meg hatékonyan (sok esetben hatékonyabban mint más modellekben). További hátrányuk, hogy szerkezetük merev, módosításuk nehézkes. Az iskolai példánál maradva az egyes diákok illetve tanárok közötti kapcsolat hálós modellben írható le. Minden diákot több tanár tanít és minden tanár több diákot tanít.

9.2.3.3 Relációs adatmodell

A modell kialakítását alapvetően az indokolta, hogy az adatbázis megtervezésekor az adatokat a felhasználó számára áttekinthető és egyszerűen kezelhető táblázatokba lehessen elhelyezni, amely hasonló a hagyományos adatszervezés rekordstruktúrájához. Az így kialakított adatmodell abban különbözik a hagyományos (nem számítástechnikai eszközökkel rögzített és feldolgozásra váró) adatmodelltől, hogy nem csak egy tábla kezelésére alkalmas (egyidejűleg) hanem több, egymással összefüggő tábla feldolgozásával éri el a kívánt eredményt.

9-4. ábra

Az adatok tárolása táblázatos formában, a tábla soraiban és oszlopaiban valósul meg.

9-5. ábra

Táblák:

Az információk táblákba való felosztásának egyik stratégiája az, hogy szemügyre vesszük az egyes dolgokat és meghatározzuk, hogy ezek mire vonatkoznak. Keressük meg azokat az információkat, amelyekhez az adatbázisból hozzá kívánunk férni, és azt osszuk fel olyan témakörökre, amelyeket nyomon kívánunk követni! Ezen témakörök mindegyikéhez szükséges lehet egy-egy külön tábla.

Település:

Tulajdonos:

Adattáblák lehetnek:

LAKCÍM: helység, utca, házszám

AUTÓ: márka, szín, érték, évjárat, hengerűrtartalom

ÜGYFÉL: adószám, név, szüldátum, lakcím, lakásszám , (ha egy biztosítótársaság az ügyfelei lakcíme mellett azt is nyilvántartja, hogy hány lakásos házban laknak)

EMBER1: név, testmagasság, hajszín, testsúly ,

EMBER2: név, születési hely, születési idő, lakcím .

A reláció egy adattábla ,(táblázat), a soraiban tárolt adatokkal együtt.

  • A relációk soraiban (rekordjaiban) tároljuk a logikailag összetartozó adatokat.

  • A relációban tárolt sorok (rekordok) számát a reláció számosságának nevezzük.

  • A relációk oszlopaiban (mezőiben) az azonos tulajdonságokra vonatkozó adatok jelennek meg.

  • Egy tábla nem tartalmazhat két azonos nevű oszlopot.

  • Az oszlopok (mezők) számát a reláció fokának nevezzük.

Az adatbázis céljaira fölhasznált adattáblák relációk , ha bizonyos tulajdonságokkal rendelkeznek:

  1. Nincs két teljesen azonos sor.

  2. A sorok sorrendje tetszőleges.

  3. A tábla oszlopainak sorrendje nem lényeges.

  4. Minden oszlopnak van neve (mezőnév), az oszlopok tartalma azonos jellegű (egy-egy tulajdonság)

  5. A tábla minden sora azonosítható egy tulajdonsággal, vagy egy tulajdonságcsoporttal ( elsődleges kulcs).

Oszlopok (Mezők):

  • minden mező álljon közvetlen kapcsolatban a tábla témakörével; az olyan mező, amelyik egy másik tábla témakörét érinti, a másik táblához tartozik. Ha ugyanazt az adatot több különböző táblában is megismételjük, akkor ez arra utal, hogy bizonyos táblákban felesleges mezők vannak.

  • a táblák ne tartalmazzanak származtatott, vagy számított adatokat.

  • ne hagyjunk ki egyetlen szükséges adatot sem. Nézzük át ismételten a tervezési folyamat első lépésében összegyűjtött adatokat. Vizsgáljuk meg a papíron meglevő űrlapokat és jelentéseket, hogy a múltban szükségesnek ítélt összes adatot befoglaltuk-e a táblákba, illetve azokból származtatható-e. Gondoljuk meg, hogy minden kérdésre tudunk-e választ adni az adatbázis-kezelő segítségével a táblákban szereplő adatok alapján.

  • az adatokat a lehető legkisebb egységekben tároljuk. Csábító lehet, hogy pl. a termék nevét összevonjuk a termék leírásával. Ha egy mezőbe egynél több fajta adatot vonunk össze, akkor nehéz lesz később az egyedi dolgokat visszanyerni.

Nincsenek előre meghatározott kapcsolatok, a kapcsolatok létrehozásához szükséges adatokat tároljuk és használjuk fel.

A relációs adatmodell jellemzői:

  • Egyszerűen értelmezhető, átlátható.

  • Rugalmas, könnyen kezelhető.

A relációk kezelése matematikai műveletekkel leírható. A feldolgozás alapját a halmazelméleti műveletek támogatják.(Relációs algebrának nevezzük.) Ezért szükséges az adattábláknak relációknak lenniük.