Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

(A logikai adatmodell kialakítása)

Hasonló előadás


Az előadások a következő témára: "(A logikai adatmodell kialakítása)"— Előadás másolata:

1

2 (A logikai adatmodell kialakítása)
Adatmodellezés (A logikai adatmodell kialakítása) Gáspár Bencéné Dr. Vér Katalin nyomán Barna Róbert KE GTK Informatika Tanszék

3 Adatbázis fogalma nagymennyiségű adat • leírására • tárolására
• visszanyerésére kifejlesztett rendszer, amelyet több felhasználói program is használ.

4 Adatbázis elemei adatállomány (data fájl, database), amelyben az adatokat tárolják; kezelőszoftverek (adatbázis-menedzsment rendszer/Database Management System, DBMS), amelyek az adatokat a megadott leírásnak megfelelően tárolják, megkeresik vagy további műveleteket hajtanak velük végre.

5 Adatbázis-séma Az adatbázis teljes felépítése, az adatok struktúrája
- az egyes adatelemek - az adatelemek kapcsolatai az adatbázis-sémában kerülnek rögzítésre.

6 Példa adatbázis-sémára

7 Adatbázis-séma Minden adatbázishoz egyetlen egy séma tartozik.
SÉMA: meghatározza a logikai adatszerkezetet tárolási struktúrát az egyes adatelemek között fennálló fizikai és logikai kapcsolatokat. Egy adatbázis sémához akárhány alséma illeszthető.

8 Adatbázis tervezés célja
az adatok integrációjának, felhasználói programok adatfüggetlenségének biztosítása.

9 Adatbázis tervezés lépései
1. Követelmények rögzítése 2. Koncepcionális adatmodell kialakítása 3. Adatmodell kiválasztása 4. Adatbázis séma megvalósítása

10 Adatbázis tervezés lépései
1. Az adatbankkal szemben támasztott követelmények rögzítése statikus követelmények (entitások, tulajdonságaik, kapcsolataik) dinamikus követelmények (entitásokon végzett műveletek)

11 Adatbázis tervezés lépései
2. A koncepcionális adatmodell kialakítása A három-séma koncepció alapján (egységes adatleírást jelent) koncepcionális séma (logikai szint) belső séma (fizikai szint) külső séma (felhasználói szint) A szemantikus adatmodell (E-R, azaz Entity - Relationship - Modell) - gépfüggetlen, az adatok tartalmi elemzéséből indul ki.

12 Adatbázis tervezés lépései
3. Az adatmodell kiválasztása Az adatmodell egy olyan séma, amelyben megadjuk milyen tulajdonságok határozzák meg az egyedeket, milyen egyedek szerepelnek a sémában, és ezek között milyen kapcsolatok vannak. Adatmodellek típusai: hierarchikus hálós relációs

13 Hálós adatmodell A hálós adatmodell szerkezetét gráffal adjuk meg. Ebben a gráfban a csomópontok az egyedek, az élek pedig a kapcsolatot fejezik ki. Az egyedeket tulajdonságaikkal írjuk le.

14 Hierarchikus adatmodell
A hierarchikus adatmodell szerkezetét speciális gráffal, fával adjuk meg. A csomópontok itt is egyedeket jelentenek és a nyilak a kapcsolatokat fejezik ki. Például: Hierarchikus adatmodell alakítható ki egy cég szervezeti hierarchiájának leírására Hierarchikus adatmodellt használnak a windows rendszerek felhasználói adatbázisának tárolására Hierarchikus adatszerkezetet használunk egy file rendszer leírására.

15 Relációs adatmodell Ennél az adatmodellnél a három adatmodell elem közül a kapcsolat nem, csak a lehetőség épül be az adatmodellbe A relációs adatmodellnél a tulajdonságok kapják a fő hangsúlyt, a tulajdonságokkal definiáljuk az adatmodell szerkezetét Az előző két modellben a gráffal történő leírásban éppen a tulajdonságok nem szerepeltek, ezeket külön adtuk meg

