I elads III elads IV elads VII elads
- Slides: 167
I. előadás III. előadás IV. előadás VII. előadás
Az ismeretek rendszer szemléletű közelítése 2002. 03. 18
A GAZDASÁGI ÉS INFORMATIKAI RENDSZER VISZONYA E R Ő F O R R Á S O K Fő működési folyamat INFORMÁCIÓS RENDSZER INFORMÁCIÓ ADATRÖGZÍTÉS T E R M É K E K MEGJELENÍTÉS TÁROLÁS ADATBÁZIS ADATFELDOLGOZÁS TRANSZFORMÁCIÓ ADATBÁZIS KEZELŐ RENDSZER KIMENET (OUTPUT) BEMENET (INPUT) GAZDASÁGI RENDSZER
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 INFORMÁCIÓ értelmezés Hogyan keletkezik az információ? FA rendszerből közvetlenül, érzékeléssel Ffeldolgozott adatokból hírfolyamat Adat: formalizált, rögzített ismeret Mi az? adat? ADAT
2 690315 4567 üzletkötő 1 521107 5469 Szép Ilona őrmester 96 000 Ft Szabó XXIII József 42 000 Ft 2 590315 4567 1 680115 1234 kereskedelmi igazgató Tört Elek 185 000 Ft titkárnő Bak Anita 86 000 Ft
I. oszt készlet gyújtógyertya 192658472 1650 Ft m 3 I. oszt kg sóder 110237844 198500123 1650 Ft db paprika 1650 Ft I. oszt ementáli sajt kg 111153789 db M 8 fényes 398500234 Pentium II. mikro-processzor 3200 Ft 236598466 kg 112389450 56 Ft csavar 152365981 I. oszt db 1650 Ft góliát festék 56 Ft Alkáli elem 2200 Ft 136598463 217 Ft db földeletlen Konnektor dugó 136598321 db kijelzős 678 Ft fali kapcsoló
2 -ME 00123/99 minőségellenőrzés BSZ-1287 -99 1999. nov. 12. 65 -1287 -99 belső szállítás út felbontás 456 m 1998. jan. 21. 18 db. 1999. jún. 21. 165 tonna-km FE/1447 -99 szobafestés 1999. dec. 11. 5621 -FSZLA szoftver fejlesztés 123 -456/99 5640 m 2 1997. jún. 30. 99/421 5600 ember-óra kertépítés 1999. máj. 05. 1800 m 2 1999. szept. 05. 162 óra tanítás
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, minőség, méret, súly, önköltség, ár, . . . Sütő Gergely típus,
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
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
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
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 . . .
Az előzőekben a jellemzők sorával megadott minden materiális, fogalmi objektum ENTITÁS, a továbbiakban (ADAT)EGYED
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.
DEKÓDOLÁS Ki Ő? KÓDOLÁS
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.
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.
forma funkció szerkezet tartalom Sütő Gergely
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
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
A kód szerkezete a jelkonfigurációt határozza meg Øegyszerű Øsorozat Østruktúrált Sütő Gergely
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
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. ) 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
DOLGOZÓ 2 690315 4567 üzletkötő 1 521107 5469 őrmester Szép Ilona Szabó XXIII József 96 000 Ft Egyed típus 42 000 Ft 2 590315 4567 Egyed előfordulás titkárnő 1 680115 1234 kereskedelmi igazgató Tört Elek 185 000 Ft Bak Anita 86 000 Ft
Tulajdonság előfordulás (érték) 1 521107 5469 őrmester 42 000 Ft Tulajdonság típus DOLGOZÓ NEVE Szabó XXIII József Szép Ilona Bak Anita Tört Elek 2 690315 4567 üzletkötő 96 000 Ft 2 590315 4567 titkárnő 1 680115 1234 kereskedelmi igazgató 185 000 Ft 86 000 Ft
Az egyedek közül melyek tartoznak egy típusba? Személyi szám Gyártási szám Típus Név Beosztás beosztás Bér Személyi szám Felvett összeg Név Pénztár Beosztás Mozgásnem Bér Ügyfél azonosító Teljesítmény Eladási ár Bizonylatszám Munkaszám Mozgás dátuma Minőségi kód Cikkszám Teljesített mennyiség Nyilvántartási ár Megnevezés Amelyek azonos tulajdonság típusokkal jellemezhetők. Az egyed tehát entitás tulajdonság sor Ráfordított idő
Üzem Központ 32 Bp. . XIX. Fő u. 2. 22 Piripócs Ó u. 7. Kapcsolat előfordulás Kapcsolat típus 22 32 22 őrmester Szép Ilona 1 521107 5469 22 Szabó XXIII József 42 000 Ft 22 Bak Anita Tört Elek
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).
Az adatbáziskezelő rendszer és a végfelhasználó közötti „párbeszéd” (valamint ennek módszerei, tartalmi és formai kellékei)
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.
AZ ADATBÁZIS SZERVEZÉS FÁZISAI Fogalmi ( koncepcionális) modell Valósághű leképzés NOR A valós világ objektumai és összefüggései (rendszer) Logikai modell MAL IZÁL ÁS Fizikai modell ADA TBÁ Z Hozzáférés Elhelyezés ISK EZE Konzisztens szerkezet LŐ ADATBÁZIS Megvalósítás
A normalizálás mint a logikai adatszerkezet kialakításának módszere és eszköze Sütő Gergely
d 2 Descartes szorzat RELÁCIÓ fekete éjkék piros türkiz ezüst fehér d 3 Sütő Gergely 160 LE 125 LE 92 LE ó 60 LE ria szt dió 45 LE rá d 1: kategória (teljesítmény) d 2: szín d 3: ajándék felszerelés
A reláció matematikai leírása: R<d 1, d 2, d 3, . . . 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 egyed típus, amelyet a tulajdonság(típusok) sorával adunk meg (entitás). Sütő Gergely
Adat tartományok (domain) Descartes szorzatának a valóságos objektumokat leképező részhalmaza. Sütő Gergely
A konkrét reláció táblázatos formában írható le. A továbbiakban: RELÁCIÓ = TÁBLÁZAT A reláció mérete (k) R Sütő Gergely A reláció foka (n) Általános szabályok: a reláció neve egyedi a reláción belül nincs azonos nevű 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
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 egységesítés tartománynak fogalomnak több neve is van d d i d k ; d d i d k d d i= d k ; szervezet_kód egység_szám homonim név: különböző fogalmak neve azonos név Dolgozó_név Sütő Gergely ? név Szervezet_név Szervezeti_egység_kód minősítés
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, d. T, jogsi, dn, nem, len, bér, cím, szek, szen, g. T, 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
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
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
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
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
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 egyednek több kulcsa is lehet, melyeket kategóriákba sorolhatunk. Ezt kulcstí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
• • • Azonosító (egyedi, elsődleges [primary]) Kapcsoló (idegen [foreign]) Rendezési Csoportosító Szelekciós (szűrő) Sütő Gergely
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 ? Sütő Gergely Kiss Pál
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 Sütő Gergely
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
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
Jelöljük ki az azonosítót (amely a reláció egy vagy több tartományát meghatározza) DOL< tsz, szig, d. T, jogsi, dn, nem, len, bér, cím, szek, szen, g. T, 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, g. T, gn, nk, nm, nd> Vizsgáljuk meg a relációt konkrét adatokkal! Sütő Gergely
Mi okoz problémát? Sütő Gergely 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á!
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 (0 NF) Hogyan oldható fel a probléma? ! Sütő Gergely
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 g. T és gn helyett: g. T 1, g. T 2, g. T 3, g. T 4, g. T 5 és gn 1, gn 2, . . . gn 5 Probléma Mi van, ha valakinek még több gyermeke van? Meddig sokszorozzuk a reláció tartományait? Sütő Gergely
Sütő Gergely
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
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
Mi okoz problémát? A törzs-szám nem azonosítja a sort! Hogyan oldható fel a probléma? ! Új, összetett azonosító: tsz+g. T+nk Sütő Gergely Hiba: REDUNDANCIA!
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
• 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, df 1, …dfi, dj, …dn> Rp<da, df 1, …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 R 1<dk, d 11, …d 1 i>; és R 2<dk, d 21, …d 2 k> Rj<dk, d 11, …d 1 i; d 21, …d 2 k> és Rjf = R 1 f + R 2 f -1 • Kiválasztás (selection): egy reláció sorainak kiemelése megadott ismérvek alapján. R k R ; R kf = R f Sütő Gergely ahol Rf: R fokszáma
Kivetítés (projection): Sütő Gergely
Összekapcsolás (join): Sütő Gergely
Kiválasztás (selection): Sütő Gergely
R 0 ? Kiindulásnak nem rossz, de a redundanciát meg A könnyebb kezelhetőség kell szüntetni! érdekében írjuk át az eredeti relációt egy oszlopba! Sütő Gergely tsz szig jogsi dn szek szen g. T gn nk nm nd Emeljük ki az azonosítótól függő tartományokat egy másik relációba!
R 0 tsz szig jogsi dn szek szen g. T gn nk nm nd Sütő Gergely R 1 tsz szig jogsi dn szek szen R 2 tsz g. T gn nk nm nd R 3 tsz g. T gn R 4 tsz nk nm nd
R 0 R 1 Sütő Gergely R 2
R 1 Redundancia Sütő Gergely Inkonzisztencia
R 2 R 3 R 4 Sütő Gergely
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
R 4 tsz nk nm nd R 5 nk nm R 6 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
R 4 R 5 R 6 Inkonzisztencia Sütő Gergely
R 8 tsz R 1 tsz szig jogsi dn szek szen szig jogsi dn szek R 7 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
R 1 R 8 R 7 relationship Sütő Gergely
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! R 8 tsz szig jogsi dn szek Sütő Gergely
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 R 1 tartomány legalább az egyik tsz szig relációban azonosító! jogsi dn szek szen Erős logikai redundancia: ha a logikailag redundáns tartomány egyik relációban sem azonosító! Sütő Gergely R 7 szek szen Az erős logikai redundancia magában hordozza az inkonzisztencia veszélyét!
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 R 8 tsz szig jogsi dn szek Sütő Gergely R 7 szek szen
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
Elemezzük tovább az R 8 relációt! R 9 R 8 tsz jogsi szig dn szek R 10 tsz jogsi R 10 tsz szig dn szek Sütő Gergely 1 tsz R 9 : 1 jogsi tsz szig dn szek
Sütő Gergely
R 8 tsz R 7 szek szen 1 : n szig jogsi dn szek 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
R 8 tsz szig dn szek m : R 5 n nk nm Nincs közös tartomány, a kapcsolat csak kapcsoló reláción keresztül valósítható meg! Rk nk tsz 3 NF-ben nem fordulhat elő, csak a koncepcionális modell szintjén létezhet! Sütő Gergely
Adjunk nevet a relációknak! JOGOS SZERVEZET R 7 DOLGOZÓ szen R 10 szek GYERMEK R 3 g. T tsz gn Sütő Gergely tsz szig dn szek R 9 jogsi tsz NYELV R 5 nk nm NYELVTUDÁS R 6 nk tsz nd
Név Tőrt Elek Sütő Gergely egyedtípus reláció tábla (table) egyedelőfordulás tuple (sor) rekord (row) tulajdonság típus domain (tartomány) mező (column, field) tulajdonság előfordulás elem (mező)érték kapcsolattípus relationship kapcsolat leírás kapcsolatelőfordulás sorok halmaza kapcsolt rekordok
Két egyed előfordulásainak kapcsolhatósága KÖTELEZŐ Sütő Gergely FÉLIG KÖTELEZŐ OPCIONÁLIS
SZERVEZET owner member DOLGOZÓ Sütő Gergely DOLGOZÓ owner member GYERMEK NYELVTUDÁS
SZERVEZET owner member DOLGOZÓ owner member GYERMEK Sütő Gergely DOLGOZÓ NYELV owner member NYELVTUDÁS
DOLGOZÓ owner KÉPESSÉGEK DOLGOZÓ owner ISMERET member Sütő Gergely member NYELVTUDÁS owner TÁRGYALÓKÉPES SZAKTUDÁS
DOLGOZÓ member o w n e r DOLGOZÓ BEOSZTOTT FŐNÖKI VISZONY Sütő Gergely
IV. előadás
A Struktúra Generátor Mátrix (SGM®) mint a modellezés eszköze Sütő Gergely
Sütő Gergely
Sütő Gergely
Wingdings jelkészlet ( ) Sütő Gergely 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
Symbol készlet (kézi kitöltés) ( ) Sütő Gergely 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
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
• minden oszlop egy 3 NF 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
• 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 kapcsolatá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
• azok a relációk állnak közvetlen kapcsolatban, 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 adatmodellnek) Sütő Gergely
• ha egy Rc reláció közvetlenül kapcsolódik egy Ra relációhoz (Ra =< Rc) és Rc közvetlenül kapcsolódik Rb-hez is (Rb =< Rc), akkor Ra és Rb közvetett, hálós kapcsolatban állnak egymással: Ra >=< Rb Sütő Gergely
Ra< da 1, …> Rb< db 1, …> Rc< da 1, db 1, …> Sütő Gergely
1. ha egy Rb reláció közvetlenül kapcsolódik egy Ra relációhoz (Ra =< Rb) és Rc közvetlenül kapcsolódik Rb-hez (Rb =< Rc), akkor Ra és Rc közvetett, tranzitív kapcsolatban állnak egymással: Ra =<< Rc 2. tranzitív kapcsolat esetén, ha Rc azonosítója összetett és Ra azonosítója része Rc azonosítójának, Ra és Rc közvetlen kapcsolatba hozható! Sütő Gergely
Ra< da 1, …> Rb< da 1, db 1, …> Rc< da 1, db 1, dc 1…> Sütő Gergely
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
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ő Sütő Gergely ERŐS LOGIKAI REDUNDANCIA!
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
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
SZÁMLA FEJ/(LÁB) SZÁMLA TÉTEL Sütő Gergely
Sütő Gergely
Sütő Gergely
Jelölések: Sütő Gergely 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
1. 2. 3. 4. 5. 6. 7. 8. Sütő Gergely BOLT ARU VEVO REFEJ RETET KESZLET SZLAFEJ SZLETET bolt áru vevő rendelés fej rendelés tétel bolt árukészlete számla fej számla tétel
REFEJ BOLT ÁRU VEVŐ * BOK BOCI * AKO ANE MEGYS AFAK NYAR * VEKO VENE VECI * RESZA BOK VEKO REDAT RETET KESZLET SZLAFEJ SZLATET RESZA AKO REME TEME BOK AKO KLT UVAD * SZLASZ BOK VEKO SZAKE SZLASZ TESZ AKO VAME ELAR Sütő Gergely
RESZA (rendelés-szám) BOK (eladó) REFEJ VEKO (vevő) REDAT (rendelés dátuma) AKO, REME, TEME RETET ismétlődés Sütő Gergely
SZLASZ (számlaszám) BOK (eladó) SZLAFEJ VEKO (vevő) SZAKE (számla kelte) TESZ, AKO, VAME, ELAR SZLATET ismétlődés Sütő Gergely
VEVŐ BOLT REFEJ ARU KESZLET RETET SZLAFEJ Sütő Gergely
Sütő Gergely 1. 2. 3. 4. 5. 6. 7. 8. BOLT ARU VEVO REFEJ RETET KESZLET SZLAFEJ SZLETET
a a Sütő Gergely
SQL Structured Query Language A relációs adatbázis kezelés eszperantója Sütő Gergely
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
§ § § § 1982. IBM DB 2 1986. ANSI SQL szabvány, Sybase 1987. ISO SQL szabvány 1988. SQL Server DB 2 -höz SQL szolgáltatások (pl. : d. BASE IV) SQL alapú adatbázis kezelők MS SQL Server ACCESS SQL: „ANSI-89 Level 1” szabványnak felel meg
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
Az SQL egységei adatbázis tábla (table, reláció) sor (row) oszlop (column) elemi adat
Általános adattípusok SMALLINT rövid egész szám (2 byte) -32 767 < x < 32 768 INTEGER egész szám (4 byte) -2 147 483 647 < x < 2 147 483 648 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
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
Parancs szintaxis PARANCS_KULCSSZÓ paraméterek; Az SQL paraméterei rendszerint kulcsszavasak! Paraméterek KULCSSZÓ p 1, p 2, …pn p 1, p 2, . . . 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!
A parancsok típusai ►Adatbázis szerkezet kezelése ►Adat karbantartás ►Lekérdezés ►Adatvédelem
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;
Adatbázis szerkezet kezelése II. (táblák) ► Új tábla létrehozása: CREATE TABLE táblanév (oszlop 1{, oszlop 2, …}); ► Új oszlop hozzáadása: ALTER TABLE táblanév ADD (oszlop 1{, oszlop 2, …}); ► Tábla törlése: DROP TABLE táblanév; oszlopi oszlopnévi adattípusi{ NOT NULL}
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
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};
Lekérdezés (a SELECT parancs) Kiválasztás egy vagy több táblából a parancsban definiált szempontok szerint
Lekérdezés szintaxis u 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}; *|
Lekérdezés paraméterek » » » kifejezés_lista oszlopkifejezés 1{, oszlopkifejezés 2, …} tábla_lista táblanév 1{, táblanév 2, . . . } 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év 1|sorszám{ASC|DESC}
Lekérdezés további komponensek u Táblák összekapcsolása (JOIN) – Szoros kapcsolat: INNER JOIN…ON – „Laza”kapcsolat LEFT|RIGHT JOIN u Egyesítés (UNION) u Al(sub)select (SELECT)
Aggregáló függvények u gyűjtés (összegzés): u átlagolás: SUM AVG u megszámlálás: COUNT u legkisebb, legnagyobb érték: MIN, MAX u variancia mintára, teljes sokaságra: VAR, VARP u szórás mintára, teljes sokaságra: STDEV, STDEVP
Összehasonlító operátorok u =; <; >; <=; >=; <> u BETWEEN u IN u LIKE u EXISTS
Adatvédelem u Hozzáférési jog átadása: GRANT jogok listája {ON táblanév} TO PUBLIC|felhasználó_lista {WITH GRANT OPTION}; u – 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;
Tranzakció kezdete: BEGIN WORK; u Tranzakció érvényesítése: COMMIT WORK; u Tranzakció érvénytelenítése: ROLLBACK WORK; u Adatbázis helyreállítása: ROLLFORWARD DATABASE; u
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 1000 Ft-nál nagyobb árú cikkeket írjuk ki SELECT ANE, AKO, NYAR FROM ARU WHERE NYAR>1000; 0 -3
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
1. OWNER tábla 2. kapcsolva a MEMBER táblához 3. azon sorokban ahol a két tábla árukódjai megegyeznek ÁRU KÉSZLET ARUINNER JOIN KESZLET ON ARU. AKO = KESZLET. AKO 9
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
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
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
BOLT ÁRU KÉSZLET INNER JOIN KESZLET BOLT INNER JOIN(ARU ON ARU. AKO = KESZLET. AKO) 9 ON BOLT. BOK = KESZLET. BOK
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
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
8. Az előző feladatból csak a 20000 Ft ö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 7 HAVING (((Sum([nyar]*[klt]))>20000));
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
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
VII. előadás
Szerkezet, adatkarbantartás, megjelenítés. Sütő Gergely
Főmenü Adatbázis eszközsáv Címsor (adatbázis neve) Funkció lapok Adatbázis ablak (funkció ablak) Sütő Gergely
Főmenü Adatbázis eszközsáv Címsor (adatbázis neve) Funkció lapok Adatbázis ablak (funkció ablak) Sütő Gergely
Főmenü Adatbázis eszközsáv Címsor (adatbázis neve) Funkció lapok Funkciók (objektumok) Adatbázis ablak Sütő Gergely
Létező táblák Sütő Gergely Műveletek • 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 Sütő Gergely Műveletek • megnyitás (adat karbantartás) • tervezés (tábla szerkezet módosítás) • új (tábla szerkezet kialakítás)
Műveletek Létező táblák Sütő Gergely • megnyitás (adat karbantartás) • tervezés (tábla szerkezet módosítás) • új (tábla szerkezet kialakítás)
Nézet váltás Adatlap nézet (adat karbantartás) Sütő Gergely
Nézet váltás Adatlap nézet (adat karbantartás) Sütő Gergely
Nézet váltás Adatlap nézet (adat karbantartás) Sütő Gergely
Tervező nézet (szerkezet módosítás) Mezőtulajdonságok beállítása Sütő Gergely
Tervező nézet (szerkezet módosítás) Mezőtulajdonságok beállítása Sütő Gergely
Tervező nézet (szerkezet módosítás) Mezőtulajdonságok beállítása Sütő Gergely
- Elads
- Elads crm
- Public candy companies
- Hamlet act iii scene iii
- 10/2015 (vii. 30) hm
- Henryk vii tudor
- King henry vii family tree
- Reach annex vii
- M. digastricus venter anterior innervation
- Halide meaning
- Title vii of the civil rights act
- Keputusan menteri kesehatan ri nomor 829/menkes/sk/vii/1999
- Pearson vii
- What is the theme of the poem song vii
- Hamlet act iv scene vii
- Pasari acarenate
- N.facialis ganglion
- Te har
- Fernando vii absolutismo
- Cum se înmulțesc mamiferele
- Henry vii
- Vii s
- Tema poeziei de ce nu-mi vii
- Fourth order neurons
- Hikayat hang tuah bab 7
- Inferno canto 7 parafrasi
- 6/1996. (vii. 16.) müm rendelet
- Canto viii paradiso
- How to test facial nerve function
- Spotkanie w canossie
- F,cl,br,i
- Hexacarbon decahydride
- Rima xiii
- Ecuacion indicial
- Lettera vii platone
- Vii informe foessa
- Pedagogik fikrlar tarixi
- Title vii of the civil rights act
- Rima vii becquer comentario
- Soarele de dupa vii isi arata fata
- Code of ethics for professional teachers article 3
- Cranial nerve assessment
- Henry vii
- André derain mountains at collioure
- Fernando vii
- Cq bw contest
- Prvky vii.a skupiny
- Motor ocular externo origen real y aparente
- Relatii in ecosisteme
- Nerf facial bis
- Odpalanie palnika acetylenowo-tlenowego
- Representative elements
- Nerfs vii
- Definition of handout
- Jan iii sobieski data i miejsce urodzenia
- Obie ford iii
- Prioridad iv uci
- Per le nove radici d'esto legno
- Telpas speaking rubric
- Pope gregory iii
- Mrp closed loop
- Extemporaneous suspension
- Oms iii meaning
- Iii credit point system
- Miocosis
- N520na
- Scala wppsi
- Iv chwyt leopolda
- William henry gates iii was born on 28 october 1955
- Examples of lever
- Walter jackson freeman ii
- Childerico iii
- This act contains much irony
- Lusiadas canto iii
- Penitential rite prayer
- Interreg iii b
- O moço loiro iii – brás-mimoso
- Class iii preparation
- Ies carlos iii aguadulce
- Exposition of julius caesar
- Canto iii summary
- Title iii eligibility
- Apego emocional
- Fat cats nyc
- Displasia
- Eminems real name
- Solvency ii pillar 3 overview
- Adjusted sum of squares
- The byzantine empire and emerging europe
- Basel iii pwc
- Otvorene i zatvorene crte
- Iii. pál pápa
- Differences between george washington and king george iii
- Cuidados de enfermagem para choque cardiogênico
- Formula bisettrice secondo e quarto quadrante
- Tubuli recti
- Dr walter wray
- Hamlet act iii scene i
- Thermo haake rheometer
- Capilar tipo iii
- Kiosk iii
- V chwyt leopolda
- King george v family tree
- Maikling pananaliksik
- Pacetic
- Group iii elements
- Calvin brown iii
- Monitoria fetal categoria 2
- Npgcl genco-iii
- Pentium iii
- Equilibrium involving thiocyanatoiron (iii) ion
- Why did romeo's killing tybalt put juliet in a bad position
- Brigance inventory of early development
- Vývojový test zrakového vnímání od frostigové
- Class 2 modification 1
- Vector iii
- Prolaser 3
- Title iii requirements
- Istituto macherione giarre
- Plegaria eucarística iii
- Cl-mrp
- What is a class iii laser
- English level iii
- Adult treatment panel iii
- Iii offshore advisors
- 7 ano iii bimestre aula 1
- 269/menkes/per/iii/2008
- Lithium nitride lewis structure
- Gree versati iii
- Hcps iii
- Type iii school bus
- Terza declinazione
- Movimientos fetales normales y anormales
- Forrest ulcera peptica
- Thermo king candiag software
- Second conditional interrogative
- Triamminetriaquachromium(iii)
- Petra iii status
- Hamlet act 3 events leading to climax
- Triamminetrichlorocobalt(iii)
- Cibis iii
- Gilbert newton iii
- Mbti step ii
- Brigance test for 4 year old
- Ensayos fase iii clinicaltrials.gov
- Richard iii and looking for richard
- John proctor iii
- Dna primerase
- Napoleon
- Red terminating bar
- Planos hodge
- Investigador
- Pillar 2 of basel 3
- Anisocoria y discoria
- Garmin gps iii plus
- Aluminum and iron iii oxide balanced equation
- Bazel iii
- Karns algorithm in tcp
- George nichols iii
- Suhu penyimpanan obat menurut farmakope
- Iii kryterium ewaluacji
- Alfred mansour iii
- Msc rini iii
- Pentaaqua thiocyanato iron(iii)
- Seveso dyrektywa
- Nickel (iii) carbonate
- Basel iii summary
- Pnafm iii