Adatbázis rendszerek I
Adatmodellek, szemantikai adatmodellezés
K.L.
Adatbázis modellek
K.L.
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ányítási adatbázisra, hiszena DBMS tématerület független, általános adatkezelési rutinokat tartalmaz. A DBMS-hez léteznie kell egy nyelvnek, mellyeldefiniálható a tárolandó struktúra (séma)
DBMS
Szemantikai modell
Relációs adatmodell
SQL
LF01, 65,233KZ78, 76,12….
Adatbázis modellek
K.L.
Adatmodell : azon formalizmus, melynek segítségével megadhatóka 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ételekstatikus vagy aktiv szabályok
Adatbázis modellek típusai
K.L.
absztrakciós szint szerint
- szemantikai adatmodellek emberközeli, lényeget emelik ki, pontatlan
- 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..
idő1970 1980 1990 20001960
hierarchikus
hálós
relációsobjektumorientált
1970
1980
19902000
Szemantikai adatmodellek
K.L.
Á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
Egyed kapcsolat modell
K.L.
- 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
AT
Egyed elem az ER-ben
K.L.
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ülazonosított): dolgozó felesége, autó lámpája
egyed neve egyed neve
normál egyed gyenge egyed
Kapcsolat elem az ER-ben
K.L.
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
opcionális
A B
kötelező az A oldalon
könyv - olvasó rendelés - áru
Kapcsolat elem az ER-ben
K.L.
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
1:1
A B
N:M
ország - főváros tulajdonos - autó
1:N egy A-hoz több Bszínész - színdarab
Tulajdonság elem az ER-ben
K.L.
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
normál
t
kulcs
t
összetett
t
t
t
többértékű
t
származtatott
A struktúra felismerésének művészete….
Modellezés az ER-ben
K.L.
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)
Mintapélda: étterem konyha
ételek
hozzávalók
Rendelt adagok
raktárkészlet
receptek Beszállító cim
ételek
Beszállitó név
árak…
Modellezés az ER-ben
K.L.
étel
nyersanyag
készletazonosító
bennemennyiség
rendelés
dátum
mennyiség
név
recept
szállítószállít
név
cím
ear
összár
A kapcsolathoz is rendelhető tulajdonság
Modellezés az ER-ben
K.L.
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, detulajdonság is lehet az olvasó egyednél
dolgozóügyosztály projekt
tagja részt vesz
dolgozó könyv
kölcsönöz
ügyosztálynév
telefon
Modellezés az ER-ben
K.L.
Egy objektum megjelenhet kapcsolatként és egyedként is
házasság: egyed egy anyakönyvi hivatalban dekapcsolat is lehet az egyedek között
házasság polgár
idõpontférj
feleségpolgár
házasság
adószám
Egy objektum megjelenhet mint kapcsolatként vagy tulajdonság is
tulajdonos: kapcsolat egy adó hivatalban detulajdonság is lehet egy autótelepen (tulaj adatai nem érdekesek)
autó polgár
sz.számrendszám
tulajautó
rendszámtulaj
24th November 1998 Sample Powerpoint Presentation 3
Main Entities and Relationships
Employee Department
Project
works-on
works-for
manages
controls
super-vises
hours
startdate
1 N
1
1
1N
NN
M
1
supe
rvis
or
supe
rvis
ee
Modellezés az ER-ben
K.L.
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
autó
ember jármű
motor
Asszociációideiglenesszimmetrikuslaza
Tartalmazásszoros kapcsolatnem szimmetrikusállandósult
Specializációállandósultnem szimmetrikusfogalmi szinten él csak
Az egyfajta jelölési módelmossa a különbségeket
A kiterjesztett ER modell
K.L.
Az ER modell kibővítése a specializáció és a tartalmazás kapcsolatelemekkel. Jele: EER
autó
ember jármű
motor
Asszociációideiglenesszimmetrikuslaza
Tartalmazásszoros kapcsolatnem szimmetrikusállandósult
Specializációállandósultnem szimmetrikusfogalmi szinet él csakHAS_A
IS_A
A tartalmi különbségmegmutatkozik a formában is
Az IFO modell
K.L.
- 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:
elemi obejktum
absztraktobjektum
származtatottobjektum
objektumok
A Bc
asszociáció
Az IFO modell
K.L.
aggregáció csoportképzés
A B
specializáció
A
X Y
általánosítás
A tulajdonságok asszociációval iródnak le, az obejktumhoz komplex struktúra is rendelhető
utak
Mintapélda: utazási iroda
idegenvezető
nyelvismeret
alkalmazottak
turisták
időpontlakcím
Az IFO modell
K.L.
személy
út
név
túrista
idegenvezetõ
nyelv
szint
kategória
résztvevõ
alkalmazott
id
példa: egy utazási irodánál az idegenvezetők, utasok, utak nyilvántartása
varosÚt,hsz
Az UML modell
K.L.
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épviselobjektum 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.
Az UML modell
K.L.
Modell elemek:- osztály
- attributumláthatóság név:tipus = alapérték
- operációklá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
Az UML modell
K.L.
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..*
tulajember autó
ember diák
automotor
alváz
házszoba
tető
Egy UML példa
K.L.
személy alkalmazott
túristanév
idegenvezető
nyelvismeret
nyelvfokozat
kategória
név
út
város[ ]
útvonal leirás
program
1..2
*
5..*1..*