16 Relációs adatmodell A relációs adatmodellben az egyedet egy táblázattal adjuk meg, melynek oszlopai a tulajdonságok. A táblázat sorai az egyed értékei (vagyis a táblázat maga éppen az egyedhalmaz). A relációs adatmodellben minden tábla egy egyedhalmaz, de a táblázatok (tehát az egyedek) közötti kapcsolatokat nem definiáljuk az adatmodell felírásakor. Ez nem azt jelenti, hogy nincsen közöttük kapcsolat, de ezeket a kapcsolatokat például egyszerűen az fejezi ki, hogy két táblának van közös oszlopa (mindkét táblában szerepel ugyanaz a tulajdonság).

17 Adatbázis tervezés lépései
4. Az adatbank séma megvalósítása A konkrét adatbázis kezelőrendszer kiválasztása (Pl. ORACLE, ACCESS) Az adatbázis tervezés eredményeként létrehoznak egy ADATKATALÓGUS (ADATSZÓTÁR)-t az adatbázisbeli adatok, valamint tárolási és használati módjuk leírása.

18 Relációs adatbázis objektumok
EAR = Entity-Attribute-Relationship Típus és előfordulás Egyed - Entity Kapcsolat - Relationship Adat - Attributum Az adatmodellben az entitástípusokkal foglalkozunk, A feldolgozásban ezen típusok konkrét értékével.

19 Meta-adat Olyan adat, amely más adat vagy adatok jellemzőit, tulajdonságait írja le. Például: az adat definíciók, az adatra vonatkozó korlátok és szabályok, az adat szerkezeti felépítése stb. A meta-adatok: nem tartalmazzák magukat az adatokat, amelyeket leírnak, a teljes adatállományról egy átfogó képet tudnak adni, növelve ezzel is a felhasználó áttekintőképességét.

20 Meta-adat

21 Funkcionális függés A B
A modellezés alapja a funkcionális függés vizsgálata. A halmaz adott előfordulása meghatározza B egyik elemét, azaz B halmaz elemei funkcionálisan függnek A halmaz elemeitől. A B

22 X független változó egyértelműen meghatározza Y értékét
Funkcionális függés R.X ↔ R.Y X független változó egyértelműen meghatározza Y értékét Például: egy személyi azonosítószám meghatározza a nevet.

23 Teljes funkcionális függőség
Ha X kulcs összetett és az Y csak az összetett kulcstól függ teljesen, de NEM FÜGG annak egyetlen komponensétől sem. Ha az X kulcs nem összetett, akkor a funkcionális és a teljes funkcionális függőség ugyanaz.

24 Egyed jellemzők Független egyed - nincs fölérendelt
Hierarchikusan alárendelt egzisztenciális függés kulcs függés (összetett hierarchikus kulcs) Képzett egyed - kapcsolati egyed N:M kapcsolat esetén jön létre saját attribútumai lehetnek további kapcsolatai is lehetnek

25 Attribútumok (tulajdonságok)
azonosítók - Elsődleges kulcs egyszerű összetett leíró tulajdonságok (attribútumok) idegen kulcsok Kapcsolatok megvalósítására az alárendelt örökli a fölérendelt azonosítóját

26 Kapcsolatok - relációk
Különböző egyedek kapcsolatai 1:N hierarchikus N:M hálós 1:1 kölcsönös egymáshoz rendelés

27 Az entitástípusok közötti kapcsolatok foka

28 Dolgozói nyilvántartás készítése
A dolgozókról a következő adatokra van szükségünk: - személyi azonosító (AZON) - vezetéknév (VNÉV) - keresztnév (KNÉV) - végzettsége (VÉGZ) - szervezeti egység kódja (SZERV) - szervezeti egység neve (SZNÉV) - projekt kódja (amelyen dolgozik) (PKÓD) - projekt neve (PNÉV) - munkaidejének hány %-ban dolgozik a projekten (M%) - a szervezeti egység vezetőjének azonosítója (FŐNÖK)

