Adatmodell elemei • adatobjektum (entity, egyed) • attribútum, tulajdonság • reláció, kapcsolat
Adatmodellezés
IR2-2007
Adatobjektum
Attribútum
Adatobjektum
Kapcsolat
• a valós világ konkrét dolgainak (események, személyek, cégek, termékek, stb.) a rendszer szempontjából összetartozó, egységes halmaza • véges számú attribútummal rendelkezik • kapcsolatban van más adatobjektummal • csak az adatokat foglalja magába, nincs hivatkozás az adatobjektumon belül az operációkra (műveletekre) • táblaként reprezentálható
típus hossz tömeg utazósebesség szállítható utasok száma
repülő
2
szállít
név cím életkor útlevélszám
utas
IR2-2007
3
IR2-2007
4
Kutya adatobjektum, mint tábla Név
Szül.év
Fajta
Viselkedés
Szín
Morzsa
2000
puli
morgós
fehér
Döme
2002
dobberman
szelíd
barna
Cleó Piszok
1999 2004
agár spaniel
harapós vad
Adatobjektum
leíró
barna fekete instancia
Pötyi
IR2-2007
2003
yorkshire terrier
játékos
arany
5
IR2-2007
Név
azonosító Kkod
Szül.év
Fajta
Viselkedés
Szín
Morzsa
SD21
2000
puli
morgós
fehér
kapcsoló Tkod LOP333
Döme
KG76
2002
dobberman
szelíd
barna
GAZ489
Cleó
PU98
1999
agár
harapós
barna
HUS217
Piszok
CZ11
2004
spaniel
vad
fekete
VER541
Pötyi
JT35
2003
yorkshire terrier
játékos
arany
SIR422
6
1
Az adatobjektum meghatározott
valamilyen szempontból összetartozó információk reprezentációja
• Ha – névvel rendelkezik, névvel egyértelműen hivatkozhatunk rá – röviden, verbálisan értelmezzük, – véges számú attribútummal jellemezhető, az attribútumokra egyértelműen tudunk hivatkozni – azonosítója van, mely alkalmas instanciáinak (előfordulásainak) meghatározására – ismert az instanciák halmaza (terjedelem) IR2-2007
Adatobjektum-Instancia az adatobjektum egy konkrét eleme, megnyilvánulása előfordulása
Jennifer Lopez
Madonna
Énekesnő
7
IR2-2007
8 Shania Twain
Adatobjektum-Instancia valamilyen szempontból összetartozó információk reprezentációja
az adatobjektum egy konkrét eleme, megnyilvánulása, előfordulása
Attribútum
• Pl. énekesnő – – – – –
• tulajdonság, az adatobjektum sajátosságait definiálja • Szerepe:
Név Szül.hely Menedszer Albumainak száma Home page
– adatobjektum egy adott instanciájának meghatározása (azonosító) – instancia leírása, jellemzése (leíró) – biztosítja a kapcsolatot az adatobjektum egy adott instanciájának egy másik adatobjektum instanciájával (kapcsoló)
Pl. Shania Twain, Windsor X.Y menedzser, 19 album, shania.com
IR2-2007
9
IR2-2007
Reláció (Kapcsolat)
Azonosítóval szembeni elvárások • egyértelműen különböztesse meg az adatobjektum előfordulásokat • ne változzon meg az adatobjektum élettartama alatt • legyen a lehető legrövidebb • szükség esetén bővíthető legyen • könnyen, hibátlanul rögzíthető legyen • fejezzen ki az adatobjektumra vonatkozó sajátosságokat IR2-2007
10
• az adatobjektumok közötti viszony • egy adatobjektum adott instanciája és egy másik adatobjektum adott instanciája között több, különböző kapcsolati viszony létezik • cél: a releváns kapcsolatok definiálása, amelyeket csakis a rendszer kontextusában értelmezve lehet meghatározni 11
IR2-2007
12
2
Adatobjektumok közötti relációk
Adatobjektumok közötti kapcsolat
raktároz
szervizel
auto
márka kereskedő
tulajdonos
elad
autó
rendel
IR2-2007
13
IR2-2007
14
Adatobjektumok közötti relációk
Adatobjektumok közötti relációk
raktároz
gyárt szervizel
márka kereskedő
szállít
gyártó
elad
termék
elad
autó
rendel
rendel
- az adatobjektumok közötti relációk kétirányúak - a kapcsolat olvasható/értelmezhető bármelyik irányból
IR2-2007
15
IR2-2007
16
Adatmodell készítése Adatobjektumok közötti relációk
• Adatobjektumok felvétele • Attribútumok meghatározása • Belső szerkezet vizsgálata – attribútumok viszonya • Külső szerkezet meghatározása – adatobjektumok közötti viszony
autója
autó
tulajdonos tulajdonosa
Iteratív kimunkálás!!! IR2-2007
17
IR2-2007
18
3
A belső szerkezet
Funkcionális függés
• A belső szerkezet kialakítása során kerülnek meghatározásra az adatobjektum attribútumai között fennálló viszonyok. • A helyes viszony kialakítása az adatmodellben fennálló funkcionális függések vizsgálatával érhető el.
• Ha egy attribútum konkrét értékei közül bármelyik egyértelműen meghatároz egyet a másik attribútum értékhalmazából. Ilyenkor a másik attribútum függ az elsőtől. • Fajtái:
IR2-2007
IR2-2007
19
– Kölcsönös függés - 1:1 fokú kapcsolat – lineáris viszony – Funkcionális függés – 1:N fokú kapcsolat – hierarchikus kapcsolat – Funkcionális függetlenség – M:N fokú kapcsolat
Belső szabályok 1.
1.szabály – hiba - javítás
Az adatobjektum minden attribútumának függenie kell az azonosítótól. Az attribútumok között nem lehet olyan, amelyik az összetett azonosítónak csak az egyik részétől függ. Az adatobjektum egyetlen attribútuma sem függhet más leíró attribútumtól. Az összetett azonosító egyik része sem függhet a másiktól, csak az összetett azonosító egészétől. Az összetett azonosító nem okozhat pszeudotranzitív függést.
2. 3. 4. 5. IR2-2007
21
Normálforma
• Minden attribútumnak függenie kell az azonosítótól. • Hiba: ismétlődő adattétel – az előforduláson belül egy attribútum több különböző értéket is felvehet • Javítás – első normálformára-hozás – 1NF
IR2-2007
22
Ismétlődő adattétel - javítás
A normálformára-hozás olyan művelet, amelynek segítségével az adatmodellben az adatobjektumon belüli hibákat javítjuk. – Kötelezően javítandó hibák, alapvető szabályok (1 - 2 - 3. szabály) – Magasabb rendű normálformák, szabályok (4 - 5. szabály)
IR2-2007
20
23
• Az előforduláson belül egy attribútum több különböző értéket is felvehet. • Javítás – 1NF – kivetítés – megmarad egy adatobjektum az eredeti azonosítóval és tőle függő attribútum sorral – létrejön egy új adatobjektum, amelynek azonosítója az eredeti objektum azonosítója és az ismétlődő adatokat meghatározó attribútum(ok) IR2-2007
24
4
Ismétlődő adattétel - javítás
2.szabály – hiba - javítás
• Hibás adatobjektum:
• Az attribútumoknak az összetett azonosító egészétől kell függeniük. • Hiba – részleges funkcionális függés – van olyan attribútum a sorban, amely az összetett azonosítónak csak az egyik részétől függ • Javítás – második normálformárahozás – 2NF
– KÖNYV – Kkod, cim, szerzo, ISBNszam, ETOszam, kiadasev, leltszam
• Ismétlődő adattétel – szerzo • Javítás – adatobjektum – KÖNYV – Kkod, cím, ISBNszam, ETOszam, kiadasev – új adatobjektum – K-SZERZ – Kkod, szerzo IR2-2007
25
Részleges funkcionális függés javítás
• Hibás adatobjektum: – SZAK-SZAKIRANY – szakkod, szakiranykod, szaknev
– megmarad az adatobjektum az összetett azonosítóval és a tőle függő attribútum sorral – létrejön egy új adatobjektum, amelynek azonosítója az eredeti adatobjektum egyik azonosító-része és hozzárendeljük a tőle függő attribútumokat 27
• Részleges funkcionális függés – szaknev csak a szakkod-tól függ • Javítás – adatobjektum – SZAK-SZAKIRANY – szakkod, szakiranykod – új adatobjektum – SZAK – szakkod, szaknev IR2-2007
28
Tranzitív funkcionális függés javítás
3.szabály – hiba - javítás • Az attribútumok nem függhetnek másik leíró attribútumtól, csak az azonosítótól. • Hiba – tranzitív funkcionális függés – az attribútum nemcsak az azonosítótól, hanem egy másik, leíró attribútumtól is függ • Javítás – harmadik normálformára-hozás – 3NF IR2-2007
26
Részleges funkcionális függés javítás
• Az attribútumok között van olyan, amely az összetett azonosítónak csak az egyik részétől függ. • Javítás – 2NF – kivetítés
IR2-2007
IR2-2007
• Van olyan attribútum a sorban, amelyet egy másik leíró attribútum határoz meg. • Javítás - 3NF – kivetítés – megmarad az adatobjektum az eredeti azonosítóval és a tőle függő attribútum sorral – létrejön egy új adatobjektum, amelynek azonosítója az eredeti adatobjektum egyik leíró attribútuma, és hozzárendeljük a tőle függő attribútumokat 29
IR2-2007
30
5
Tranzitív funkcionális függés javítás • Hibás adatobjektum
Fontos modellezési alapszabály:
– UGYFEL – Ukod, UNev, Ucim, Utel, Mhkod, Mhcim
• Tranzitív funkcionális függés – Mhcim-et a Mhkod határozza meg • Javítás
Az adatmodellnek legalább harmadik normálformájúnak kell lennie!
– UGYFEL - Ukod, UNev, Ucim, Utel, Mhkod – MHELY – Mhkod, Mhcim IR2-2007
31
4.szabály – hiba - javítás
Azonosítót megtörő függés - javítás
• Az összetett azonosító egyik része sem függhet a másiktól, csak az összetett azonosító egészétől. • Hiba – azonosítót megtörő függés – az adatobjektumban egy attribútum függ az összetett azonosító egészétől és ugyanakkor meghatározza annak egyik részét • Javítás – negyedik normálformára-hozás – 4NF IR2-2007
• Van olyan attribútum a sorban, amelyik függ az összetett azonosító egészétől és ugyanakkor meghatározza annak egyik részét. • Javítás – 4NF – kivetítés – létrehozunk egy adatobjektumot, amelynek azonosítója a meghatározó azonosító-rész és az, amelyik a másik azonosító-részt meghatározza, attribútumsora pedig a tőlük függő attribútumokat tartalmazza – létrehozunk egy új adatobjektumot, amelynek azonosítója az eredeti adatobjektum azonosító-részt meghatározó attribútuma, és hozzárendeljük a tőle függő attribútumokat 33
Azonosítót megtörő függés - példa • Hibás adatobjektum
34
Azonosítót megtörő függés - javítás • - MINOSITES – TANULOkod, Tanfkod, Jegy
– MINÖSITES – TANULOkod, Tanftipus, Tanfkod, Jegy – BALESET – Bkod, AUTgyartmany, karertek, resztvevoszam, AUTrendszam
– TANF – Tanfkod, Tanftipus
• - BALESET – Bkod, AUTrendszam, karertek, resztvevoszam
• Azonosítót megtörő függés – Tanfkod meghatározza a Tanftipust – AUTrendszam meghatározza az AUTgyartmanyt IR2-2007
IR2-2007
– AUTO – AUTrendszam, AUTgyartmany
35
IR2-2007
36
6
5.szabály • •
Külső szerkezet
Az összetett azonosító nem okozhat pszeudotranzitív függést. Pszeudotranzitív függés: ha egy
adatobjektumban egy attribútum függ az összetett azonosítótól, ugyanakkor függ az összetett azonosító egy része által meghatározott attribútum, valamint az összetett azonosító másik része által meghatározott összetett azonosítótól is.
IR2-2007
37
• A külső szerkezet kialakítása során kerülnek meghatározásra az adatobjektumok között fennálló viszonyok. • Jellemzői – Kardinalitás (terjedelem) – Multiplicitás (számosság) – Modalitás (jelleg)
IR2-2007
Kardinalitás
Multiplicitás - számosság
• Az adott objektumban specifikálható előfordulások minimális, ill. maximális száma - terjedelem • Ha egy munkaügyi nyilvántartásban 300 dolgozót tartanak nyilván, a dolgozó adatobjektum maximális terjedelme 300.
IR2-2007
38
• Olyan mutató, amely kifejezi, hogy az egyik adatobjektum egy instanciájához a másik adatobjektumból hány előfordulás tartozik, vagyis hogy az adatobjektumok instanciái milyen számosságban kapcsolódnak egymáshoz.
39
IR2-2007
40
Multiplicitás
1:1 kapcsolat kölcsönös függés
• 1:1 – az egyik adatobjektum egy előfordulásához a másik adatobjektumból egy és csakis egy előfordulás kapcsolódik, és ez visszafelé is igaz • 1:N – az egyik adatobjektum egy előfordulásához a másik adatobjektumból egy vagy több előfordulás is hozzárendelhető, fordítva azonban, a másik adatobjektum egy előfordulásához az első adatobjektumból egy és csakis egy előfordulás tartozhat • M:N – az egyik adatobjektum egy előfordulása a másik adatobjektumból egy vagy több előfordulással is kapcsolódhat, és ez visszafelé is fennáll
IR2-2007
41
IR2-2007
férj
feleség
férj
feleség
42
7
M:N kapcsolat függetlenség
1:N kapcsolat funkcionális függés többnejűség esetén
férj
1
N
tulajdonos
feleség
könyv
szerző
autó
tanuló
tanfolyamvezető
IR2-2007
43
IR2-2007
44
Modalitás
Modalitás - Kötelező
• A kapcsolat jellege: – amikor a kapcsolat modalitása zéró, akkor a kapcsolat jellege opcionális, ami azt fejezi ki, hogy nem feltétlenül kell objektumkapcsolat párnak lenni – amikor a kapcsolat modalitása 1, akkor a kapcsolat jellege kötelező, vagyis az egyik adatobjektum egy adott instanciájához a másik adatobjektumból legalább egynek kapcsolódnia kell IR2-2007
45
autó
tulajdonos
autó
gyártó
IR2-2007
46
Modalitás - Opcionális kötelező kapcsolat jelölése
autó
gyártó
raktárkészlet
rendelés
kutya
probléma
multiplicitás
IR2-2007
47
IR2-2007
48
8
Adatmodellezési tevékenység
Adatszótár
• A következő kérdésekre ad választ:
• adatmodellben használt nevek szótára
– Melyek a rendszer által feldolgozásra kerülő elsődleges adatobjektumok? – Milyen attribútumokkal jellemezhetőek ezek? – Hol vannak jelenleg ezek az objektumok? – Állnak-e, és milyen kapcsolatban egymással? – Milyen kapcsolat van köztük és a folyamatok között?
– egyed és attribútum nevek – definíció (típus) – felhasználás, hivatkozások – formátum adatok
• Eredménye: adatmodell • Az adatmodellezést számos technika segíti – táblázatok, diagramok, mátrixok, listák (pl. adatmodell diagram, entitás relációs diagram, adatmodell séma, egyed-élettörténet diagram) IR2-2007
• egyértelműség, duplikálás elkerülése • CASE támogatás 49
Adatszótár
IR2-2007
50
Egyed-kapcsolat diagram jelölései
• Modellezés magja. • Benne szereplő nevek megjelennek az adatfolyam diagramban, az entitás relációs (egyed-kapcsolat) diagramban, valamint ha szükséges készíteni, az állapot-átmenet diagramban.
adatobjektum/ egyed neve
kapcsolat
adatobjektum/ egyed neve
1:N
opcionális
IR2-2007
51
IR2-2007
52
9