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

I. előadás II. előadás III. előadás IV. előadás V. előadás VI. előadás

Hasonló előadás


Az előadások a következő témára: "I. előadás II. előadás III. előadás IV. előadás V. előadás VI. előadás"— Előadás másolata:

1 I. előadás II. előadás III. előadás IV. előadás V. előadás VI. előadás VII. előadás

2 I. ELŐADÁS

3 Az ismeretek rendszer szemléletű közelítése
ADATMODELLEZÉS Az ismeretek rendszer szemléletű közelítése

4 A GAZDASÁGI ÉS INFORMATIKAI RENDSZER VISZONYA
ERŐFORRÁSOK Fő működési folyamat TERMÉKEK KIMENET (OUTPUT) BEMENET (INPUT) INFORMÁCIÓ INFORMÁCIÓ ADATRÖGZÍTÉS MEGJELENÍTÉS INFORMÁCIÓS RENDSZER TÁROLÁS ADATBÁZIS TRANSZFORMÁCIÓ ADAT- FELDOLGOZÁS ADATBÁZIS KEZELŐ RENDSZER

5 Mire van tehát szüksége a gazdasági rendszernek a működési folyamat fenntartásához?
Erőforrásokra és ezek között ÚJ, HASZNOSÍTHATÓ ISMERETEKRE, amely nem más mint az Adat: formalizált, rögzített ismeret értelmezés INFORMÁCIÓ Hogyan keletkezik az információ? ? Mi az adat? A rendszerből közvetlenül, érzékeléssel feldolgozott adatokból ADAT hírfolyamat

6 kereskedelmi igazgató
EMBEREK üzletkötő Szép Ilona őrmester 96 000Ft Szabó XXIII József 42 000Ft titkárnő kereskedelmi igazgató Bak Anita Tört Elek 86 000Ft Ft

7 ANYAGOK, ALKATRÉSZEK I.oszt készlet gyújtógyertya 192658472 1650Ft
kg ementáli sajt m3 paprika kg db M8 fényes sóder 1650Ft 1650Ft 3200Ft Pentium II. 56Ft csavar db mikro-processzor db kg I.oszt 1650Ft góliát festék 56Ft Alkáli elem 2200Ft db db földeletlen kijelzős 217Ft Konnektor dugó 678Ft fali kapcsoló

8 MUNKA 2-ME00123/99 minőségellenőrzés BSZ-1287-99 1999. nov.12. 18 db.
belső szállítás út felbontás 1999. jún. 21. 1998. jan. 21. 165 tonna-km FE/ 456 m szobafestés 1999. dec. 11. 5621-FSZLA 5640 m2 szoftver fejlesztés /99 1997. jún. 30. 99/421 tanítás 5600 ember-óra kertépítés 1999.máj. 05. 1999. szept. 05. 1800 m2 162 óra

9 TERMÉKEK Mivel írhatjuk le a termékeket, melyek
a műszaki-gazdasági jellemzők? TERMÉK cikkszám, megnevezés, gyártási_szám, típus, minőség, méret, súly, önköltség, ár, ... Sütő Gergely

10 PÉNZ Melyek a pénz jellemzői? PÉNZ pénznem_kód, megnevezés,
kibocsátó_ország, árfolyama, árfolyam_érvényesség_időpontja, ... Sütő Gergely

11 GÉPEK, KÉSZÜLÉKEK, SZERSZÁMOK
Mivel írhatjuk le egyértelműen a munka eszközeit? TÁRGYI_ESZKÖZ eszköz_kód, megnevezés, értéke, szervezet_kód, üzembe_helyezés_időpontja, ... Sütő Gergely

12 SZERVEZETEK, CÉGEK Mi jellemzi a munka helyszínét, eszkö-
zeit, a munkát végző dolgozókat, stb. vagyis a SZERVEZETet közösen? SZERVEZET  szervezet_kód, megnevezés, költséghely_kód, szervezet_címe, ... Sütő Gergely

13 ESEMÉNYEK A különböző események is leírhatók
adatokkal, tekintsük ezeket is „egyednek”! Például: anyag bevételezés a raktárba (készletváltozás) KLT_forgalom  bizonylatszám, dátum, mozgásnem, raktár_kód, partner_kód, cikkszám, mennyiség, ... Sütő Gergely

14 (ADAT)EGYED Az előzőekben a jellemzők sorával megadott minden
ENTITÁS Az előzőekben a jellemzők sorával megadott minden materiális, fogalmi objektum ENTITÁS, a továbbiakban (ADAT)EGYED

15 Ezeket a jellemzőket jelsorozattal írjuk le.
ADAT forma: jelsorozat tartalom: a jelsorozat jelentése, az az ismeret, amit a jelsorozat hordoz szerkezet: adatok közötti összefüggés A gazdasági rendszerekben a különböző dolgokról, jelenségekről általában több jellemzőt adhatunk meg. Ezeket a jellemzőket jelsorozattal írjuk le. Ha a jellemző és a jelsorozat között egyértelmű, és kölcsönös megfeleltetés van kódról beszélünk.

16 Kód és kódolás értelmezése
DEKÓDOLÁS Ki Ő? KÓDOLÁS

17 A kód fogalmának kiterjesztése
Tágabb értelemben az írás is és minden, az ismeretek rögzítésére alkalmas jelsorozat (kotta, rajz-jelek stb.) kódnak tekinthető. A továbbiakban azonban a hétköznapi jelrendszereket nem nevezzük kódoknak.

18 A kód szűkített értelmezése
A kód a valós világ, a rendszerek objektumainak rövid, tömör, egyértelmű jellemzésére szolgáló jelsorozat. A kódolás két halmaz összerendelése, vagyis felfoghatjuk úgy, mint egy függvényt, melynek értelmezési tartománya és értékkészlete is diszkrét halmaz. Maga a kód pedig ebben az értelemben a függő változó intervallumába eső érték.

19 Kódok kategorizálása forma funkció szerkezet tartalom Sütő Gergely

