Adatbázisok I Szemantikai adatmodellek Adatmodellek komponensei Adatmodell: matematikai formalizmus, mely a valóság adatorientált leírására alkalmas Komponensei: strukturális rész: a valóságban megtalálható adattípusok és kapcsolataik leírására szolgál műveleti rész: felhasználásával különböző lekérdezési vagy módosítási tevékenységeket végezhetünk integritási rész: az adatbázisban megvalósuló adattípusokra, adatértékekre és kapcsolatokra, valamint az elvégezhető műveletekre ad megszorítást 2 1
Adatbázisrendszer-specifikus tervezés az adatrendszerre koncentrál adatbázis megtervezése központi probléma (hatékonyság, korrektség) tervezési célok: információk könnyen kezelhető struktúrában tárolása (felhasználók információ-igénye) gyors művelet végrehajtás kis helyfoglalás 3 Adatbázis modellek Az adatbázis kezelő rendszerek 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, 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). 4 2
Adatbázis modellek Adatmodell: azon formalizmus, melynek segítségével megadható a vizsgált problémakör adatelemeinek szerkezete, viselkedése. Séma: az adatmodell felhasználásával létrehozott adatszerkezet 5 Adatbázis modellek típusai 6 3
Adatbázis modellek kialakulásának idődiagramja 7 Adatbázis tervezés főbb lépései igényfelmérés és analízis koncepcionális adatbázismodell elkészítése DBMS rendszer kiválasztása A fogalmi modell átkonvertálása adatbázis adatmodellre A fizikai adatmodell megtervezése Adatbázis implementálás 8 4
Szemantikai adatmodellek Általános jellemzők: magasabb absztrakciós szint objektum orientált grafikus Leggyakoribb elemek: 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ék megkötés : életkor > 14 Operátorok : tulajdonos átírás műveleti megkötések : átírásnál adóbefizetés 9 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ésrendszert alkalmaz 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: egyedhalmazok kapcsolatok Attribútumok(tulajdonságok) 10 5
Egyed elem az ER modellben Egyed: egy objektum típus, egy a külvilág többi részétől egyértelműen megkülönböztetett, önálló léttel bíró dolog, amiről az információkat tárolni kívánjuk. Hasonló egyedek összessége egyedhalmazt alkot. Kérdés: 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ó motorja 11 Tulajdonság elem az ER modellben Attribútum (Tulajdonság): Az egyedhalmazokhoz attribútumok tartoznak, melyek az egyedek tulajdonságait írják le. Kérdés: Milyen információkat tároljunk az egyedekre vonatkozóan? 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.hobbi származtatott: értéke kiszámítható ember.életkor 12 6
Kapcsolat elem az ER modellben Kapcsolat: két vagy több egyedhalmazt kötnek össze egymással. A kapcsolatok leggyakrabban binárisak, azaz két egyedhalmazt kötnek össze, de az ER modell megengedi a többágú kapcsolatokat is. Kérdés: 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 13 Kapcsolat elem az ER modellben Számosság 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 14 7
Példa Filmeket, színészeket és filmstúdiók adatait nyilvántartó adatmodellt készítünk. Tároljuk a film címét, műfaját, hosszát, gyártási évét, a stúdió nevét, címét, a színészek nevét és címét. Készítsük el az adatmodell ERD diagramját! 15 Kapcsolatok attribútumai Ha szükséges, a kapcsolatokhoz is rendelhetünk attribútumokat. 16 8
Kapcsolat attribútumának megszüntetése új egyed bevezetésével 17 Sokágú kapcsolat kiváltása egy egyedhalmazzal és bináris kapcsolatokkal 18 9
Modellezés menete ER-ben 19 Modellezési feladat Készítsük el egy könyvtár könyvkölcsönzési nyilvántartását az alábbi feladat specifikáció betartása mellett: Tartsuk nyilván a könyveket és jellemzőiket Tartsuk nyilván a könyvtárba beiratkozott személyeket, és azt hogy mikor melyik könyvet kölcsönzik ki A kikölcsönzési dátumból számítsuk ki a visszahozás dátumát (a kölcsönzési idő15 nap); amennyiben a könyvet később hozzák vissza, számoljunk naponta 100 Ft késedelmi díjat 20 10
Könyvtár ER modellje 21 11