29 Dolgozói nyilvántartás készítése
A cég feltételeinek elemzése alapján megállapítható: - a személyi azonosítószám egyedi, - a szervezeti egység kódja, neve egyedi, a kettő között egyértelmű kapcsolat áll fenn, - ez érvényes a projekt kódjára és nevére is, - egy dolgozó csak egy szervezeti egységhez tartozhat, - egy szervezeti egységnek csak egy főnöke van, - egy dolgozó több projekten dolgozhat, - projektek és egységek között nem kell kapcsolatot teremteni, - az egyes dolgozók projektekre fordított munkaidejének összegét nem kell ellenőrizni, hogy az 100%-e.

30 Dolgozói nyilvántartás készítése
Az adatokat a szervezeti egységektől kapjuk. A szervezeti egységek a következő formában adják át az adatokat:

31 Dolgozói nyilvántartás készítése
ALKALMAZOTT-1NF Elsődleges kulcs

32 Dolgozói nyilvántartás készítése
Első normál forma (1NF) Az entitástípus (táblázat) első normál formájú, ha csak olyan attribútum (oszlop) jellemzi, mely funkcionálisan függ az entitástípus (táblázat) azonosító elsődleges kulcstól vagy annak elemeitől. minden attribútum (oszlop) egy attribútum-értéket tartalmaz, minden sor különböző, az attribútumok sorrendje minden sorban egyezik, minden sorhoz tartozik legalább egy egyedi azonosító, melytől az összes többi attribútum függ. Valamennyi adatbáziskezelő-rendszer megköveteli, hogy az adatok legalább 1NF-ben legyenek.

33 Dolgozói nyilvántartás készítése
1NF táblázat rengeteg redundanciát tartalmaz Változtatási anomáliák: • beírási - új dolgozó felvétele - új szervezeti egység létrehozása • módosítási (konzisztencia problémák) - Tóth Éva férjhez megy (név probléma) - E03 egység új fınököt kap • törlési - Kovács István kilép ? B1 projekt - Kiss László kilép ? E02 egység

34 Dolgozói nyilvántartás készítése
Relációk szétbontása (dekompozíció) a funkcionális függés alapján

35 Dolgozói nyilvántartás készítése
Második normál forma (2NF) Az entitástípus (táblázat) második normál formájú, ha csak olyan attribútum jellemzi, amely függ az összetett azonosítótól, de nem függ annak egy részétől.

36 Dolgozói nyilvántartás készítése
2NF-ban lévő táblázataink (relációk) ALKALMAZOTT(Szerv,Sznév,Főnök,Azon,Vnév,Knév,Végz) elsődleges kulcs: (AZON) MUNKA(Azon,Pkód,M%) elsődleges kulcs: (AZON,PKÓD) idegen kulcs (AZON) ALKALMAZOTT idegen kulcs (PKÓD) PROJEKTEK PROJEKTEK(Pkód,Pnév) elsődleges kulcs: (PKÓD)

37 Dolgozói nyilvántartás készítése
Az előző szétbontás teljes mivel összes olyan információt tartalmazza, ami az eredeti relációban benne volt. Sőt Az anomáliák egy része is megszűnt.

38 Dolgozói nyilvántartás készítése
Harmadik normálforma (3NF) ALKALMAZOTT-2NF reláció még redundáns (FŐNÖK) törlési anomáliát tartalmaz (Kiss László kilépésével az Eladás részleg információi megszűnnek) új osztályt dolgozó nélkül nem tudunk felvenni Egyetlen nem elsődleges kulcstól való funkcionális függőség a szervezeti egység kódjából indul ki.

39 Dolgozói nyilvántartás készítése
Harmadik normálforma (3NF) Egy reláció akkor és csak akkor van 3NF-ben, • ha 2NF-ban van és • elsődleges kulcshoz nem tartozó attribútumai csak az elsődleges kulcstól függnek funkcionálisan. Az ALKALMAZOTT-2NF reláció nincs 3NF-ben szétbontás

40 Dolgozói nyilvántartás készítése
ALKALMAZOTT(Szerv,Sznév,Főnök,Azon,Vnév,Knév,Végz) elsődleges kulcs: (AZON) Szétbontás: ALKALMAZOTT(Szerv,Azon,Vnév,Knév,Végz) Új reláció: SZERVEZET(Szerv,Sznév,Fınök) elsődleges kulcs: (SZERV)