20 A kód forma megadja a leképzésre szolgáló jelek intervallumát:
numerikus {0, 1, 2,… 9} alfabetikus {a, b,… z, A, B, …Y, Z} alfanumerikus {<számok>,<betűk>, <egyéb karakterek, pl: írásjel, műveleti jel, ...> egyéb kódok (pl.: vonal, grafikus) Sütő Gergely

21 A kód funkciója egy adott objektum jellemzésében betöltött szerepét adja meg
azonosító csoportképző tranzakció állapotjelző leíró Sütő Gergely

22 A kód szerkezete a jelkonfigurációt határozza meg
egyszerű sorozat struktúrált Sütő Gergely

23 A kód tartalma a leképzett objektum csoportjait fejezi ki
nemzetközi gazdasági számítástechnikai természetes egyéb (műszaki, technikai) Sütő Gergely

24 EGYED TULAJDONSÁG KAPCSOLAT
A gazdasági rendszerek objektumai, melyeket adatokkal jellemezhetünk A gazdasági rendszerek működését meghatározó, befolyásoló anyagi és szellemi tényezők (dolgok, emberek, események, jelenségek stb.) objektum TULAJDONSÁG Az egyedeket jellemző elemi adat, mely egy konkrét egyedet a többitől megkülönböztet, vagy azonos kategóriába sorol Az egyedekben leképzett objektumok viszonyát tükröző, lényegi és tartós összefüggés az adatok között KAPCSOLAT

25 kereskedelmi igazgató
EGYED DOLGOZÓ üzletkötő őrmester Szép Ilona Szabó XXIII József 96 000Ft Egyed típus 42 000Ft Egyed előfordulás titkárnő kereskedelmi igazgató Bak Anita Tört Elek 86 000Ft Ft

26 kereskedelmi igazgató
TULAJDONSÁG Tulajdonság elő- fordulás (érték) Tulajdonság típus DOLGOZÓ NEVE Szabó XXIII József üzletkötő őrmester Szép Ilona Bak Anita 96 000Ft Tört Elek 42 000Ft titkárnő 86 000Ft kereskedelmi igazgató Ft

27 Az egyed tehát entitás  tulajdonság sor
Az egyedek közül melyek tartoznak egy típusba? Típus Személyi szám Személyi szám Gyártási szám Név Név Beosztás beosztás Eladási ár Ügyfél azonosító Teljesítmény Bér Bér Felvett összeg Személyi szám Név Bizonylatszám Pénztár Beosztás Mozgásnem Munkaszám Munkaszám Bér Mozgás dátuma Teljesített mennyiség Teljesített mennyiség Minőségi kód Cikkszám Nyilvántartási ár Ráfordított idő Ráfordított idő Megnevezés Amelyek azonos tulajdonság típusokkal jellemezhetők. Az egyed tehát entitás  tulajdonság sor

28 Kapcsolat előfordulás
SZERVEZET Üzem Központ Bp.. XIX. Fő u. 2. 32 22 Piripócs Ó u. 7. Kapcsolat előfordulás Kapcsolat típus DOLGOZÓ 22 Szép Ilona 32 22 22 őrmester Szabó XXIII József Bak Anita 22 Tört Elek 42 000Ft

29 EGYEDTÖRTÉNET Az egyeden végezhető műveletek (funkciók) leírása az egyed keletkezésétől (létrehozásától) megszűnéséig (törléséig).

30 DIALÓGUS Az adatbáziskezelő rendszer és a végfelhasználó közötti „párbeszéd” (valamint ennek módszerei, tartalmi és formai kellékei)

31 ADATBÁZIS Számítógépen tárolt, egymással bonyolult összefüggésben álló adatok rendszere, összetett logikai adatszerkezet fizikai leképzése, amely tartalmazza az adat- és szerkezetleírást valamint az adatkezelő eljárásokat is.

32 AZ ADATBÁZIS SZERVEZÉS FÁZISAI Fogalmi ( koncepcionális) modell
A valós világ objektumai és összefüggései (rendszer) Valósághű leképzés Logikai modell NORMALIZÁLÁS Konzisztens szerkezet Fizikai modell ADATBÁZISKEZELŐ ADATBÁZIS Megvalósítás Hozzáférés Elhelyezés

33 II. ELŐADÁS

34 A RELÁCIÓS MODELL A normalizálás mint a logikai adatszerkezet kialakításának módszere és eszköze Sütő Gergely

35 A relációelmélet alapjai
d2 Descartes szorzat fekete éjkék piros türkiz ezüst fehér rádió riasztó d1 45 LE 60 LE 92 LE 125 LE 160 LE d1: kategória (teljesítmény) d2: szín d3: ajándék felszerelés d3 Sütő Gergely

36 A relációelmélet alapjai
A reláció matematikai leírása: R<d1, d2, d3, ... di, ... dn> A reláció tehát egy n dimenziós térben elhelyezkedő pontok halmaza. Minden pont egy valós objektumot (egyed előfordulás) reprezentál, amelyet n számú jellemző adattal (tulajdonság előfordulás) lehet megadni. A reláció tehát nem más mint egy egyed típus, amelyet a tulajdonság(típusok) sorával adunk meg (entitás). Sütő Gergely

37 RELÁCIÓ Adat tartományok (domain) Descartes szorzatának a valóságos objektumokat leképező részhalmaza. Sütő Gergely

38 A reláció jellemzői RELÁCIÓ = TÁBLÁZAT A reláció foka (n)
A konkrét reláció táblázatos formában írható le. A továbbiakban: RELÁCIÓ = TÁBLÁZAT Általános szabályok: a reláció neve egyedi a reláción belül nincs azonos nevű oszlop oszlop sorrend tetszőleges sorok felcserélhetők nincs két teljesen azonos sor minden relációnak van (a sort) azonosító (egyszerű vagy összetett) tartománya R A reláció foka (n) A reláció mérete (k) Sütő Gergely

39 Szervezeti_egység_kód
Név anomáliák DOLGOZÓ<törzsszám, személyi_igazolvány_száma, TAJ, jogosítvány_száma, név, besorolási_bér, lakáscím, szervezet_kód, egység_szám, név, ...> szinonim név: ugyanannak a tartománynak fogalomnak több neve is van  egységesítés d  di= dk; d  di dk; d  di dk szervezet_kód egység_szám Szervezeti_egység_kód homonim név: különböző fogalmak neve azonos  minősítés ? név név Dolgozó_név Szervezet_név Sütő Gergely

40 Minta reláció DOLGOZÓ<törzsszám, személyi_igazolvány_szám, dolgozó_TAJ, jogosítvány_száma, dolgozó_név, dolgozó_neme, leánykori név, besorolási_bér, lakáscím, szervezeti_egység_kód, szervezet_név, gyermek_TAJ, gyermek_neve, nyelv_kód, nyelv_megnevezés, nyelvvizsga_dátum> Rövidítsünk! DOL<tsz, szig, dT, jogsi, dn, nem, len, bér, cím, szek, szen, gT, gn, nk, nm, nd> A tulajdonságot (ETK modell) és a tartományt (domain relációs modell) a továbbiakban tekintsük szinonim fogalomnak! Sütő Gergely

41 A tulajdonságok belső szerepe
DOLGOZÓ < törzsszám, személyi_igazolvány_száma, jogosítvány_száma, dolgozó_név, besorolási_bér, ...> A tartomány jellemző ereje: a relációnak az a tartománya, amely minden sorban rendelkezik értékkel erősen jellemző, amely nem minden sorban vesz fel értéket gyengén jellemző. Sütő Gergely

42 A tulajdonságok belső szerepe
Azonosító: az(ok) a tartomány(ok) a reláción belül, melynek bármely értéke egy és csakis egy sort jellemez. Leíró: azok a tartományok a reláción belül, melynek egy értéke több sorra is jellemző lehet. ? Sütő Gergely

43 Milyen a jó azonosító? A jó azonosító kritériumai: erősen jellemző
stabil konzisztens struktúra fix hosszúság rövid (a jelsorozat kevés jelből áll: pl. törzs-szám) a benne szereplő jelek intervalluma szűk (kevés féle jelet tartalmaz: pl. csak számok) Sütő Gergely

44 Az azonosító kiválasztása
Az azonosító ezek alapján Alternatív azonosító (azonosító jelölt): az a tartomány(ok) a reláción belül, amely rendelkezik az azonosító kritériumaival. Belső azonosító: kódolása csak a rendszeren belül ismert Külső azonosító: kódolása a rendszeren kívül történik Sütő Gergely

45 A "kulcs" fogalma Az egyed jellemzésében és kezelésében kitüntetett szerepet játszó tulajdonságot kulcsnak nevezzük. Egy egyedet többféleképpen jellemezhetünk és kezelhetünk, ezért egy egyednek több kulcsa is lehet, melyeket kategóriákba sorolhatunk. Ezt kulcs-típusnak nevezzük. A továbbiakban a kulcs tehát gyűjtőfogalom, a kulcs tehát csak típusnevével együtt értelmezhető! Sütő Gergely

46 Azonosító (egyedi, elsődleges [primary]) Kapcsoló (idegen [foreign])
Kulcs-típusok Azonosító (egyedi, elsődleges [primary]) Kapcsoló (idegen [foreign]) Rendezési Csoportosító Szelekciós (szűrő) Sütő Gergely

47 Funkcionális függés Ha egy vizsgált da tartomány bármely értékéhez a df tartomány csak egy értéke rendelhető hozzá (másképpen ta meghatározza tf-et): df  da da df ? Kiss Pál Sütő Gergely

48 Kölcsönös függés Ha da meghatározza dj-t és dj is egyértelműen meghatározza da-t (azaz a ta tartomány és a tj tartomány értékei kölcsönösen összerendelhetők): da dj da dj Sütő Gergely

49 Egyedi, nem lehet azonos!
Fordított függés Ha da nem határozza meg a dr-t de dr meghatározza da-t (azaz tr tartomány bármely értékéhez rendelhető hozzá ta csak egy értéke): dr  da da dr Egyedi, nem lehet azonos! Sütő Gergely

50 Funkcionális függetlenség
Ha da nem határozza meg dn tartományt (ta értékeihez nem rendelhető a tn tartomány csak egy értéke) és dn sem határozza meg da-t: dn da da dn AN Sütő Gergely

51 A reláció belső függései
Jelöljük ki az azonosítót (amely a reláció egy vagy több tartományát meghatározza) DOL< tsz,szig,dT,jogsi,dn,nem,len,bér,cím,szek,szen,gT,gn,nk,nm,nd> Az áttekinthetőség kedvéért némileg szűkítsük a relációt: DOL< tsz, szig, jogsi, dn, szek, szen, gT, gn, nk, nm, nd> Vizsgáljuk meg a relációt konkrét adatokkal! Sütő Gergely

52 Határozatlan reláció Az, hogy egyes tartományok értékeiből egy sorhoz többet kell rendelni, emiatt a reláció nem képezhető le két dimenziós táblázattá! Mi okoz problémát? Sütő Gergely

53 Hogyan oldható fel a probléma?!
Határozatlan reláció Ha egy reláció nem minden tartománya függ funkcionálisan vagy kölcsönösen az azonosítótól, akkor a reláció határozatlan, és 0-ik normál formában van (0NF) Hogyan oldható fel a probléma?! Sütő Gergely

54 Egy lehetséges megoldás
A relációban ismétlődő értéket tartalmazó tartományok sokszorozása a várható ismétlődések számának megfelelően. Például ha öt gyermek adatait szeretnénk tárolni, akkor gT és gn helyett: gT1, gT2, gT3, gT4, gT5 és gn1, gn2, ... gn5 Probléma Mi van, ha valakinek még több gyermeke van? Meddig sokszorozzuk a reláció tartományait? Sütő Gergely

55 A megoldás képe táblázatban
Sütő Gergely

56 "R" fokszámának növelése
INFORMÁCIÓVESZTÉS lép fel! (Ugyanez a probléma érvényes a nyelvtudásnál is!) Redundancia: Ha a dolgozók többségének kettő esetleg kevesebb gyermeke van  feleslegesen foglalt tárolóhely! Ez a „megoldás” nem oldja fel a problémát csak újakat vet fel! Sütő Gergely

57 Másik lehetséges megoldás
A reláció sorainak sokszorozása a várható ismétlődések számának megfelelően. 1. A sorokban így az „azonosító” tartomány és az azonosítótól függő tartományok értékei ismétlődnek! 2. Így az azonosítónak kiválasztott tartomány sem lesz azonosító, új, összetett azonosítót kell kijelölni Sütő Gergely

58 Hogyan oldható fel a probléma?!
Adatok ismétlése a táblázatban Mi okoz problémát? A törzs-szám nem azonosítja a sort! Hogyan oldható fel a probléma?! Hiba: REDUNDANCIA! Új, összetett azonosító: tsz+gT+nk Sütő Gergely

59 Harmadik lehetséges megoldás
A járható út a reláció szétbontása: normalizálás A relációból kiemeljük az azonosítót és a tőle függő tartományokat új relációba. A többi tartomány az „azonosítóval” új relációt alkot. Ennek a relációnak - mivel a régi azonosító nem határoz meg egyetlen tartományt sem - új (általában összetett) azonosítót kell kijelölni! Sütő Gergely

60 A reláció néhány művelete
Kivetítés (projection): a relációból egy (általában azonosító) tartomány és az ettől függő tartományok kiemelése egy új relációba. R<da,df1,…dfi,dj,…dn>  Rp<da,df1,…dfi> marad: R<da,dj,…dn> Összekapcsolás (join): két reláció egyesítése a közös tartomány értékei alapján R1<dk,d11,…d1i>; és R2<dk,d21,…d2k>  Rj<dk, d11,…d1i;d21,…d2k> és Rjf = R1f + R2f -1 Kiválasztás (selection): egy reláció sorainak kiemelése megadott ismérvek alapján. Rk  R ; Rkf = Rf ahol Rf: R fokszáma Sütő Gergely

61 A műveletek szemléltetése
Kivetítés (projection): Sütő Gergely

62 A műveletek szemléltetése
Összekapcsolás (join): Sütő Gergely

63 A műveletek szemléltetése
Kiválasztás (selection): Sütő Gergely

64 III. ELŐADÁS

65 Normalizálás ? Emeljük ki az azonosítótól függő tartományokat egy
tsz szig jogsi dn szek szen gT gn nk nm nd ? Kiindulásnak nem rossz, de a redundanciát meg kell szüntetni! A könnyebb kezelhetőség érdekében írjuk át az eredeti relációt egy oszlopba! Emeljük ki az azonosítótól függő tartományokat egy másik relációba! Sütő Gergely

66 Kivetítés (projection)
tsz szig jogsi dn szek szen gT gn nk nm nd R1 tsz szig jogsi dn szek szen R3 tsz gT gn R2 tsz gT gn nk nm nd R4 tsz nk nm nd Sütő Gergely

67 Kivetítés a táblázatban
R0 R2 R1 Sütő Gergely

68 Redundancia, inkonzisztencia
Sütő Gergely

69 Kivetítés a táblázatban
R2 R3 R4 Sütő Gergely

70 Határozott reláció Ha egy reláció minden tartománya függ* az azonosítótól**, akkor a reláció határozott, és legalább első normál formában van * funkcionálisan vagy kölcsönösen ** a reláció egy tartománya (egyszerű azonosító) vagy több tartomány (összetett azonosító), amely rendelkezik az azonosító kritériumaival Sütő Gergely

71 Részleges függés 1NF R5 nk nm R4 tsz nk nm nd R6 tsz nk nd Részleges függés van egy relációban, ha határozott, minden tartománya függ egy összetett azonosítótól, de van az azonosítónak olyan része, amely a reláció egy vagy több tartományát meghatározza. A reláció 1. Normál Formában van! Sütő Gergely

72 Kivetítés a táblázatban
R4 R5 R6 Inkonzisztencia Sütő Gergely

73 Tranzitív függés R8 tsz szig jogsi dn szek 2NF R1 tsz szig jogsi dn szek szen R7 szek szen Tranzitív függés van egy relációban, ha határozott, minden tartománya függ az azonosító egészétől, de van olyan leíró tartománya, amely a reláció egy vagy több tartományát meghatározza. A reláció 2. Normál Formában van! Sütő Gergely

74 Kivetítés a táblázatban
R1 R8 R7 relationship Sütő Gergely

75 "Jól meghatározott" reláció
Jól meghatározott a reláció, ha minden tartománya csak az azonosítótól függ! Ebben az esetben a reláció 3. Normál Formában van! 3NF R8  tsz szig jogsi dn szek Sütő Gergely

76 Logikai redundancia Logikailag redundáns az a tartomány, amely két vagy több relációt jellemez. Gyenge logikai redundancia: ha a logikailag redundáns tartomány legalább az egyik relációban azonosító! R1 tsz szig jogsi dn szek szen R7 szek szen Az erős logikai redundancia magában hordozza az inkonzisztencia veszélyét! Erős logikai redundancia: ha a logikailag redundáns tartomány egyik relációban sem azonosító! Sütő Gergely

77 Kapcsoló tartomány A gyenge logikai redundancia a kapcsolat hordozója.
Ezért a logikailag gyengén redundáns tartományt kapcsoló tartománynak, (kapcsoló tulajdonság), az adatbázisban kapcsoló mezőnek nevezzük R8  tsz szig jogsi dn szek R7  szek szen Sütő Gergely

78 Kapcsolati fok A kapcsolati fok tehát a következő lehet:
A relációk között a kapcsolat a relációk sorainak összerendelését jelenti. A kapcsolati fok kifejezi, hogy az egyik reláció bármelyik sora kölcsönösen a másik reláció hány sorához kapcsolódhat. A kapcsolati fok tehát a következő lehet: egy az egyhez (1:1) egy a többhöz (1:n) több a többhöz (m:n) Sütő Gergely

79 Elemezzük tovább az R8 relációt!
1:1 fokú kapcsolat Elemezzük tovább az R8 relációt! R9 jogsi tsz R8 tsz jogsi szig dn szek R10 tsz szig dn szek R9 jogsi tsz R10 tsz szig dn szek 1 : 1 Sütő Gergely

80 1:1 fok a táblában Sütő Gergely

81 1:n fokú kapcsolat 1 : n member owner
tsz szig jogsi dn szek R7 szek szen 1 : n member owner Ahol a kapcsoló azonosító, ott bármely értéknek csak egy előfordulása lehet tehát az a reláció owner, ahol nem azonosító, leíró ott a kapcsoló bármely értéke többször is előfordulhat, tehát member. Sütő Gergely

82 m:n fokú kapcsolat R8 tsz szig dn szek Nincs közös tartomány, a kapcsolat csak kapcsoló reláción keresztül valósítható meg! R5 nk nm m : n Rk nk tsz 3NF-ben nem fordulhat elő, csak a koncepcionális modell szintjén létezhet! Sütő Gergely

83 Adjunk nevet a relációknak!
Adatszerkezeti ábra Adjunk nevet a relációknak! JOGOS SZERVEZET R9 jogsi tsz R7 szek szen DOLGOZÓ NYELV R10 tsz szig dn szek R5 nk nm GYERMEK NYELVTUDÁS R3 gT tsz gn R6 nk tsz nd Sütő Gergely

84 Megfeleltetés a fogalmak között
valós rendszer ETK modell ralációs modell adatbázis egyedtípus reláció tábla (table) egyed- előfordulás tuple (sor) rekord (row) Név tulajdonság típus domain (tartomány) mező (column, field) Tőrt Elek tulajdonság előfordulás elem (mező)érték kapcsolat- típus relationship kapcsolat leírás kapcsolat- előfordulás sorok halmaza kapcsolt rekordok Sütő Gergely

85 Két egyed előfordulásainak kapcsolhatósága
A kapcsolat jellege (opcionalitás) Két egyed előfordulásainak kapcsolhatósága KÖTELEZŐ FÉLIG KÖTELEZŐ OPCIONÁLIS Sütő Gergely

86 többszörös hierarchia
Az adatmodellek szerkezeti elemei (1) SZERVEZET DOLGOZÓ owner owner owner DOLGOZÓ member GYERMEK member NYELVTUDÁS member hierarchia többszörös hierarchia Sütő Gergely

87 többszörös tagság (háló)
Az adatmodellek szerkezeti elemei (2) SZERVEZET DOLGOZÓ NYELV owner owner owner DOLGOZÓ member member NYELVTUDÁS member owner GYERMEK member többszörös tagság (háló) többszitű hierarchia Sütő Gergely

88 Az adatmodellek szerkezeti elemei (3)
DOLGOZÓ DOLGOZÓ owner owner owner KÉPESSÉGEK ISMERET TÁRGYALÓKÉPES member NYELVTUDÁS member NYELVTUDÁS member SZAKTUDÁS többszörös kapcsolat közös kapcsolat Sütő Gergely

89 önmagába mutató kapcsolat
Az adatmodellek szerkezeti elemei (4) DOLGOZÓ DOLGOZÓ owner BEOSZTOTT FŐNÖK member FŐNÖKI VISZONY önmagába mutató kapcsolat megvalósítás Sütő Gergely

90 IV. előadás IV. ELŐADÁS

91 A Struktúra Generátor Mátrix (SGM®) mint a modellezés eszköze
AZ ADATMODELL TERVEZÉSE A Struktúra Generátor Mátrix (SGM®) mint a modellezés eszköze Sütő Gergely

92 Az SGM szerkezete Sütő Gergely

93 Az SGM szerkezete Sütő Gergely

94 Az SGM jelölései Wingdings jelkészlet  azonosító tulajdonság
 részazonosító  funkcionális függés () kölcsönös függés (alternatív azonosító)  default érték  kritérium  gyengén jellemző tulajdonság  almátrix hivatkozás  mnemonic Sütő Gergely

95 Symbol készlet (kézi kitöltés)
Az SGM jelölései Symbol készlet (kézi kitöltés)  azonosító tulajdonság  részazonosító  funkcionális függés () kölcsönös függés (alternatív azonosító)  default érték  kritérium  gyengén jellemző tulajdonság  almátrix hivatkozás  mnemonic Sütő Gergely

96 Egy oszlopban nem állhat azonosító (csillag)
Az SGM szabályai sor: tulajdonságtípus oszlop: egyedtípus cella: belső függés Egy oszlopba mindig egy és csakis egy azonosító kerül. Az azonosító lehet: egyszerű: egy csillag  összetett: két vagy több „tele” kör  Egy oszlopban nem állhat azonosító (csillag) és részazonosító (kör) egyszerre! Sütő Gergely

97 Az SGM szabályai minden oszlop egy 3NF relációt definiál
az oszlopban csak az azonosítótól függő tulajdonság sorába lehet bejegyzést tenni abban a sorban (vagy összefüggő sorokban) ahol több jelölés van, kell lenni egy azonosítónak (gyenge logikai redundancia) minden sorban legalább egy bejegyzésnek kell állni, különben az adott tulajdonság nem jellemző a modellezendő rendszer egyetlen egyedére sem egy oszlopban csak egy  jel állhat és ekkor nem lehet  jel Sütő Gergely

98 Az SGM szabályai ha egy oszlop nem tartalmaz  jelet, akkor legalább két  jelet kell, hogy tartalmazzon egy sorban nem állhatnak csak  jelek (erős redundancia) az egy sorban álló jelek a relációk kapcso- latát adják meg (relationship) közvetlen kapcsolat csak az azonosítóval (egy sorban egy  vagy a több sorban álló  jelek) jelzett oszlop illetve az ennek megfelelő egyed és a többi, jelzett oszlop között áll fenn. Sütő Gergely

99 Az SGM szabályai azok a relációk állnak közvetlen kapcsolat- ban, ahol egy sorban egy azonosító és egy nem azonosító jel áll. Az összetett azonosí- tó sorait itt egy sorként kell kezelni! nem lehet olyan oszlop, amelynek egyetlen jelzett sora sem tartalmaz az adott oszlopon kívül bejegyzést (vagyis az adott egyed nem kapcsolódik egyetlen más egyedhez sem, tehát az adott egyed “nem része” az adat- modellnek) Sütő Gergely

100 Hálós kapcsolat az SGM-ben
ha egy Rc reláció közvetlenül kapcsolódik egy Ra relációhoz (Ra =< Rc) és Rc közvet- lenül kapcsolódik Rb-hez is (Rb =< Rc), akkor Ra és Rb közvetett, hálós kapcsolat- ban állnak egymással: Ra >=< Rb Sütő Gergely

101 Hálós kapcsolat az SGM-ben
Ra<da1,…> Rb<db1,…> Rc<da1,db1, …> Sütő Gergely

102 Tranzitív kapcsolat az SGM-ben
ha egy Rb reláció közvetlenül kapcsolódik egy Ra relációhoz (Ra =< Rb) és Rc közvet- lenül kapcsolódik Rb-hez (Rb =< Rc), akkor Ra és Rc közvetett, tranzitív kapcso- latban állnak egymással: Ra =<< Rc tranzitív kapcsolat esetén, ha Rc azonosítója összetett és Ra azonosítója része Rc azono- sítójának, Ra és Rc közvetlen kapcsolatba hozható! Sütő Gergely

103 Rc<da1,db1,dc1…>
Tranzitív kapcsolat az SGM-ben Ra<da1,…> Rb<da1,db1, …> Rc<da1,db1,dc1…> Sütő Gergely

104 Az induló SGM Jelölések: azonosító  részazonosító 
funkcionális függés  kölcsönös függés  kritérium  gyengén jellemző  Sütő Gergely

105 Megoldás      Jelölések:                FELTÉTELES
FÜGGÉS Jelölések: azonosító  részazonosító  funkcionális függés  kölcsönös függés  kritérium  gyengén jellemző  ERŐS LOGIKAI REDUNDANCIA! Sütő Gergely

106 Bolthálózat áruforgalma
Mintapélda Bolthálózat áruforgalma Egy bolthálózatban az egyes boltok részlegesen önálló egységeket képeznek, de közös adatrendszerrel dolgoznak. Nyilvántartják rendszeres vevőiket, akik rendeléseket adnak fel a boltokban kapható árucikkekre. Az egyes árucikkek készletét boltonként tartjuk nyilván. A cikkek nyilvántartása központi, közös nyilvántartási árral, amely súlyozott átlagár. (A feladatban nem foglalkozunk ennek számításával!) Értékesítéskor egyedi eladási árat alkalmaznak. A két ár különbözetét tekintjük árrésnek. Sütő Gergely

107 Bolthálózat áruforgalma II.
A rendeléseket megrendelőlapon adják fel. Minden megrendelőlap egyedi rendelésszámot kap a rendszerben. Egy megrendelőlapon csak egy vevő rendelhet, de egyszerre több árucikket. Az egyes megrendelt árucikk teljes vagy részleges átvételekor jelezzük a teljesített mennyiséget! Amikor a vevő az árut megvásárolja, számlát kap. A számla a vásárlás, mint gazdasági esemény adatait rögzíti. A rendszeren belül e gazdasági esemény egyértelmű és egyedi azonosítására a számlaszám szolgál. Természetesen egy számla többtételes, több árucikket tartalmazhat! Sütő Gergely

108 A szokásos SZÁMLA-szerkezet
FEJ/(LÁB) SZÁMLA TÉTEL Sütő Gergely

109 A minta modell tartományai
Sütő Gergely

110 Az induló SGM Sütő Gergely

111 Megoldás Jelölések:       azonosító  részazonosító 
funkcionális függés  kölcsönös függés  alapértelmezés  gyengén jellemző  almátrix  Sütő Gergely

112 Adjunk nevet a relációknak
1. BOLT bolt 2. ARU áru 3. VEVO vevő 4. REFEJ rendelés fej 5. RETET rendelés tétel 6. KESZLET bolt árukészlete 7. SZLAFEJ számla fej 8. SZLETET számla tétel Sütő Gergely

113 A "forgalom" modell táblái
BOLT * BOK BOCI ÁRU * AKO ANE MEGYS AFAK NYAR VEVŐ * VEKO VENE VECI REFEJ * RESZA BOK VEKO REDAT RETET  RESZA  AKO REME TEME KESZLET  BOK  AKO KLT UVAD SZLAFEJ * SZLASZ BOK VEKO SZAKE SZLATET  SZLASZ  TESZ AKO VAME ELAR Sütő Gergely

114 A megrendelés logikai szerkezete
RESZA (rendelés-szám) REFEJ BOK (eladó) VEKO (vevő) REDAT (rendelés dátuma) AKO, REME, TEME RETET ismétlődés Sütő Gergely

115 A SZÁMLA logikai szerkezete
SZLASZ (számlaszám) SZLAFEJ BOK (eladó) VEKO (vevő) SZAKE (számla kelte) TESZ,AKO, VAME, ELAR SZLATET ismétlődés Sütő Gergely

116 Adatszerkezeti ábra VEVŐ BOLT REFEJ ARU KESZLET RETET SZLATET SZLAFEJ
Sütő Gergely

117 FORGALOM modell 1. BOLT 2. ARU 3. VEVO 4. REFEJ 5. RETET 6. KESZLET
1. BOLT 2. ARU 3. VEVO 4. REFEJ 5. RETET 6. KESZLET 7. SZLAFEJ 8. SZLETET Sütő Gergely

118 A megbontott mátrix    a  a                  
Sütő Gergely

119 V. ELŐADÁS

120 SQL Structured Query Language
A relációs adatbázis kezelés eszperantója Sütő Gergely

121 Az SQL Fejlődésének Főbb Állomásai
1970. E. F. Codd definiálja a relációs adatmodellt (és leírja a később SQL-nek nevezett nyelv fő kritériumait) 1974. Sequel nyelv leírása (IBM System/R project) Relational Technology Inc.: INGRES fejlesztés 1978. A System/R felhasználói tesztje 1979. Oracle 1981. Ingres, IBM SQL/DS

122 ACCESS SQL: 1982. IBM DB2 1986. ANSI SQL szabvány, Sybase
1987. ISO SQL szabvány 1988. SQL Server DB2-höz SQL szolgáltatások (pl.: dBASE IV) SQL alapú adatbázis kezelők MS SQL Server ACCESS SQL: „ANSI-89 Level 1” szabványnak felel meg

123 Az SQL jellemzői Szabványos, transzportibilis (átvihető rendszerek, gépek között) Nem algoritmikus, halmaz orientált Önálló nyelv, de használható más programnyelvek beágyazott nyelveként is Hierarchikus, de nem rekurzív

124 Az SQL egységei adatbázis tábla (table, reláció) sor (row)
oszlop (column) elemi adat

125 Általános adattípusok
SMALLINT rövid egész szám (2 byte) < x < INTEGER egész szám (4 byte) < x < DECIMAL(e,t) fixpontos szám FLOAT lebegőpontos szám CHAR(n) karakterlánc (szöveges) n 255 byte DATE dátum LOGICAL logikai (igen/nem) MONEY pénznem SERIAL sorszám VARCHAR(n) hosszú szöveg n>255

126 Metanyelv alapelemek NAGYBETŰ kulcsszó dőlt kisbetű változó
kisbetű érték aláhúzás alapértelmezés (default) { } opcionális elem | vagylagos elemek … „és így tovább” (folytatás)  szóköz _ összetartozó elem

127 Parancs szintaxis PARANCS_KULCSSZÓ  paraméterek;
Az SQL paraméterei rendszerint kulcsszavasak! Paraméterek  KULCSSZÓ  p1,p2,…pn p1,p2,...pn  a paraméter lista elemei (értékek) A továbbiakban: SQL-ben a parancs komponense a paraméter egésze a paraméter az értékeket jelenti!

128 A parancsok típusai Adatbázis szerkezet kezelése Adat karbantartás
Lekérdezés Adatvédelem

129 Adatbázis szerkezet kezelése I.
adatbázis létrehozása: CREATE DATABASE adatbázisnév; adatbázis megnyitása: {START} DATABASE adatbázisnév; adatbázis lezárása: CLOSE DATABASE; adatbázis törlése: DROP DATABASE adatbázisnév;

130 Adatbázis szerkezet kezelése II. (táblák)
Új tábla létrehozása: CREATE TABLE táblanév (oszlop1{, oszlop2, …}); Új oszlop hozzáadása: ALTER TABLE táblanév ADD (oszlop1{, oszlop2, …}); Tábla törlése: DROP TABLE táblanév; oszlopi  oszlopnéviadattípusi{NOT NULL}

131 Adatbázis szerkezet kezelése III. (táblák)
Virtuális (nézet) tábla létrehozása Virtuális tábla törlése Szinonima (alternatív név) létrehozása Szinonima törlése Index (mutatótábla) létrehozása Index törlése

132 Adat karbantartás (sorokra vonatkozó műveletek!)
Hozzáadás: INSERT INTO táblanév {(oszloplista)} VALUES(konstans|NULL); Módosítás: UPDATE táblanév SET oszlopnév=kifejezés|NULL {WHERE feltétel}; Törlés: DELETE FROM táblanév {WHERE feltétel};

133 Lekérdezés (a SELECT parancs)
Kiválasztás egy vagy több táblából a parancsban definiált szempontok szerint

134 Lekérdezés szintaxis SELECT {ALL|DISTINCTROW} *| kifejezés_lista
FROM tábla_lista {WHERE feltétel} {GROUP BY oszlop_lista} {HAVING csoport_feltétel} {ORDER BY kulcs_kifejezés};

135 Lekérdezés paraméterek
kifejezés_lista oszlopkifejezés1{,oszlopkifejezés2,…} tábla_lista  táblanév1{,táblanév2,...} feltétel  összehasonlítás{log_operátorhasonlítás…} oszlop_lista csop_kulcsmező1{, csop_kulcsmező1…} csoport_feltétel szűrés a csoportban kulcs_kifejezés oszlopnév1|sorszám{ASC|DESC}

136 Lekérdezés további komponensek
Táblák összekapcsolása (JOIN) Szoros kapcsolat: INNER JOIN…ON „Laza”kapcsolat LEFT|RIGHT JOIN Egyesítés (UNION) Al(sub)select (SELECT)

137 Aggregáló függvények gyűjtés (összegzés): SUM átlagolás: AVG
megszámlálás: COUNT legkisebb, legnagyobb érték: MIN, MAX variancia mintára, teljes sokaságra: VAR, VARP szórás mintára, teljes sokaságra: STDEV, STDEVP

138 Összehasonlító operátorok
=; <; >; <=; >=; <> BETWEEN IN LIKE EXISTS

139 Adatvédelem Hozzáférési jog átadása: GRANT jogok listája {ON táblanév} TO PUBLIC|felhasználó_lista {WITH GRANT OPTION}; Adatbázis jogok: CONNECT RESOURCE DBA Hozzáférési jog visszavonása: REVOKE jogok listája {ON táblanév} TO PUBLIC|felhasználó_lista;

140 Tranzakció kezdete: BEGIN WORK;
Tranzakció érvényesítése: COMMIT WORK; Tranzakció érvénytelenítése: ROLLBACK WORK; Adatbázis helyreállítása: ROLLFORWARD DATABASE;

141 VI. ELŐADÁS

142 MINTAFELADATOK SELECT * FROM ARU; SELECT ANE, AKO, NYAR FROM ARU;
1. Listázzuk ki az ÁRU táblát SELECT * FROM ARU; 2. Listázzuk ki az ÁRU táblából az áru nevét, kódját és nyilvántartási árát SELECT ANE, AKO, NYAR FROM ARU; 3. Az előző feladatot egészítsük ki azzal, hogy csak az 1000Ft-nál nagyobb árú cikkeket írjuk ki SELECT ANE,AKO,NYAR FROM ARU WHERE NYAR>1000; 0-3

143 MINTAFELADATOK 3. Folytassuk az előző feladatot azzal, hogy a listát áru név sorrendben jelenítsük meg SELECT ANE, AKO, AFAK, NYAR FROM ARU WHERE NYAR>1000 ORDER BY ANE; 4. A következő példában listázzuk ki a készletet úgy, hogy az áru kódon kívül a megnevezés, a bolt kódja, az áru ÁFA kulcsa és ára is jelenjen meg! Ehhez össze kell kapcsolni az ARU és KESZLET táblákat! 0-3

144 Kapcsolat az SQL-ben ÁRU KÉSZLET 1. OWNER tábla
2. kapcsolva a MEMBER táblához KÉSZLET 3. azon sorokban ahol a két tábla árukódjai megegyeznek INNER JOIN KESZLET ARU ON ARU.AKO = KESZLET.AKO 9

145 MINTAFELADATOK A 4. mintapélda teljes SQL parancsa tehát: SELECT ARU.AKO,ANE,BOK,AFAK,NYAR,KLT FROM ARU INNER JOIN KESZLET ON ARU.AKO = KESZLET.AKO; 4-5

146 MINTAFELADATOK 5. Egészítsük ki az előző feladatot azzal, hogy írjuk ki a készlet nyilvántartási áras értékét is, a fejlécben „készlet érték” szöveggel SELECT ARU.AKO, ANE, BOK, AFAK, NYAR, KLT, nyar*klt AS [készlet érték] FROM ARU INNER JOIN KESZLET ON ARU.AKO = KESZLET.AKO; A „készlet érték” szövegben szóköz van, ami az SQL-ben határolójel, ezért a szöveget szögletes zárójelek közé kell tenni! 4-5

147 MINTAFELADATOK 6. Az előző feladatot bővítsük azzal, hogy a bolt kódja helyett a bolt címét jelenítsük meg! A feladat megoldásához az előző szerkezethez hozzá kell kapcsolni a bolt táblát úgy, hogy a KESZLET tábla többszörös tag legyen, vagyis képezzük le a hálós szerkezetet SQL-ben! 9

148 Hálós kapcsolat az SQL-ben
BOLT ÁRU KÉSZLET INNER JOIN KESZLET (ARU BOLT INNER JOIN ON ARU.AKO = KESZLET.AKO) ON BOLT.BOK = KESZLET.BOK 9

149 MINTAFELADATOK SELECT ARU.AKO, ANE AS [áru neve],
A teljes 6. feladat megoldása SQL-ben: SELECT ARU.AKO, ANE AS [áru neve], BOCI AS [bolt címe], nyar*klt AS [klt_érték] FROM BOLT INNER JOIN (ARU INNER JOIN KESZLET ON ARU.AKO = KESZLET.AKO) ON BOLT.BOK = KESZLET.BOK; 9

150 MINTAFELADATOK 7. Összegezzük a készlet értékeket áru cikkenként SELECT ARU.AKO, First(ANE) AS megnevezés, Sum(nyar*klt) AS klt_érték FROM ARU INNER JOIN KESZLET ON ARU.AKO = KESZLET.AKO GROUP BY ARU.AKO; 6

151 MINTAFELADATOK 8. Az előző feladatból csak a 20000Ft összértéknél nagyobb készleteket jelenítsük meg! A feladatot az ACCESS QBE rácsával (tervező nézet) oldjuk meg és vizsgáljuk meg a létrejött SQL parancsot! SELECT ARU.AKO, First(ARU.ANE) AS [First:ANE], Sum([nyar]*[klt]) AS klt_érték FROM ARU INNER JOIN KESZLET ON ARU.AKO = KESZLET.AKO GROUP BY ARU.AKO HAVING (((Sum([nyar]*[klt]))>20000)); 7

152 MINTAFELADATOK A 8. feladat SQL parancsa az utasítás generátor által feleslegesen elhelyezett jelek nélkül és javított fejléccel: SELECT ARU.AKO, First(ANE) AS megnevezés, Sum(nyar*klt) AS klt_érték FROM ARU INNER JOIN KESZLET ON ARU.AKO = KESZLET.AKO GROUP BY ARU.AKO HAVING Sum(nyar*klt)>20000; 7

153 MINTAFELADATOK 9. Az előző feladatot bővítsük azzal, hogy a bolt kódja helyett a bolt címét jelenítsük meg, és tegyük kultúráltabbá a fejlécet SELECT ARU.AKO, First(ANE) AS [áru neve], First(BOCI) AS [bolt címe], Max(nyar*klt) AS [max_klt] FROM BOLT INNER JOIN (ARU INNER JOIN KESZLET ON ARU.AKO = KESZLET.AKO) ON BOLT.BOK = KESZLET.BOK GROUP BY ARU.AKO HAVING Max(nyar*klt)>20000; 9

154 VII. előadás VII. ELŐADÁS

155 Szerkezet, adatkarbantartás, megjelenítés.
ADATBÁZISKEZELŐ RENDSZER Szerkezet, adatkarbantartás, megjelenítés. A relációk életre kelnek Sütő Gergely

156 Címsor (adatbázis neve)
Az adatbázis kezelők alapfunkciói Főmenü Adatbázis eszközsáv Címsor (adatbázis neve) Funkció lapok Funkció lapok Funkció lapok Funkció lapok Adatbázis ablak (funkció ablak) Office '97 Sütő Gergely

157 Címsor (adatbázis neve)
Az adatbázis kezelők alapfunkciói Főmenü Adatbázis eszközsáv Címsor (adatbázis neve) Funkció lapok Funkció lapok Funkció lapok Funkció lapok Adatbázis ablak (funkció ablak) Office 2000 Sütő Gergely

158 Címsor (adatbázis neve)
Az adatbázis kezelők alapfunkciói Főmenü Adatbázis eszközsáv Címsor (adatbázis neve) Funkciók (objektumok) Funkció lapok Funkció lapok Funkció lapok Adatbázis ablak XP Sütő Gergely

159 Tábla funkciók I. Office '97 Műveletek Létező táblák
megnyitás (adat karbantartás) tervezés (tábla szerkezet módosítás) új (tábla szerkezet kialakítás) Létező táblák Office '97 Sütő Gergely

160 Tábla funkciók I. Office 2000 Műveletek Létező táblák
megnyitás (adat karbantartás) tervezés (tábla szerkezet módosítás) új (tábla szerkezet kialakítás) Létező táblák Office 2000 Sütő Gergely

161 Tábla funkciók I. XP Műveletek Létező táblák
megnyitás (adat karbantartás) tervezés (tábla szerkezet módosítás) új (tábla szerkezet kialakítás) Létező táblák XP Sütő Gergely

162 Tábla funkciók II. Office '97 Nézet váltás Adatlap nézet
(adat karbantartás) Office '97 Sütő Gergely

163 Tábla funkciók II. Office 2000 Nézet váltás Adatlap nézet
(adat karbantartás) Office 2000 Sütő Gergely

164 Tábla funkciók II. XP Nézet váltás Adatlap nézet (adat karbantartás)
Sütő Gergely

165 (szerkezet módosítás)
Tábla funkciók III. Tervező nézet (szerkezet módosítás) Mezőtulajdonságok beállítása Office '97 Sütő Gergely

166 (szerkezet módosítás)
Tábla funkciók III. Tervező nézet (szerkezet módosítás) Mezőtulajdonságok beállítása Office 2000 Sütő Gergely

167 (szerkezet módosítás)
Tábla funkciók III. Tervező nézet (szerkezet módosítás) Mezőtulajdonságok beállítása XP Sütő Gergely


Letölteni ppt "I. előadás II. előadás III. előadás IV. előadás V. előadás VI. előadás"

Hasonló előadás


Google Hirdetések