Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaElemér Mészáros Megváltozta több, mint 10 éve
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éviadattí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átorhasonlí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
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.