41 Dolgozói nyilvántartás készítése
Most már minden reláció 3NF-ban van ALKALMAZOTT(Szerv,Azon,Vnév,Knév,Végz) elsődleges kulcs: (AZON) idegen kulcs: (SZERV) → SZERVEZET SZERVEZET(Szerv,Sznév,Főnök) elsődleges kulcs: (SZERV) idegen kulcs: (FŐNÖK) → ALKALMAZOTT MUNKA(Azon,Pkód,M%) elsődleges kulcs: (AZON,PKÓD) idegen kulcs (AZON) → ALKALMAZOTT idegen kulcs (PKÓD) → PROJEKTEK PROJEKTEK(Pkód,Pnév) elsődleges kulcs: (PKÓD)

42 Normalizáció menete NNF: nem normál forma
1NF: az egyed nem tartalmaz ismétlődő értékű attribútumokat 2NF: valamennyi attribútum a kulcs egészétől függ (összetett kulcs esetén) 3NF: nincs olyan attribútum, amely az egyed másik, nem kulcs attribútumától függ

43 Logikai modellezés adatbázis generálás applikáció generálás
forrása Entity Relationship diagram → Szerver modell leképzés táblák SQL Script (DDL) applikáció generálás forrásai: funkció definíció (riport vagy képernyő) funkció - egyed használat funkció - attribútum használat

44 Egyed attribútumai

45 Az Entity-Relationship modell
ADATMODELL Különböző típusú adatokat, a közöttük fennálló kapcsolatokat, összefüggéseket, a velük kapcsolatos adatvédelmi eljárásokat tartalmazza.

46 Az Entity-Relationship modell
Az eddig megismert relációs adatmodell a valós világ mind teljesebb tükrözése szempontjából túlegyszerűsített, mind az attribútumok, mind a kapcsolatok leírása korlátozott. Új felhasználói igények jelentek meg: kifejezőbb, hierarchikus adatszerkezeteket követelnek az új alkalmazások (CAD, CASE, irodaautomatizálási rendszerek, stb.) a hagyományostól eltérő multimédia adatok - kép, hang, szöveg - tárolását kívánják meg a multimédia rendszerek. Stb. …

47 Az Entity-Relationship modell
A vázolt problémák és igények új adatmodellek kidolgozását igényelték. A megvalósítást lehetővé tette: a számítástechnikai környezet változása, a számítógépek teljesítmény-növekedése, az objektum-orientált felfogás megjelenése.

48 Az Entity-Relationship modell
Az objektum-orientált koncepció megjelenéséig a kidolgozott új modellek a relációs modellre épültek. Az adatok tárolását a relációs modellek megfelelően biztosítják, de valamilyen módon a relációs modellt kiterjesztették. Egy-egy modell több kiterjesztést is megvalósíthat.

49 Az Entity-Relationship modell
A modellek osztályozása Szemantikus – koncepcionális adatmodell Funkcionális - az egyedeket, az attribútumokat, a kapcsolatokat és az eljárásokat függvényekkel írja le. Adattárolás táblázatokban. Kiterjesztett relációs - attribútumai összetett adattípusúak, elsődleges kulcs helyett egy módosítástól független azonosítót használ. Objektum-orientált modellek - OOP környezetben az eljárás az objektum szerves része, adat és eljárás nem válik szét.

50 Az Entity-Relationship modell
E-R (Entity Relationship) modell: a legismertebb szemantikus modell Az E-R modell az adatmodellezés során kiváló segédeszköz a relációs modellezésnél (a normalizálási eljárást egészíti ki), az objektum orientált adatmodell kialakításánál.

51 Az Entity-Relationship modell
Logikai adatmodellezés néven az Entity-Relationship modell épült be a rendszerfejlesztés, adatmodellezés módszertanába.

52 Köszönöm a figyelmet!


Letölteni ppt "(A logikai adatmodell kialakítása)"

Hasonló előadás


Google Hirdetések