Információs rendszer fejlesztése 2. előadás Gyurkó György
Adatmodellezés
Adatmodellezés Cél: Adatbázis szerkezetének meghatározása. Alapfogalmai: Egyed – egyedtípus, egyed-előfordulás Tulajdonság – tulajdonságtípus és érték Kapcsolat – kapcsolattípus, kapcsolat-előfordulás
Egyed-kapcsolat diagram / 1
Egyed-kapcsolat diagram / 2 A kapcsolatok stabilak; a TÁRGYI ESZKÖZre nézve egymást kizá-róak és opcionálisak; az altípusokra nézve kötelezőek.
Egyed-kapcsolat diagram / 3
Kapcsolatok jellemzői, speciális esetei Fokszáma (1:N, M:N, 1:1) Kötelező v. opcionális szerep Stabil v. változó szerep Egymást kizáró kapcsolatok Főtípus-altípus viszony Visszamutató kapcsolat Többszörös kapcsolat
Relációs adatbázis Egyedtípus => reláció = táblázat Tulajdonság => táblázat oszlopa Egyed-előfordulás => táblázat sora (elsődleges kulcs) Kapcsolat => idegen kulcs
Relációs adatanalízis (normalizálás) Cél: Tranzakciókezelő rendszer relációs adatbázisa szerkezetének kialakítása. – Követelmény a minimális redundancia a relációk szerkezetében. Alapfogalmak: Reláció Elsődleges kulcs Idegen kulcs Funkcionális függés (közvetlen, közvetett)
Elsődleges kulcs. Idegen kulcs Egyed elsődleges kulcsa: Az egyed minden előfordulására értelmezett. Értékei és az egyed előfordulásai között kölcsönösen egyértelmű megfelelés áll fenn. Stabil (értéke az egyed-előfordulás élettartama alatt nem változik). Minimális (nincs az előző kritériumokat teljesítő része) Idegen kulcs: A fölérendelt elsődleges kulcsa megjelenik az alárendelt egyedtípus szerkezetében.
Funkcionális függés A funkcionálisan meghatározza B-t = A-tól funkcionálisan függ B: Az A tulajdonság bármely értékéhez legfeljebb egy érték tartozik a B tulajdonság értékei közül. (Általában nem szimmetrikus.) A (pl. személyi szám) A B B (pl. személy neve) Tranzitív tulajdonság: AB, BC: AC Projektív tulajdonság: A+B A, B.
Közvetlen v. közvetett funkcionális függés A B közvetett funkcionális függés, ha létezik olyan C tulajdonság, amellyel fennáll: A C B, de nem A C, és nem C = B+D. Egyébként közvetlen függés.
Normálformák Első normálforma (1NF): Az egyedtípus minden tulajdonsága függ az egyedtípus elsődleges kulcsától Boyce-Codd normálforma (BCNF): Az egyedtípus minden tulajdonsága közvetlenül függ az egyedtípus elsődleges kulcsától.
Relációs adatanalízis (normalizálás) Az ALKALMAZOTT egyedtípus kiinduló állapota
Relációs adatanalízis (normalizálás)/2 A normalizált ALKALMAZOTT egyedtípus
Relációs adatanalízis (normalizálás)/3 Az 1NF-re hozott JÁRANDÓSÁGTÉTEL egyedtípus
Relációs adatanalízis (normalizálás)/4 Az 1NF JÁRANDÓSÁGTÉTEL függési diagramja
Relációs adatanalízis (normalizálás)/5 A normalizált JÁRANDÓSÁGTÉTEL egyedtípus
Relációs adatanalízis (normalizálás)/6 A normalizált JOGCÍM és SZJA KATEGÓRIA egyedtípusok
Szintetikus modellezés Konstrukciós szabály: Ha az A tulajdonságtól közvetlenül függ a B tulajdonság, akkor van egy olyan egyedtípus (reláció), amelynek szerkezete mindkét tulajdonságot tartalmazza, és az egyedtípus elsődleges kulcsa az A vagy egy olyan C tulajdonság, amely az A-val kölcsönös függésben áll (A C).
Szintetikus modellezés /2
Szintetikus modellezés /3
Szintetikus modellezés / 4
Egy mintafeladat Az ERD-ben pótolja az egyedtípusok neveit a következő lapon adott relációk alapján!
Relációk (egyedtípus-szerkezetek) PARTNER (Partnerkód, Partnernév) PARTNERCÍM (Címazonosító, Partnerkód, Cím) TERMÉK (Termékkód, Terméknév, ……………………………..) TERMÉKÁR (Árazonosító, Termékkód, Ártípus, Egységár, Devizanem, Mértékegység) ÁR-ÁTSZÁMÍTÁS (Árazonosítóról + Árazonosítóra, Arány) Az Árazonosítóról és az Árazonosítóra az Árazonosító szerepnevei. VTSZ (VTszám, Megnevezés) ÁFAMÉRTÉK (VTszám + Érvényesség kezdete, Érvényesség vége, ÁFA mérték) SZÁMLAFEJ (Számlasorszám, Partnerkód, Címazonosító, Számlatípuskód, Kiállító törzsszáma, Kiállítás dátuma, Első nyomtatás dátuma, Nyomtatott példány, Teljesítés dátuma, Fizetési határidő, Fizetési mód) A Kiállító törzsszáma a Törzsszám szerepneve. FEJSZÖVEG (Számlasorszám + Szövegkód, Szöveg) SZÁMLATÉTEL (Számlasorszám + Tételsorszám, Termékkód, Mértékegység, Mennyiség, Tételérték) TÉTELSZÖVEG (Számlasorszám + Tételsorszám + Szövegsorszám, Tételszöveg) ALKALMAZOTT (Törzsszám, Név)
A megoldás TERMÉK (Termékkód, Terméknév, VTszám)