Szemantikai adatmodellek
Szemantikai adatmodellek Általános jellemzői magasabb absztrakciós szint objektum orientált grafikus Szemantikai adatmodellek ER-modell, EER-modell IFO modell UML modell
Szemantikai adatmodellek leggyakoribb elemei elemi objektum: szín, rendszám komplex objektum: autó, ember asszociáció: tulajdonosa típusöröklés: jármű és autó tartalmazás: autó és motor értékmegkötés: életkor>18 operátorok: tulajdonos átírása műveleti megkötések: átíratásnál adóbefizetés
Egyed-kapcsolat (ER) modell egyszerűsített szemantikai modell Entity Relationship Model kidolgozója: Chen (1976) egyszerű grafikus jelölésrendszert tartalmaz nem teljes modell, de egyszerűsége miatt elterjedt ma is széles körben használatos tervezési segédeszköz relációs adatbázisok tervezéséhez
ER modell (folyt.) 3 fő komponense van: egyed tulajdonságok kapcsolat B A T1 T2 T1
ER modell komponensei - egyed egy objektumtípus, egy a külvilág többi részétől egyértelműen megkülönböztetett dolog Egyed jellemzői: önálló léttel bír azt mutatja, amiről az információkat tárolni kívánjuk
Egyed (folyt.) Egyed 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
Kapcsolat Kapcsolat Kötelező jelleg szerinti típusok: az egyedek között fennálló ideiglenes vagy tartós asszociáció. Az ER-modellben csak az elsődleges kapcsolatokat adjuk meg Kötelező jelleg szerinti típusok: opcionális: létezhet olyan egyedelőfordulás, melyhez nem kapcsolódik másik a kapcsolatban kötelező: minden egyedelőforduláshoz kell kapcsolódnia másiknak a kapcsolatban könyv - olvasó rendelés - áru A B opcionális kötelező az A oldalon
Kapcsolat (folyt.) Számosság szerinti típusok: 1:1 (egy-az-egyhez): egy egyedelőforduláshoz maximum egy másik egyed társul a kapcsolatban, mindkét viszonylatban. Pl.: ország-főváros 1:N (egy-a-többhöz): egy egyedelőforduláshoz több más egyed társulhat, de a másik irányban csak egy kapcsolódó egyedelőfordulás létezhet. Pl: tulajdonos-autó, tanuló-osztály M:N (több-a-többhöz): mindkét irányban több kapcsolódó előfordulás létezhet. Pl: színész-színdarab, könyv-szerző
Kapcsolat (folyt.) ország - főváros tulajdonos - autó A 1:1 B 1:N egy A-hoz több B színész - színdarab M:N
Tulajdonság Tulajdonság Típusai: az egyedeket, kapcsolatokat jellemző mennyiség, a letárolandó információelemeket tartalmazza Típusai: normál: egyértékű ember.szülidő kulcs: azonosító szerepű ember.szigszám összetett: több tagból áll ember.lakcím (irsz, város) többértékű: több érteket is felvehet ember.hobbi származtatott: értéke kiszámítható ember.életkor
Tulajdonság (folyt.) t t normál kulcs t többértékű t t t t összetett egyed t egyed normál kulcs egyed t többértékű t t t egyed egyed t összetett származtatott
Modellezés ER modellben 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
Példa: éttermi nyilvántartás
Modellezés ER modellben (folyt.) Az ER modellben ugyanaz az objektum más-más módon is ábrázolható aszerint, hogy a tervező mit kíván hangsúlyozni Egy objektum lehet egyed és tulajdonság is: egyed: önálló lét, fontosság kiemelése tulajdonság: az egyedhez köthetősége a fontos, nem önálló
Modellezés ER modellben (folyt.) Példa: ügyosztály: egyed egy vállalati struktúrában, de tulajdonság is lehet az olvasó egyednél
Modellezés ER modellben (folyt.) Egy objektum megjelenhet kapcsolatként és egyedként is Pl.: házasság: egyed egy anyakönyvi hivatalban, de kapcsolat is lehet az egyedek között
Modellezés ER modellben (folyt.) Egy objektum megjelenhet kapcsolatként vagy tulajdonságként is Pl.: tulajdonos: kapcsolat egy adóhivatalban, de tulajdonság is lehet egy autótelepen (ahol a tulajdonos adatai nem érdekesek) rendszám tulaj autó
Az egyfajta jelölési mód elmossa a különbségeket 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 (az ER-modell csak az asszociációt ismeri) ember jármű Asszociáció ideiglenes szimmetrikus laza autó Specializáció állandósult nem szimmetrikus fogalmi szinten él csak Tartalmazás szoros kapcsolat nem szimmetrikus állandósult motor Az egyfajta jelölési mód elmossa a különbségeket
Kibővített ER modell Az ER modell kiterjesztése (Enhanced Entity Relation Model) a specializáció és a tartalmazás elemekkel, jele: EER ember jármű Asszociáció ideiglenes szimmetrikus laza IS_A autó Specializáció állandósult nem szimmetrikus fogalmi szinten él csak Tartalmazás szoros kapcsolat nem szimmetrikus állandósult HAS_A motor A tartalmi különbség megmutatkozik a formában is
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
IFO modell elemei objektumok asszociáció specializáció aggregáció
IFO modell elemei általánosítás csoportképzés A tulajdonságok asszociációval írhatóak le, az objektumhoz komplex struktúra is rendelhető
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
UML modell leíró elemei osztály attribútum operációk asszociáció specializáció aggregáció, kompozíció integritási elemek
UML modell leíró elemei
UML modell leíró elemei osztálynév osztály attribútum láthatóság név:tipus = alapérték operációk láthatóság név(param) : tipus leírás osztálynév + a:int=3 # - osztálynév + m(b) : int
UML modell leíró elemei asszociáció kapcsolat neve:irányítás: számosság (n..m, 0..*) általánosítás aggregáció 1..1 0..* ember autó tulaj ember diák motor auto alváz
UML modell leíró elemei kompozíció szoba ház tető