620 likes | 771 Views
Adatbáziskezelés - Adatmodellek. Összeállította Vörösné Deák Andrea. Az Informatikai rendszerek elvi felépítése. Jel: fizikai állapotváltozás; Adat: jelsorozat, melyet rögzíteni, tárolni tudunk.
E N D
Adatbáziskezelés - Adatmodellek Összeállította Vörösné Deák Andrea
Az Informatikai rendszerek elvi felépítése • Jel: fizikai állapotváltozás; • Adat: jelsorozat, melyet rögzíteni, tárolni tudunk. • Információ: az adatok egyéni értelmezése. Kell, hogy hírértéke legyen, és értelmezhető legyen a fogadó számára. • Adatbázis: Az adatok és a köztük lévő kapcsolatok rendszere.
Az információ érték • Az információ központi erőforrás • Az anyaggal és az energiával “egyenrangú” • A szétszórtan létező információ nehezen használható • A több példányban létező információ nehezen karbantartható
Adat és információ • Tibi, 100: adat • Tibi csokoládé, 100 gr-os: információ; • Vonjunk ki más információt is a fenti adatokból!
Az adatbázis fogalma • Az adatbázis: adatok tárolása (ábrázolása) kapcsolataikkal együtt. • Angolul: database (DB);
Hagyományos adatbázis 1.: Napló • adatok: • név • cím • telefonszám • kapcsolatok: • egy tanuló címe és telefonszáma a neve után következik • az egyes nevek névsorban vannak
Hagyományos adatbázis 2.: kartoték • A kartonok szerkezete azonos • Egy karton: összetartozó adatok • A karton angolul: record • A kartonok meghatározott sorrendben vannak • hátrány: csak egyféle sorrend lehet • megoldás: a kartonok többszörözése (pl. könyvtár) • ilyenkor viszont a karbantartás nehézkes • Elektronikus adatbázisoknál cél az információ egy példányban való tárolása
Az adatbáziskezelő rendszer • Ez egy program (szoftver) • Feladatai: • Adatok tárolása; • Megjelenítése; • Feldolgozása; • Rövidítés: ABKR, DBMS (database management system)
Alapvető adatműveletek • az adatbázis létrehozása • az adatbázis szerkezetének karbantartása • az adatbázis feltöltése adatokkal • az adatbázisban lévő adatok karbantartása • az adatok lekérdezése
Adatszerkezetek • Az adatműveleteket elemi szinten adatszerkezetekkel (tömb, sor, verem, lista, tábla, gráf), magasabb szinten fileszerkezetekkel (az op. Rsz. intézi) oldjuk meg.
Adminisztratív feladatok az adatbázisban • jogosultsági rendszer (adatvédelem) • az adatintegritás biztosítása • csak bizonyos feltételnek megfelelő adatok kerülhetnek az adatbázisba • bizonyos adatok csak egymással összhangban változhatnak • szinkronizáció: több felhasználó egyidejű hozzáférésének biztosítása • naplózás
Adatbázis • Logikailag összefüggő, adott formátum és rendszer szerint tárolt adatok együttese. Markó Tamás, PTE TTK (Adatbáziskezelők II., 2003)
Az ABKR nem kész alkalmazás! Egy alkalmazáshoz (pl. bérszámfejtéshez) programot kell írni Az ABKR az adatok hatékony tárolását végzi A program az üzleti logikát tartalmazza Adatbáziskezelő és alkalmazás
Az adatbáziskezelő programozása • Host (beépülő, befogadó) típusú ABKR • nincs saját programozási nyelve • alkalmazások készítéséhez kell egy “valóságos” programozási nyelv is (COBOL, Pascal, stb.) • Saját programozási nyelvvel rendelkező ABKR • példa: dBase, Access, Oracle, ...
Integrált fejlesztőeszközök • 4GL-nek is nevezik (4th generation programming language) • Könnyen készíthetők egyszerű, működő alkalmazások • “egerészve” tervezhetők meg az adatbeviteli képernyők • jól strukturált listák tervezhetők a képernyőn • a vizuális elemekből a rendszer programkódot is generál • “igazi” feladatok megoldásához itt is sok munka kell • Példa: Delphi, Oracle, Ingres, Paradox, ...
CASE-eszközök • Computer Aided Software Engineering: számítógéppel támogatott programfejlesztés • A fejlesztés gépies részét automatizálja (pl. az adatbázis szerkezetét grafikusan lehet megadni, a tényleges objektumokat a rendszer ebből automatikusan generálja) • Nem helyettesíti a probléma teljes átgondolását!
Egy alkalmazás fejlesztési lépései • Jórészt a megbízó és a fejlesztő együttes munkája • A probléma megértése • Az adatbázis logikai terve • Az adatbázis fizikai terve (csak a fejlesztő) • A feltanuló programok tervezése • Képernyőtervek • Listatervek • Tesztelés • a működőképesség ellenőrzése • a megbízó egyéb alkalmazásaival való “együttélés” • Átadás
Adatbázis konkrét tervezési lépései • Adatbázis céljának meghatározása • Szükséges táblák meghatározása • A táblák mezőinek meghatározása • Kapcsolatok feltérképezése • Adatbázis elkészítése Az 1-4 pont az Adatmodellezés.
Az adatmodell • Az adatok kapcsolatairól kialakított elképzelések (a kapcsolatok rendszerbe foglalása) • Az adatmodell lehetővé teszi az adatok egységes kezelését • Az adatbázisok szerkezetének leírására többféle modell is van.
Az adatmodell leírása • gráfokkal, diagramokkal (formalista megközelítés) • szóban (szemantikai megközelítés) • matematikai struktúrákkal
Az adatmodellek elemei • Egyedek • Tulajdonságok • Kapcsolatok • Ezek az egyed-kapcsolat (EK) modellek • angolul: ERM (entity-relationship model)
Az adatmodellek elemei • Egyedek • Tulajdonságok • Kapcsolatok
Az egyed fogalma TANULÓ • A valóságos világ objektumainak absztrakciója • minden más objektumtól megkülönböztethető • adatokat tárolunk róla • Ugyanaz a valóságos objektum az egyes alkalmazásoknál más-más egyedként jelenhet meg (egy ember lehet TANULÓ, de lehet tanuló is)
Az egyed szintjei • Egyedtípus: az absztrakt szint, pl. TANULÓ. A kigyűjtött objektumok közös jellemzője) • Egyed előfordulás: Fekete Péter tanuló adatai
Az adatmodellek elemei • Egyedek • Tulajdonságok • Kapcsolatok
A tulajdonság fogalma • Az egyed egy jellemzője (meghatározza az egyed egy részletét) • pl. a születési dátum egyed tulajdonságai lehetnek: NÉV, lakcím, … tanuló név lakcím Születési dátum
A Tulajdonság szintjei • Tulajdonság-típus: Név. Tulajdonság fajta. • Tulajdonság előfordulás: Egy konkrét egyed tulajdonsága (pl. neve)
Különböző típusú tulajdonságok Adószám • Kulcs • egy vagy több tulajdonság, ami egyértelműen meghatározza az egyed egy előfordulását (pl. személyi szám) • Többértékű tulajdonság • több értéke is lehet (pl. lakcím) • Összetett tulajdonság • több elemi tulajdonságbólépül fel lakcím cím házszám ir.szám helység utca
Az adatmodellek elemei • Egyedek • Tulajdonságok • Kapcsolatok
A kapcsolat fogalma • Az egyedek közötti viszony • a valódi világ objektumai közötti viszonyt fejezi ki • itt is beszélhetünk kapcsolat-típusról és előfordulásról tanulója OSZTÁLY tanuló tanulója OSZTÁLY tanuló
A kapcsolatok fajtái • 1:1 (egy-az-egyhez) kapcsolat • pl. személyi szám és TAJ-szám • 1:N (egy-a-sokhoz) kapcsolat • pl. osztályfönök és az osztály tanulói • N:M (sok-a-sokhoz) kapcsolat • pl. tanárok-osztályok
A kapcsolat iránya • Nem kötelező használni • A nyíl a tulajdonostól (a felsőbbrendű objektumtól) a tag (az alárendelt objektum) felé mutat: FŐOSZTÁLY OSZTÁLY
A rekurzív kapcsolat • Egy egyedtípus önmagával való kapcsolata • Példa: • a Dolgozók tábla tartalmazza a vezetőket és a beosztottakat is • annak ábrázolásához, hogy kinek ki a vezetője, a Dolgozók egyedtípust önmagával kell összekötni Dolgozók vezeti
A kardinalitás • Az egyed maximális kardinalitási száma megadja, hogy egy kapcsolatban az egyed egy előfordulásához a másik egyednek legfeljebb hány előfordulása kapcsolódhat • Az egyed minimális kardinalitási száma megadja, hogy egy kapcsolatban az egyed egy előfordulásához a másik egyednek legalább hány előfordulása kapcsolódik
A kapcsolatok Chen-féle jelölése • Tartalmazza: • a kapcsolat nevét • a kapcsolat típusát • a 0 minimális kardinalitást (karika) • A kapcsolat nevét egy rombuszba írják: vezeti
Példák a Chen-féle jelölésre • minden osztályt pontosan egy Osztályfönök vezet (1:1 kapcsolat) • lehet olyan tanár, aki egy osztályt sem vezet • egy osztályhoz 1 osztályfönök tartozik • Egy osztályhoz több tanár is tartozhat, de egy tanár több osztályban is taníthat. 1 1 vezeti OSZTÁLY Osztályfönök N N hozzá tartozik Osztály Tanár
A kapcsolatok “varjúlábas” jelölése • Tartalmazhatja: • a kapcsolat nevét • a kapcsolat típusát • a 0 és az 1 minimális kardinalitást (karika vagy vonás, az egyedtől távolabbi jel) • az 1 és “sok” maximális kardinalitást (vonás vagy “varjúláb” az egyedhez közelebbi jel)
Példák a “varjúlábas” jelölésre • egy osztályt legalább és legfeljebb 1 Dolgozó vezet • egy Dolgozó legalább 0 és legfeljebb 1 osztályt vezet • egy osztály legalább és legfeljebb 1 főosztályhoz tartozik • egy főosztályhoz legalább 1 osztály tartozik, de több is tartozhat vezeti OSZTÁLY Dolgozók hozzá tartozik FŐOSZTÁLY OSZTÁLY
A hálós adatmodell • A modell szerkezetét gráffal adjuk meg • a csomópontok az egyedek • az élek a kapcsolatok • Az egyedek előfordulásai közötti kapcsolatot mutatókkal valósítják meg • Az összetartozó adatok kigyűjtéséhez egy navigációs utat kell bejárni • Előnye: ez a legáltalánosabb modell • Hátránya: bonyolult, nehézkes • A legelterjedtebb az IDMS volt (IBM)
Példa a hálós adatmodellre VEVŐ RENDELÉS TERMÉK TÉTEL
A hierarchikus adatmodell • A hálós modell speciális esete: a gráf egy fa • van egy kitüntetett csomópont, a gyökér (ide nem vezet él) • a gyökérből minden csomópont csak egyféle úton érhető el • Sok jelenség leírására jól használható • A legelterjedtebb az IMS (Integrated Management System, IBM) volt
Példa a hierarchikus adatmodellre AUTÓ KAROSSZÉRIA MEGHAJTÁS FUTÓMŰ SEBESSÉGVÁLTÓ MOTOR
Relációs adatmodell • Az egyedek kapcsolata nem épül bele az adatmodellbe • A hangsúly a tulajdonságok megadásán van • Az egyedet táblázattal adjuk meg • az oszlopok a tulajdonságok • a sorok az egyed előfordulásai • Jelenleg ez a legelterjedtebb adatmodell • Előnye az egyszerűség
Példa a relációs adatmodellre A tanuló tábla:
A relációs adatmodell előnyei • Egyszerűség • a felhasználó számára könnyen érthető • egyszerűen programozható • Precíz matematikai háttérrel rendelkezik
A relációs adatmodell hátrányai • Körülményes a táblák sorainak egymáshoz való hasonlítása • Ilyen az időben változó adatok kezelése (pl. a tanulók egyes időszakokban állandó alapfizetése). • A különböző táblákban lévő, de összetartozó adatokat minden egyes felhasználáskor össze kell kapcsolni
A relációs adatmodell szabályai • A táblázatnak nem lehet 2 egyforma sora; • A sorok sorrendje tetszőleges; • Az oszlopok sorrendje tetszőleges; • Az oszlopok száma állandó egy táblázaton belül. • Minden oszlopnak neve van, és ezek különböznek 1 táblázaton belül. • A táblázatnak van neve; • Kell lennie egyedi tulajdonságnak (kulcs mező)
Multidimenziós adatmodell • Alapfogalma az adatkocka • Egy elemi adatnak (elemi kockának) több dimenziója is van • A dimenziók általában hierarchikus felépítésűek dimenziók
Példa multidimenziós adatmodellre 1. • A leírandó jelenség: egy bolthálózat bevételei • 1. dimenzió: idő • hierarchikus szintjei: év - negyedév - hónap 2001 2002 2003 I. né. II. né. III. né. IV. né. Ápr. Máj. Jún.