Adatbázis rendszerek I Adatmodellek, szemantikai adatmodellezés K.L.
Adatbázis modellek Az adatbázis kezelő rendszerek általánosan, több különböző probléma területen is alkalmazhatók. A meglévő DBMS felhasználható hallgatói nyilvántartásra, helyjegyfoglalási rendszerre vagy éppen termelés irányitási adatbázisra, hiszen a DBMS tématerület független, általános adatkezelési rutinokat tartalmaz. A DBMS-hez léteznie kell egy nyelvnek, mellyel definiálható a tárolandó struktúra (séma) DBMS K.L.
Adatmodell : azon formalizmus, melynek segítségével megadhatók Adatbázis modellek Adatmodell : azon formalizmus, melynek segítségével megadhatók a vizsgált problémakör adatelemeinek szerkezete, viselkedése. Séma: az adatmodell felhasználásával létrehozott adatszerkezet adatmodell elemei struktúra leíró építő elemek definiálása művelet leíró elvégezhető operációk integritási feltételek statikus vagy aktiv szabályok K.L.
Adatbázis modellek típusai - szemantikai adatmodellek emberközeli, lényeget emelik ki, pontatlan absztrakciós szint szerint - adatbázis adatmodellek gépközeli, megadja a részleteket, teljes az egyes szinteken több különböző eszközkészletű modell él - szemantikai: ER, EER, IFO, UML,… - adatbázis szintű: hierarchikus, hálós, relációs, OODB, ORDB,MD.. 1960 1970 1980 1990 2000 idő K.L.
Szemantikai adatmodellek Általános jellemzők: - magasabb absztrakciós szint - objektum orientált - grafikus Leggyakoribb elemek: - elemi objektum : szin, rendszám - komplex objektum : auto, ember - asszociáció : tulajdonosa - tipusöröklés : jármű és autó - tartalmazás : autó és motor - érték megkötés : életkor > 14 - operátorok : tulajdonos átírás - műveleti megkötések : átirásnál adó befizetés K.L.
Egyed kapcsolat modell Egyszerűsített szemantikai adatmodell, jele: ER, kidolgozója: Chen (1976) csak strukturális részt és elemi statikus integritási részt tartalmaz egyszerű grafikus jelölés rendszert tartalmaz Nem teljes adatmodell, de egyszerűsége révén elterjedt, s ma is széles körben használatos tervezési segédeszköz a relációs adatbázis tervezéséhez 3 fő komponense van: - egyed - kapcsolat - tulajdonságok A T K.L.
Egyed elem az ER-ben Egyed: egy objektum típus, egy a külvilág többi részétől egyértelműen megkülönböztetett dolog - önálló léttel bír - amikről az információkat tárolni kivánjuk Q: mire vonatkozó információkat tároljunk a rendszerben? Típusai: - normál egyed (önmagában azonosítható): dolgozó, autó - gyenge egyed (más egyedhez való kapcsolatán keresztül azonosított): dolgozó felesége, autó lámpája egyed neve egyed neve normál egyed gyenge egyed K.L.
Kapcsolat elem az ER-ben Kapcsolat: az egyedek között fennálló ideiglenes vagy tartós asszociáció - csak az elsődleges kapcsolatokat adjuk meg Q: milyen kapcsolatban állnak az egyes egyedek egymással? Kötelező jelleg szerinti típusok - opcionális: létezhet olyan egyedelőfordulás, melyhez nem kapcsolódik egyedelőfordulás a kapcsolatban - kötelező: minden egyedelőforduláshoz kell kapcsolódnia egyedelőfordulásnak a kapcsolatban könyv - olvasó rendelés - áru A B opcionális kötelező az A oldalon K.L.
Kapcsolat elem az ER-ben Számosság jelleg szerinti típusok - 1:1 egy egyedelőforduláshoz maximum egy egyed társul a kapcsolatban, mindkét viszonylatban - 1:N (egy-több) egy egyedelőforduláshoz több egyed társulhat, de a másik irányban csak egy kapcsolódó egyedelőfordulás létezhet - N:M (több-több) mindkét irányban több kapcsolódó előfordulás létezhet ország - főváros tulajdonos - autó A B 1:1 1:N egy A-hoz több B színész - színdarab N:M K.L.
Tulajdonság elem az ER-ben Tulajdonság: az egyedeket, kapcsolatokat jellemző mennyiség - a letárolandó informácóelemek tartalmazza Q: milyen információkat tároljunk az egyedekre vonatkozólag? Típusai: - normál: egyértékű ember.szülidő - kulcs: azonosító szerepű ember.TAJszám - összetett: több tagból áll ember.lakcim( irsz,varos) - többértékű: több értéke is lehet ember.hobby - származtatott: értéke kiszámítható ember.életkor t t t normál többértékű t t összetett t t kulcs származtatott K.L.
Követelmények összegyüjtése Modellezés az ER-ben Követelmények összegyüjtése Egyedek meghatározása Kapcsolatok meghatározása Tulajdonságok meghatározása Követelmények ellenőrzése A példa feladat egy éttermi nyilvántartás: ételek, hozzávalók, nyersanyagok, raktárkészlet, rendelések, beszállítók (egy nyersanyagot csak egy beszállító hozhat) K.L.
Modellezés az ER-ben A kapcsolathoz is rendelhető tulajdonság K.L.
Az ER modellben ugyanazt a objektum más-más módon is Modellezés az ER-ben Az ER modellben ugyanazt a objektum más-más módon is ábrázolható aszerint, hogy a tervező mit kiván hangsúlyozni Egy objektum lehet egyed és tulajdonság is - egyed : önálló lét, fontosság kiemelése - tulajdonság : kapcsolat már egyedekhez ügyosztály: egyed egy vállalati struktúrában, de tulajdonság is lehet az olvasó egyednél K.L.
Egy objektum megjelenhet kapcsolatként és egyedként is Modellezés az ER-ben Egy objektum megjelenhet kapcsolatként és egyedként is házasság: egyed egy anyakönyvi hivatalban de kapcsolat is lehet az egyedek között Egy objektum megjelenhet mint kapcsolatként vagy tulajdonság is tulajdonos: kapcsolat egy adó hivatalban de tulajdonság is lehet egy autótelepen (tulaj adatai nem érdekesek) rendszám tulaj autó K.L.
A rugalmasság ellenére, számos esetben nem lehet egzaktul Modellezés az ER-ben A rugalmasság ellenére, számos esetben nem lehet egzaktul megoldani az adatrendszer leírását Problémát jelent a specializációk, általánosítások, tartalmazási relációk ábrázolása, hiszen az ER csak az asszociációt ismeri ember jármű Asszociáció ideiglenes szimmetrikus laza autó Specializáció állandósult nem szimmetrikus fogalmi szinet él csak Tartalmazás szoros kapcsolat nem szimmetrikus állandósult motor Az egyfajta jelölési mód elmossa a különbségeket K.L.
A kiterjesztett ER modell Az ER modell kibővítése a specializáció és a tartalmazás kapcsolat elemekkel. Jele: EER ember jármű Asszociáció ideiglenes szimmetrikus laza IS_A autó Specializáció állandósult nem szimmetrikus fogalmi szinet él csak Tartalmazás szoros kapcsolat nem szimmetrikus állandósult HAS_A motor A tartalmi különbség megmutatkozik a formában is K.L.
Az IFO modell - Funkcionális modellek családjába tartozik : az objektumok minden nemű kapcsolata a struktúra orientáltság helyett a hozzárendelésen (function) alapszik. - Egyenrangú objektumokat tartalmaz - Gazdag struktúra és kapcsolat készlet Elemei: objektumok asszociáció K.L.
Az IFO modell aggregáció csoportképzés specializáció általánosítás A tulajdonságok asszociációval iródnak le, az obejktumhoz komplex struktúra is rendelhető K.L.
Az IFO modell példa: egy utazási irodánál az idegen vezetők, utasok, utak nyilvántartása K.L.
Az IFO és az EER elegendő eszközt ad a komplex struktúrák Az UML modell Az IFO és az EER elegendő eszközt ad a komplex struktúrák leírására, de a kiterjesztések ellenére sem teljes értékűek az összetettebb integritási feltételek, a műveleti elemek megadásában Az UML osztály diagramja gazdagabb jelölés készletet képvisel objektum orientált megközelítésen alapszik Leíró elemek: - osztály - attributum - operációk - asszociáció - specializáció - aggregáció, kompozíció - integritási elemek F.L. K.L.
láthatóság név:tipus = alapérték Az UML modell Modell elemek: - osztály - attributum láthatóság név:tipus = alapérték - operációk láthatóság név(param) : tipus osztálynév leírás osztálynév + a:int=3 # - osztálynév + m(b) : int K.L.
Az UML modell Modell elemek: - asszociáció kapcsolat neve:irányítás: számosság (n..m, 0..*) - általánosítás - aggregáció - kompozíció 1..1 0..* ember autó tulaj ember diák motor auto alváz szoba ház tető K.L.