440 likes | 604 Views
1. fejezet: Adatmodellek, adatbázisok. Kilián Imre – ( Markó Tamás ) PTE, 200 8. Az információ érték. Az információ központi erőforrás a szervezet működtetésénél döntéshozatalnál Az anyaggal és az energiával “egyenrangú” A szétszórtan létező információ nehezen használható
E N D
1. fejezet:Adatmodellek, adatbázisok Kilián Imre – (Markó Tamás) PTE, 2008.
Az információ érték • Az információ központi erőforrás • a szervezet működtetésénél • döntéshozatalnál • 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ó • “János”, 30: adat • A keresztnevem János, 30 éves vagyok: információ • A János utca 30-ban lakom: információ
Az adatbázis fogalma • Az adatbázis: adatok tárolása (ábrázolása) kapcsolataikkal együtt. • Régebbi név: adatbank (németül még mindig Datenbank) • Az adatbázis angolul: database (DB)
Hagyományos adatbázis 1.: telefonkönyv • adatok: • név • cím • telefonszám • kapcsolatok: • egy ember címe és telefonszáma a neve után következik • az egyes nevek városonként 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: • 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 • Rövidítés: ABKR, DBMS (database management system)
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
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!
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 feldolgozó 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 Egy alkalmazás fejlesztési lépései
Az adatbázist működtetni is kell! • Adatbázis-adminisztrátor (DBA) • a normál felhasználók jogosultságainak megszabása • az adatbázis rendszeres mentése • az esetleg megsérült adatbázis helyreállítása • a rendszerben meglévő/létrejövő szűk keresztmetszetek feltárása, elhárítása
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 • Többféle irányzat létezik a modellalkotásra
Az adatmodell leírása • gráfokkal, diagramokkal (formalista megközelítés) • szóban (szemantikai megközelítés) • matematikai struktúrákkal - teljesen egzakt megoldás
Az adatmodellek elemei • Egyedek • Tulajdonságok • Kapcsolatok • Ezek az egyed-kapcsolat (EK) modellek • angolul: ERM (entity-relationship model)
Az egyed fogalma DOLGOZÓ • 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 DOLGOZÓ, de lehet BETEG is) • Két szintet is megkülönböztethetünk: • Egyedtípus: az absztrakt szint, pl. DOLGOZÓ • Előfordulás: Kiss János segédmunkás adatai • Rekordtípusnak is hívják
A tulajdonság fogalma • Az egyed egy jellemzője (meghatározza az egyed egy részletét) • pl. a DOLGOZÓ egyed tulajdonságai lehetnek: NÉV, KÉPZETTSÉG, FIZETÉS, CÍM, … • Itt is beszélhetünk tulajdonság-típusról és előfordulásról DOLGOZÓ név képzettség fizetés
Különböző típusú tulajdonságok Személyi 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. képzettség) • Összetett tulajdonság • több elemi tulajdonságbólépül fel képzettség cím házszám ir.szám helység utca
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 dolgozója OSZTÁLY DOLGOZÓ dolgozója OSZTÁLY DOLGOZÓ
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ály és dolgozói • N:M (sok-a-sokhoz) kapcsolat • pl. termék és tervezői
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 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 (multiplicitás, többszörösség) • 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 1 1 • minden osztályt pontosan egy dolgozó vezet (1:1 kapcsolat) • lehet olyan dolgozó, aki egy osztályt sem vezet • egy osztály 1 főosztályhoz tartozik • egy főosztályhoz több osztály is tartozhat vezeti OSZTÁLY DOLGOZÓ 1 N hozzá tartozik FŐOSZTÁLY OSZTÁLY
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Ó hozzá tartozik FŐOSZTÁLY OSZTÁLY
Unified Modelling Language • UML: Object Management Group (OMG) • De-facto szoftver tervezési szabvány
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 DOLGOZÓ tábla:
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 • Jellemző alkalmazási területük az OLAP (on-line analytical processing) dimenziók
Példa multidimenziós adatmodellre 2. • 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.
Példa multidimenziós adatmodellre 2. • 2. dimenzió: terület • hierarchikus szintjei: országrész - megye - helység - bolt • 3. dimenzió: árucsoport • csak egy szint • a dimenzió lehetséges értékei:élelmiszer - vegyiáru - iparcikk - könyv • Elemi adat: egy bolt egyhavi bevétele egy árucsoportból