INFORMATIKUS SZAKMAI ISMERETEK PÉLDATÁR Informatikai statisztikus és gazdasági tervezı szak részére
Dr. Gyurkó György 2011.
Szerzı: Dr. Gyurkó György
Lektorálta: Dr. Gubán Ákos
3
TARTALOMJEGYZÉK
Feladatok az 1. fejezethez .......................................................................................................... 4 Feladatok a 2. fejezethez .......................................................................................................... 11 Feladatok a 3. fejezethez .......................................................................................................... 28 Feladatok a 4. fejezethez .......................................................................................................... 65 Megoldások – 1. fejezet ........................................................................................................... 85 Megoldások – 2. fejezet ........................................................................................................... 91 Megoldások – 3. fejezet ......................................................................................................... 104 Megoldások – 4. fejezet ......................................................................................................... 120
4
INFORMATIKUS SZAKMAI ISMERETEK
Feladatok az 1. fejezethez Információ
Jelentés
A sorokban álló állítások, az oszlopokban álló mely fogalmakra jellemzıek?
Adat
1. feladat
a) Nem sajátja, annak az adatnak, aminek az értelmezésébıl keletkezett. b) Többféle jelentése lehet. c) Ilyen egy lábnyom a hóban. d) A feltételezett értelmezési szabályokat ismerık közössége számára azonos. e) Konkrét értelmezıhöz köthetı. f) A döntési, reagálási képességet javítja. g) Ahhoz, hogy megkapjuk, csak értelmezésre van szükség. h) Új ismeret i) Értelmezhetı a mennyisége, amely az adat ismétlése esetén növekszik j) Értelmezhetı a mennyisége, amely az adat ismétlése esetén NEM növekszik.
2. feladat A következı táblázat soraiban [állítás], mert [indoklás] alakú kijelentések találhatók. Tegyen X-et • az A oszlopba, ha az állítás igaz; • az I oszlopba, ha az indoklás igaz; • az Ö oszlopba, ha az állítás is és az indoklás is igaz, és van összefüggés közöttük; • az N oszlopba, ha egyik sem igaz! A I Ö N a) [A jelentéstartalom nem azonos az információval], mert [a jelentéstartalom az azonos értelmezési szabályt alkalmazók mindegyike számára elvben azonos, de nem mindegyikük számára képez új ismeretet]. b) [A jelentéstartalom nem jelent feltétlenül új ismeretet], mert [a jelentéstartalom az adat felhasználásának, a döntési, reagálási képesség megváltozásának a mozzanatához kapcsolódó fogalom]. c) [A jelentéstartalom nem azonos az információval], mert [a jelentéstartalom nem feltétlenül képez új ismeretet]. d) [Az információ az adat értelmezésének mozzanatához kapcsolódó fogalom], mert [az információ az adat értelmezése által szerzett új ismeret]
5
INFORMATIKAI ALAPISMERETEK A I
Ö N
e) [Az információ az adat felhasználásának, a döntési, reagálási képesség megváltozásának a mozzanatához kapcsolódó fogalom], mert [az adat bármilyen anyagon, alakban, bármilyen hatással elıállított egyszerő vagy összetett jel]. f) [A megbízhatóság, mint minıségi jellemzı az adatra vonatkoztatható], mert [a megbízhatóság azt jelenti, hogy az adatból nyert információ éppen arra a kérdésre válaszol, ami a döntéshozót foglalkoztatja, alkalmas a lehetséges döntési változatok várható következményeinek felmérésére]. g) [Az érthetıség mint minıség az információra vonatkoztatható], mert [az érthetıség az adatnak az a tulajdonsága, hogy a rá alkalmazandó értelmezési szabály határozottan beazonosítható, és ez a szabály ismert az értelmezı számára is, tehát a jelentéstartalmat illetıen nincs bizonytalanság] 3. feladat Azonosítsa a következı állításokban a specifikált adat komponenseit! 3.1 Állítás: A 466 számú fıkönyvi számla neve „Elızetesen felszámított ÁFA”. Kategória Tulajdonság Objektum Érték 3.2 Állítás: A forrás típusú számla „tartozik” oldalának elıjele negatív. Kategória Tulajdonság Objektum Érték
4. feladat 4.1 Tippelje meg, hány bit az alábbi közlések információmennyisége! 1. Négy számjegybıl álló, teljesen ismeretlen PIN kódnak valaki elárulja az elsı jegyét. 2. Négy számjegybıl álló, teljesen ismeretlen PIN kódnak valaki elárulja az egyik jegyét, de nem mondja meg melyiket. 3. Négy számjegybıl álló, teljesen ismeretlen PIN kódnak valaki elárulja az elsı jegyét és még egy jegyét, de az utóbbinál nem mondja meg, melyiket.
1,3 bit
3,3 bit
4,6 bit
5 bit
6
INFORMATIKUS SZAKMAI ISMERETEK
4.2 Tippelje meg, hány bit az alábbi értesülések információmennyisége!
2,4 bit
3 bit
6,6 8 bit bit
1. "A dámánál kisebb értékő pikket húztam az 52 lapos – jokerek nélküli – francia kártya csomagból.” (Ilyen csomagban összesen 10 olyan pikk lap van, aminek az értéke kisebb a dámánál.) 2. Négy számjegybıl álló, teljesen ismeretlen PIN kódnak valaki elárulja az elsı 2 jegyét. 3. Szakértık véleménye alapján egy esemény valószínőségét 1/20nak becsültük, de egy értesülés úgy változtatja véleményünket, hogy az esemény bekövetkeztének valószínősége 2/5. 5. feladat Két barát találkozik. – Ezer éve nem láttalak! Hogy vagy? – Köszönöm kérdésed. Megnısültem, született három gyermekem. – Igazán, és most hány évesek a gyermekeid? – Kitalálhatod. Az éveik számának (egész számok) szorzata 36. Az éveik számának összege annyi, ahány ablak van a szemben lévı házon. – Kevés szünet után hozzáteszi. – Ja, még azt is meg kell mondanom, hogy a legkisebb (legkevesebb éves) gyerek szeplıs és nagy elálló fülei vannak. a) Hány évesek a gyerekek? b) Becsülje meg, legfeljebb mekkora az második és a harmadik közlés információmennyisége külön-külön!
1.
2. 3. 4. 5. 6.
7.
Ennek a jellemzınek, ha az információra vonatkoztatjuk, kétféle értelmezése is lehet, az egyik a rendelkezésreállási …. Az adatra vonatkoztatva azt jelentheti, hogy jelen vannak a pontos értelmezést lehetıvé tevı társadatok. Az adatra értelmezhetı. Az információra értelmezhetı. Azt jelenti, hogy a közölt információ megfelel a valóságnak. Az adatnak az a tulajdonsága, hogy a rá alkalmazandó értelmezési szabály határozottan beazonosítható, és ez a szabály ismert és világos az értelmezı számára is. Ez a jellemzı az információra értelmezve azonos a megbízhatósággal.
összehasonlíthatóság
idıszerőség
objektivitás
megbízhatóság
alkalmazhatóság
teljesség
Jelezze X-szel, hogy a sorokban álló állítások az adatok, illetve információk mely jellemzıire vonatkoztathatók! A kérdéses jellemzıket az oszlopok képviselik.
érthetıség
6. feladat
INFORMATIKAI ALAPISMERETEK
7
7. feladat Mi a hiba a következı – szakirodalomban is megtalálható – állításban? "A négybetős magyar szavak információmennyisége 20,52 bit".
Idıbeli
8.1 Milyen típusú kommunikációs csatornát képeznek az alábbiak?
Térbeli
8. feladat
Egyszerő telefon Hangfelvétel, film Rádióhullám Postaszolgálat Papírdokumentum (levél) 8.2 Mi a kapcsolat a redundancia és az elektronikus aláírás között? Mi a kapcsolat a zaj és az elektronikus aláírás között? 8.3 A redundancia célszerően alkalmazott változatai többféle elınnyel járhatnak, más elıfordulásai viszont kifejezetten hátrányosak lehetnek. A táblázat megfelelı helyére írjon be olyan eseteket – legalább kettıt –, amelyek a redundancia elınyös alkalmazásai, és legalább kettı olyat, amelyek a redundancia hátrányos elıfordulásai közé tartoznak! Elınyös alkalmazások:
Hátrányos elıfordulások:
8
INFORMATIKUS SZAKMAI ISMERETEK
9. feladat Az információs rendszer funkciói milyen speciális realizációval bírnak élılények, illetve gazdasági szervezet esetén? IR funkció
Élılény esetén
Gazdasági szervezet esetén
Érzékelés, észlelés
Érzékszervi funkciók
Mérés, adatgyőjtés
Térbeli csatorna
Idegrendszeri funkciók
Tárgyalás, levél, adatközlı hálózat (kábel, rádióhullám)
Reagálás
Ösztönös vagy racionális döntésen alapuló cselekvés
Jogszabályokon, szabványokon; szervezeti célokon, szabályokon, tudáson; a problémára vonatkozó adatokon; emberi vagy automatizált döntésen alapuló szervezeti cselekvés.
Idıbeli csatorna
Ösztön, feltételes reflex, emlékezet
Nyilvántartott (tárolt) adatok, dokumentumok. – Irattár, adatbázis, adattárház, …
2.
Bármilyen állapotváltozás
3.
Különbözı állapotokat vehet fel.
4.
Tulajdonságai nem változnak.
5.
Beszerzés, eladás
6.
Az élettartama alatt különféle változásoknak lehet kitéve
7.
Élılény, személy, társaság
8.
Elvont dolog, amely történeti jellemzıkkel bír.
9. Diszpozíciós adatok. 10. Azokat a jellemzıit nevezik törzsadatoknak, amelyek ritkábban változnak vagy stabilak.
Esemény
Az alábbi sorok némelyikében • olyan állítások állnak, amelyek vagy objektum vagy esemény jellegő jelenségre igazak; • olyan jelenségek szerepelnek, amelyek vagy objektum vagy esemény jellegőek; • olyan adatok szerepelnek, amelyek vagy objektum vagy esemény jellegő jelenség tulajdonságai. Minden esetben tegyen X-et a megfelelı oszlopba. 1. Földrajzi hely
Objektum
10. feladat
INFORMATIKAI ALAPISMERETEK 11. feladat 11.1 Mondjon példát azonos szintő technológiák illesztésének szabványára: Különbözı operációs rendszerekkel vezérelt gépek kommunikációjának megoldása a hálózati kommunikáció megjelenítési rétegében. Más példa: Különbözı technológiával készült alhálózatok összekapcsolása. egymásra épülı technológiák illesztésének szabványára: A hálózati kommunikáció rétegei közötti interfészek szabványai. ember és eszköz (szoftver) illesztésének szabványára: ergonómiai szabványok vagy megfelelı szakképesítés elıírása az eszköz használatához. emberek közötti kommunikáció szabványára: Dokumentum-szabványok, ügyrend, beszámoltatási rend. 11.2 Mondjon példát az IR-re vonatkozó eljárási szabályok alábbi csoportjaira!: Jogszabályok: Pl. adatvédelmi tv., elektronikus aláírásról, elektronikus dokumentumok kezelésérıl szóló tv. Szakterületi (ágazati) eljárási szabványok: ISO 12207, ISO 17799 Módszertani szabályok, technológiai elıírások: SSADM, UML, RUP, ITIL Szervezeti szabályzatok, szervezeti szintő eljárási szabványok: Testre szabott ISO 9001 vagy testre szabott ISO 12207 Projektszintő eljárási szabványok: Pl. a projekt egyes termékeinek értékelési szempontjai 12. feladat 12.1 Mi az a két probléma, aminek a megoldása a csomagkapcsolt hálózat gondolatát motiválta? 1.
2.
A hálózatok ISO/OSI referenciamodellje szerint a hálózati kommunikációnak melyik az a rétege, amely kifejezetten a csomagkapcsolt megoldásból eredı feladatokat oldja meg?
9
10
INFORMATIKUS SZAKMAI ISMERETEK
Mi a feltétele annak, hogy a hálózati kommunikációnak az ISO/OSI referenciamodell szerinti egyik rétegében végzett változtatás (újítás) ellenére a többi rétegben készen adott megoldások változatlanul használhatók legyenek?
Indokolja meg, hogy hálózati kommunikáció hétrétegő OSI modellje miért javítja a hálózati alkalmazások szilárdságát?:
miért javítja a hálózati rendszerek elemezhetıségét?:
miért javítja a hálózati rendszerek karbantarthatóságát?:
1.
Ebben mőködik a repeater.
2.
Ezekbe tartozó funkciókat lát el a bridge.
3.
Ezekbe tartozó funkciókat lát el a router.
4. 5.
Ebben történik az üzenetek csomagokra bontása. Ebben történik az üzenetek felépítése a beérkezett csomagokból.
6. 7.
Ez a réteg kereteket lát. Ebbe a rétegbe olyan szolgáltatások tartoznak, mint a más gépen futó alkalmazások felıl érkezı kérések figyelése és a kérés teljesítésére hivatott program indítása. Abból eredı gondokat, hogy a különbözı típusú gépeken (különbözı operációs rendszerekben) eltérı karakterkódrendszereket, számábrázolási módokat, sorformátumokat alkalmaznak, ennek a rétegnek a szolgáltatásai oldják meg a megfelelı konverziók végrehajtásával. Annak támogatása, hogy a felhasználó távoli gépen bejelentkezhessen, és ottani programot futtathasson.
8.
9.
Alkalmazási r.
Megjelenítési r.
Viszonyréteg
Szállítási réteg
Hálózati réteg
Adatkapcsolati r.
12.2 A hálózati kommunikáció OSI referenciamodelljének az oszlopokban adott melyik rétegére (rétegeire) igazak az alábbi sorokban adott állítások?
Fizikai réteg
miért könnyíti meg az összetett hálózatok tervezését?:
ADATSZERVEZÉS, ADATELÉRÉS, ADATBÁZISKEZELİ RENDSZEREK
11
Feladatok a 2. fejezethez 1. feladat A számítógépek memóriájában mi az a legkisebb adattárolási egység? A számítógépek memóriájában mi az a legkisebb címezhetı adategység? Az adattartalom milyen jellemzıit határozza meg az attribútum (adatmezı) adattípusa?
Melyik kódolt numerikus adattípust célszerő alkalmazni pénzösszegek tárolására? Milyen gondok merülnek fel és milyen esetben, ha pénzösszegek tárolására nem az elıbbi válaszban adott adattípust használja?
1.
Települések és azokat összekötı utak rendszere.
2.
Sorban állók a pénztárnál.
3.
Legalább 30 éves, de legfeljebb 40 éves korú férfiak.
4.
Egymásra felvett öt pulóver (réteges öltözködés). 5. Szervezeti egységek egy olyan szervezeti struktúrában, amelyben minden szervezeti egységhez egyértelmő adott közvetlen felettes szervezeti egység. 6. Egy konkrét termék felépítése konkrét alkatrészekbıl. (Az alkatrészek között vannak összetettek,amelyek további alkatrészekbıl épülnek fel.) 7. Mőanyagot tartalmazó alkatrészek. 8. Egymásba helyezett mappák rendszere. Egy mappába több mappát lehet belehelyezni. Egy mappát nem lehet több mappába beletenni. 9. A szerkezetben értelmezett kapcsolatok mentén haladva két elem között csak egyetlen összekötı útvonal létezik, akkor is, ha az irányított kapcsolatokat ellenkezı irányban is igénybe vehetjük. 10. Egy kezdıpontja (belépési pontja) van. 11. Az elemei között több-a-többhöz fokú kapcsolat áll fenn.
Háló
Fa
Szekvencia
A sorokban adott elemegyütteseket az oszlopokkal adott adatszerkezetek melyikével modellezné?
Halmaz
2. feladat
12
INFORMATIKUS SZAKMAI ISMERETEK
1.
Rendezett tartalom esetén alkalmazható benne a bináris keresés.
2.
Hálós szerkezet reprezentálására optimális megoldás.
3.
Bármely eleme azonos idı alatt érhetı el.
4.
Halmaz és szekvencia tárolására optimális, ha az elemek száma elıre ismert, és jellemzıen nem változik.
5.
Halmaz és szekvencia tárolására optimális, ha az elemek száma dinamikusan változik.
6.
Faszerkezet is tárolható benne. Némi módosítással olyan faszerkezet is tárolható benne, amelyben az elágazások számának elıre ismert a felsı korlátja. Új elemet vagy új kapcsolatot könnyő beleilleszteni.
7. 8.
Lista
Vektor
A sorokban álló állítás az oszlopokkal adott tárolási szerkezetek közül mely(ek)re igazak?
Multilista
3. feladat
1.
Rekordokból épül fel.
2.
Mezıkbıl épül fel.
3.
Blokkokat tartalmaz. Az operációs rendszer a háttértárakon elhelyezett adatoknak egyszerre ilyen egységét olvassa az operatív memóriába. Ezt csak a speciális célalkalmazás ismeri fel. Az operációs rendszer szempontjából a külsı tárakban elhelyezett adatok nyilvántartásának az alapegysége. A specifikált adat számítógépi reprezentációja.
4. 5. 6. 7.
Record
Mezı
Blokk
Fizikai fájl
A sorokban olvasható állítások az oszlopokkal adott kategóriák közül mely(ek)re igazak?
Egysz. strukturált adatfájl
4. feladat
ADATSZERVEZÉS, ADATELÉRÉS, ADATBÁZISKEZELİ RENDSZEREK
13
Direkt
(Lehetnek olyan állítások, amelyek többféle elérési módra is igazak a felsoroltak közül.)
Soros
A megfelelı oszlopokba tett X-szel jelezze, hogy az alábbi sorokban álló állítások mely elérési módokra igazak?
1. Külön fájl (vagy tábla) tárolja az összetartozó keresı kulcs és tárolón belüli cím párokat. 2. Az azonos címre utóbb leképezett kulcsot (és a hozzá tartozó rekordot) egy elkülönített túlcsordulási területre helyezik el. 3. Egyik változata egy rendezıfát reprezentál, ami azért gyorsítja a keresést, mert a szükséges összehasonlítások száma nem a kulcsok számával arányosan, hanem csak a fa magasságával arányosan növekszik. 4. Az elérés tartalom szerinti. 5. Nem ismert semmilyen, az adatrekord tartalma és a tárolón belüli címe közötti összefüggés. 6. A rekord tárolási címe a keresı kulcsból egy (matematikai) leképezési eljárással állapítható meg. 7. Egyidejőleg több szempont szerinti keresést is meg tud gyorsítani. 8. Az ilyenfajta elérési módot biztosító állományokat idınként újra kell szervezni. 6. feladat A következı táblázat egy többszintő indextáblát mutat 9 indexblokkal. Az m blokktípus magasabb indexblokkot, az a blokktípus pedig alapindexblokkot jelöl.
1. 2. 3. 4. 5. 6. 7. 8. 9.
2. indexrekord 3. indexrekord 4. indexrekord Blokk- 1. indexrekord típus Kulcs Mutató Kulcs Mutató Kulcs Mutató Kulcs Mutató a AB 3 BA 7 DA 9 a KA 2 LC 15 NA 4 m DA 1 FA 4 JA 6 a EC 5 FA 13 a PB 8 QA 12 RA 16 a GD 1 HE 14 JA 11 m NA 2 RA 5 TA 9 m JA 3 TA 7 a SB 6 TA 10
gyökérblokk Az alábbi 8. kérdés megválaszolásánál vegye figyelembe: Egy tele blokk akkor osztódik, ha egy ötödik kulcsot kellene éppen elhelyezni benne. Ilyenkor a blokk éppen felezıdik, azaz a két kisebb kulcs a helyén marad, kettı új blokkba megy. Az új (ötödik) kulcs a rendezettségnek megfelelıen adódik hozzá az osztódással kapott fél blokkok valamelyikéhez.
Indexszekvenciális
5. feladat
14
INFORMATIKUS SZAKMAI ISMERETEK
Válaszoljon a következı kérdésekre! 1. Milyen összetett adatszerkezetet reprezentál a többszintő indextábla? 2. Milyen tárolási szerkezetet képez egy indexblokk? 3. Miért képes meggyorsítani a többszintő indextábla a tartalom (kulcs) szerinti keresést?
4. Miben jobb a többszintő indextábla az egyszintőnél?
5. Aktuálisan hány szintje van a fenti indextáblának? 6. A ”TA” kulcsú rekord az adattábla (nem az indextábla) hányadik sorában található? 7. Ebben az indextáblában mennyi kulcs-összehasonlítással állapítható meg, hogy az ”LC” kulcsú rekord az adattábla hányadik sorában található? 8. Maximálisan hány – alkalmasan megválasztott – kulcsot lehet hozzáadni a fenti táblához anélkül, hogy a szintek száma növekedne?
9. Miért kell idınként újraszervezni az indextáblákat?
7. feladat A következı egyedtípus-szerkezetek és az ERD egyaránt a kimenı számlák elıállításához és nyilvántartásához szükséges egyedtípusokat mutatják. PARTNER (Partnerkód, Partnernév) PARTNERCÍM (Címazonosító, Partnerkód, Cím) TERMÉK (Termékkód, Terméknév, ……………………………………..) TERMÉKÁR (Árazonosító, Termékkód, Ártípus, Egységár, Devizanem, Mértékegység) ÁR-ÁTSZÁMÍTÁS (Árazonosítóról + Árazonosítóra, Arány) Az Árazonosítóról és az Árazonosítóra az Árazonosító szerepnevei. VTSZ (VTszám, Megnevezés) ÁFAMÉRTÉK (VTszám + Érvényesség kezdete, Érvényesség vége, ÁFA mérték) SZÁMLAFEJ (Számlasorszám, Partnerkód, Címazonosító, Számlatípuskód, Kiállító törzsszáma, Kiállítás dátuma, Elsı nyomtatás dátuma, Nyomtatott példány, Teljesítés dátuma, Fizetési határidı, Fizetési mód) A Kiállító törzsszáma a Törzsszám szerepneve. FEJSZÖVEG (Számlasorszám + Szövegkód, Szöveg) SZÁMLATÉTEL (Számlasorszám + Tételsorszám, Termékkód, Mértékegység, Mennyiség, Tételérték)
ADATSZERVEZÉS, ADATELÉRÉS, ADATBÁZISKEZELİ RENDSZEREK
15
TÉTELSZÖVEG (Számlasorszám + Tételsorszám + Szövegsorszám, Tételszöveg) ALKALMAZOTT (Törzsszám, Név)
7.1 Az ERD ábrán pótolja az egyedtípusok neveit, továbbá a TERMÉK hiányzó attribútumát! – Feltételezze, hogy az egyedtípusok legalább 1NF formában állnak! 7.2 A kimenı számlával kapcsolatos egyedtípusok szerkezete alapján határozza meg (x-elje be), hogy az alábbi táblázat soraiban jelzett funkcionális függések közül melyik áll fenn (F), melyik nem (N), melyik közvetlen funkcionális függés (K)! N F K 1. Számlasorszám Cím 2. VTszám ÁFA mérték 3. Termékkód VTszám 4. Számlasorszám Partnerkód 5. Számlasorszám Alkalmazott neve (a kiállítóé) 6. Számlasorszám + Szövegkód Kiállítás dátuma 7.3 A PARTNERCÍM egyedtípus szerkezetébıl következtetve a Címazonosító meghatározza a Partnerkódot, ennek ellenére a SZÁMLAFEJ egyedtípus szerkezetében mindkettı jelen van. Mire következtet ebbıl a ténybıl?
16
INFORMATIKUS SZAKMAI ISMERETEK
A SZÁMLAFEJ egyedtípus nincs BCNF formában, mert: A SZÁMLAFEJ egyedtípus BCNF formában lehet, mert:
7.4 A Teljesítés dátuma, a Fizetési határidı és a Fizetési mód csak a számlák egy kisebb hányadánál van kitöltve, ezért a logikai tervezés szintjén ezeket az attribútumokat egy SZÁMLAFEJ-RÉSZLET egyedtípusba leválasztja. Határozza meg a SZÁMLAFEJ-RÉSZLET egyedtípus elsıdleges kulcsát! ___________________________________________________________________________ Ábrázolja a SZÁMLAFEJ és SZÁMLAFEJ-RÉSZLET kapcsolatát úgy, hogy kifejezze a kapcsolat fokszámát, valamint opcionális vagy kötelezı minıségét! SZÁMLAFEJ
SZÁMLAFEJ-RÉSZLET
7.5 Válaszolja meg a következı kérdéseket! 1. A 7.1-ben kapott modell figyelembe veszi-e, hogy egy VTszámhoz tartozó ÁFA mérték megváltozhat?
IGEN, mert NEM, mert
Ha NEM-mel válaszolt, hogyan változtatná meg a modellt, hogy az az említett tényt is figyelembe vegye? 2. A 7.1-ben kapott modell figyelembe veszi-e, hogy egy terméket utóbb esetleg másik VTszám alá sorolhatják be?
IGEN, mert
NEM, mert Ha NEM-mel válaszolt, hogyan változtatná meg a modellt, hogy az az említett tényt is figyelembe vegye?
8. feladat A következı egyedtípus-szerkezetek és az egyedkapcsolat diagram összefüggnek egymással. A relációkban a Mozgáskód-alap és a Mozgáskód-kapcsolt szerepnevei a Mozgáskódnak. Hasonlóan az Alap-tételsorszám szerepneve a Tételsorszámnak. Az egyedtípus-szerkezetekben az aláhúzás az elsıdleges kulcsokat jelzi. A relációkról feltételezheti, hogy BCNF normálformában vannak. DOLGOZÓ (Dolgozókód, Név, Születési idı, Anyja neve, Adóazonosító, TB szám) DOLGOZÓ-ALKALMAZÁS (Alkalmazáskód, Dolgozókód, Alkalmazás kezdete, Alkalmazás vége, Jogviszony típusa)
ADATSZERVEZÉS, ADATELÉRÉS, ADATBÁZISKEZELİ RENDSZEREK
17
MÉRTÉKEGYSÉG (Mértékegységkód, Megnevezés) BÉRMOZGÁS (Mozgáskód, Megnevezés, Mozgástípus) BÉRMOZGÁS-SZÁMLA (Mozgáskód + Számlához kezdete, Számlához vége, T számla száma, K számla száma) BÉR-ELVONÁS (Mozgáskód-alap + Mozgáskód-kapcsolt + Kapcsolás kezdete, Kapcsolás vége, Elvonástípus) FIX ELVONÁS (………………………. + F-szabály kezdete, F-szabály vége, …………………………., Összeg) SÁVOS ELVONÁS (……………………. + S-szabály kezdete + Sáv alsó határa, S-szabály vége, Százalék)
nem stabil kapcsolat
TELJESÍTÉS stabil kapcsolat
SÁVOS ELVONÁS
BESOROLÁS (Alkalmazáskód + Mozgáskód + Besorolás kezdete, Besorolás vége, Bértípus, Mértékegységkód, Besorolási bér) TELJESÍTÉS (……………..……. + ………….……….. + Teljesítés kezdete, Teljesítés vége, Bizonylatkód, Mértékegységkód, Teljesített egység, Elszámolás dátuma) BÉRTÉTEL (Tételsorszám, Idıszakkód, Bizonylatkód, Alkalmazáskód, ……………………, Összeg, Feladáskód, Alap-tételsorszám) BÉRFELADÁS (Feladáskód, Fordulónap, Készítés dátuma, Készítı kódja, Megjegyzés) 8.1 Az adatmodellezés összefüggéseire támaszkodva pótolja a hiányzó tulajdonságtípusokat az egyedtípus-szerkezetekben, a hiányzó egyedtípusneveket a kapcsolati hálón (ERD-n), továbbá
18
INFORMATIKUS SZAKMAI ISMERETEK
az utóbbin egy hiányzó kapcsolatot. (A hiányzó tulajdonságtípusokra a kapcsolatok alapján következtethet; illetve a kapcsolatokat az idegen kulcsok alapján tudja azonosítani.) 8.2 Hol használta ki az ERD-n adott azon jelzést, hogy az egyik egyedtípus két kapcsolata közül melyik stabil, és melyik nem? ___________________________________________________________________________ ___________________________________________________________________________ 8.3 Az alábbi állítások közül melyik igaz (I), melyik hamis (H)? I 1.
A Tételsorszám nem határozza meg a Dolgozókódot.
2.
A Tételsorszám közvetlenül meghatározza a Dolgozókódot.
3.
A modell megengedi, hogy egy teljesítést több bértételben számolják el.
4. 5.
A modell megengedi, hogy több teljesítést egy bértételben számolják el.
6. 7. 8.
H
Amennyiben egy teljesítés valamely bértételben lett elszámolva, akkor a modell alapján a teljesítés mutatja, hogy melyik ez a bértétel. A modell megengedi, hogy egy fajta alapmozgást (azaz bért vagy bérjellegő járandóságot) több fajta kapcsolt mozgás (azaz elvonás: járulék, levonás) terhelje. A modell megengedi, hogy egy fajta kapcsolt mozgás (azaz elvonás: járulék, levonás) több fajta alapmozgást (azaz bért vagy bérjellegő járandóságot) terheljen. A modell kifejezi, hogy az egy BESOROLÁS-elıfordulásban a Besorolás kezdete és Besorolás vége dátumokkal adott idıintervallumnak a hivatkozott ALKALMAZÁSelıfordulásban található Alkalmazás kezdete és Alkalmazás vége dátumokkal adott idıintervallumba kell esni.
8.4 A modellt egészítse ki úgy, hogy amennyiben egy bértétel valamely teljesítés alapján lett elszámolva, akkor a bértétel mutassa, hogy melyik ez a teljesítmény. ___________________________________________________________________________ ___________________________________________________________________________ 9. feladat Az alább következı egyedtípus-szerkezetek (relációk) és az egyed-kapcsolat diagram összefüggnek egymással. A relációkban a Menüpont-mp-azon, a Menü-mp-azon és Pf-mp-azon, mind szerepnevei az Mp-azon-nak. Hasonlóan az Szkalk-érvkezd, az Szkalk-érvvége, az Szkjog-érvkezd és az Szkjog-érvvége, mind szerepnevei az Idıpontnak. Az egyedtípus-szerkezetekben az aláhúzás az elsıdleges kulcsokat jelzi. A relációkról feltételezheti, hogy BCNF normálformában vannak. 1. 2. 3. 4. 5. 6.
ALKALMAZOTT (Alk-azon, Alk-név) HASZNÁLATRÓL NAPLÓ (Alk-azon + Idıpont, …............……..........) IDİPONT (Idıpont) MENÜ (Menü-mp-azon, Menü-fejléc) MENÜBEN MENÜPONT (Menüpont-mp-azon + Menü-mp-azon, Megjelenít-ssz) MENÜPONT (Mp-azon, Mp-név, Mp-típus, Help-file-név)
ADATSZERVEZÉS, ADATELÉRÉS, ADATBÁZISKEZELİ RENDSZEREK
19
7. PROGRAM-FUNKCIÓ (Pf-mp-azon, Funkciónév) 8. SZEREPKÖR (Szk-azon, Szk-név) 9. SZEREPKÖRBEN-ALKALMAZOTT (Alk-azon + ………………….. +Szkalk-érvkezd, Szkalk-érvvége) 10. SZEREPKÖR JOGOSULTSÁGA (.......................... + .......................... + Szkjog-érvkezd, Szkjog-érvvége)
MENÜPONT
szkalk_kezd szkalk_vége szkjog_kezd
szkjog_vége
9.1 Az adatmodellezés összefüggéseire támaszkodva pótolja a hiányzó tulajdonságtípusokat az egyedtípus-szerkezetekben, a hiányzó egyedtípusneveket a kapcsolati hálón. (A hiányzó tulajdonságtípusokra a kapcsolatok alapján – ahol adott a kapcsolat neve, az alapján is – következtethet; illetve a kapcsolatokat az idegen kulcsok alapján tudja azonosítani.) 9.2 A feladatbeli modell egyik egyedtípusa fıtípusa más egyedtípusoknak, melyik ez? ___________________________________________________________________________ Ezen egyedtípusnak mely egyedtípusok az altípusai? ___________________________________________________________________________ 9.3 A modell alapján döntse el, hogy az alábbi állítások közül melyik igaz (I), melyik hamis (H). I H 1. Egy alkalmazott több szerepkört betölthet egyidejőleg. 2. Egy alkalmazott több programfunkcióba is beléphet azonos idıpontban. 3. Azonos menüpont használatára egyidejőleg több szerepkör is jogosult lehet. 4. Azonos menüpont több menüben is megjelenhet. 5. Azonos menüpont azonos menüben többször is megjelenhet. 6. Az Szkalk-érvkezd oszlopot (mezıt) nem kötelezı kitölteni.
20
INFORMATIKUS SZAKMAI ISMERETEK I
7. 8. 9.
H
Az Szkjog-érvvége oszlopot (mezıt) nem kötelezı kitölteni. Egy menüpontból vagy egy programfunkciót lehet indítani, vagy egy újabb (al)menübe lehet belépni. A rendszer a felhasználónak minden egyes menüpontba belépését naplózza.
10. feladat E feladat alfeladatait az alábbi egyedtípusok és az ERD-jük figyelembe vételével oldják meg! BIZONYLAT (BizonylatKód, BizonylatSzám, TranzakcióNév, TranzakcióDátum) SZÁMLATÜKÖR (SzlaTükKód, FkviSzlaSzám, SzlaÉrvKezd, SzlaÉrvVége, SzlaNév, SzlaTipusKód) MÉRTÉKEGYSÉG (MértEgys, MértEgysNév) MÉRTÉKEGYSÉG-ÁTVÁLTÁS (MértEgysrıl + MértEgysre, ÁtváltArány) CIKK (CikkSzám, CikkNév, VámTfaSzám, AlapMértEgys)
Értelmezés: Az AlapMértEgys szerepneve MértEgysnek. KÉSZLETTÍPUS (KészlTipKód, KészlTipNév) Értelmezés: Lehetséges készlettípusok: anyag, áru, befejezetlen termelés, félkész termék, késztermék. RAKTÁR (RaktárKód, RaktárCím) KÉSZLETMOZGÁSNEM (KészlMozgásKód, KészlMozgásNév, Irány, Mennyiségi, Értéki) Értelmezés: Az Irány értékei: Növelı vagy Csökkentı. A Mennyiségi és az Értéki attribútumok Igaz/Hamis értékőek lehetnek. Ezek jelzik, hogy az adott készletmozgásnem mennyiségi mozgás, értékbeni mozgás vagy egyszerre mindkettı (Pl. csak mennyiségi mozgás a raktárközi átadás; csak értékbeni mozgás az értékhelyesbítés.) KÉSZLET-SZÁMLA (KSzSzabályKód, CikkSzám, KészlTipKód, KSzÉrvKezd, KSzÉrvVége, SzlaTükKód) Értelmezés: Ha a KészlTipKód attribútum üres, akkor az adott CikkSzámmal azonosított cikk minden készlettípusára azonos szabály szerint adódik a készletszámla. KÉSZLETMOZGÁS-SZÁMLA (MszSzabályKód, KészlMozgásKód, KészlTipKód, MSzÉrvKezd, MSzÉrvVége, EllenSzlaTükKód) Értelmezés: Az EllenSzlaTükKód attribútum a készletszámla ellenszámláját határozza meg a KészlMozgásKóddal meghatározott mozgásnem és a KészlTipKóddal meghatározott készlettípus mellett. Ha a KészlTipKód attribútum üres, akkor az adott KészlMozgásKóddal azonosított mozgásnem mellett minden készlettípusra azonos szabály szerint adódik az ellenszámla. FIFO-ÉRTÉKELÉS (FiFoSzabályKód, CikkSzám, KészlTipKód, FiFoÉrvKezd, FiFoÉrvVége) Értelmezés: Ebben a táblában csak olyan cikkek készlettípusaira vonatkozó sorok szerepelnek, amelyekre adott érvényességgel FIFO értékelést alkalmaznak. Ha a KészlTipKód attribútum üres, akkor az adott CikkSzámmal azonosított cikk minden készlettípusára FIFO értékelés vonatkozik az adott érvényességgel. (Tehát egy ilyen sor itt is egy sorhalmazt helyettesít, amelyet úgy kapunk, hogy az adott CikkSzám mellé felvesszük az összes lehetséges KészlTipKód értéket.) Feltételezzük, hogy azokra a cikk-készlettípus párokra, amelyek adott érvényességgel nem szerepelnek a FIFO-ÉRTÉKELÉS táblában, idıszaki átlagáras értékelés vonatkozik. KÉSZLETMOZGÁS (TételSorszám, IdıszakKód, BizonylatKód, CikkSzám, KészlTipKód, KészlMozgásKód)
ADATSZERVEZÉS, ADATELÉRÉS, ADATBÁZISKEZELİ RENDSZEREK
21
Értelmezés: Ebben a táblában készletmozgás olyan adatai állnak, amelyek attól függetlenül értelmezhetık, hogy a mozgás csak mennyiségben vagy csak értékben vagy mindkét módon könyvelıdik. KÉSZLET-MENNYISÉGVÁLTOZÁS (MennyTételSorszám, RaktárKód, MértEgys, MennyVáltozás) Értelmezés: Ebben a táblában készletmozgás mennyiségben könyvelése miatti kiegészítı adatok állnak. A MennyTételSorszám szerepneve TételSorszámnak. KÉSZLET-ÉRTÉKVÁLTOZÁS (ÉrtékTételSorszám, Összeg, EgységÁrJelzı, FeladásKód) Értelmezés: Ebben a táblában készletmozgás értékben könyvelése miatti kiegészítı adatok állnak. Az ÉrtékTételSorszám szerepneve TételSorszámnak. Az EgységÁrJelzı csak FIFO értékelési mód esetén van kitöltve, és az adott tételre vonatkozó egységárat azonosítja.
10.1 Az egyedtípusok szerkezete alapján a következı egyedkapcsolat diagram dobozaiban pótolja az egyedtípusok neveit, továbbá tüntesse fel a diagramról még hiányzó három kapcsolatot is!
Rõl
Re
10.2 Milyen következménnyel kell lenni a SZÁMLATÜKÖR egy példánya érvénytelenítésének a KÉSZLETMOZGÁS-SZÁMLA egyes példányaira!
22
INFORMATIKUS SZAKMAI ISMERETEK
______________________________________________________________ ______________________________________________________________ ______________________________________________________________
11. feladat 11.1 Az alábbi funkcionális függések egyidejőleg fennállnak. Húzza át a közvetett függéseket! TételSorszám TranzakcióDátum
FeladásKód FordulóNap
TételSorszám EszközKód
BizonylatKód BizonylatSzám
SzlaTükKód FkviSzlaSzám
TételSorszám FeladásKód
SzlaTükKód SzlaÉrvKezd
EszközKód EszközNév
TételSorszám BizonylatKód
TételSorszám EllenSzlaTükKód
SzlaTükKód SzlaÉrvVége
EszközKód ElsıAktiválásDátum
TételSorszám Összeg
BizonylatKód TranzakcióNév
BizonylatKód TranzakcióDátum
TételSorszám EszközMozgásKód
TételSorszám EszközNév
FeladásKód FeladásKészítésDátum
EszközKód+EszközSzlaTip+EszközSzlaÉrvKezd EszközSzlaÉrvVége EszközKód+EszközSzlaTip+EszközSzlaÉrvKezd SzlaTükKód EszközMozgásKód EllenSzlaTükKód TételSorszám FeladásKészítésDátum EszközMozgásKód EszközMozgásNév EszközKód+EszközSzlaTip+EszközSzlaÉrvKezd FkviSzlaSzám
11.2 Adja meg az összes olyan normalizált (BCNF) egyedtípus szerkezetét, amely az áthúzások után megmaradt közvetlen függésekbıl következik! ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ ______________________________________________________________
ADATSZERVEZÉS, ADATELÉRÉS, ADATBÁZISKEZELİ RENDSZEREK
23
______________________________________________________________ ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ 11.3 Ábrázolja ERD-vel a kapott egyedtípusok kapcsolatait! Vegye figyelembe, hogy az EllenSzlaTükKód szerepneve a SzlaTükKód-nak! 12. feladat 12.1 Az alábbi függések egyidejőleg állnak fenn. Ennek ismeretében húzza át a közvetett függéseket! 1. Számlasorszám + Tételsorszám Mértékegység
14. VTszám VTSZmegnevezés
2. Számlasorszám + Tételsorszám Mennyiség
15. Árazonosító Termékkód
3. Számlasorszám + Tételsorszám Tételérték
16. Árazonosító Egységár
4. Számlasorszám + Tételsorszám Partnernév
17. Árazonosító VTSZmegnevezés
5. VTszám + Érvényesség kezdete ÁFA mérték
18. Partnerkód Partnernév
6. Termékkód VTszám
19. Számlasorszám Partnerkód
7. Számlasorszám + Tételsorszám Termékkód
20. Termékkód VTSZmegnevezés
8. Számlasorszám Teljesítés dátuma
21. Számlasorszám Fizetési mód
9. Számlasorszám Fizetési határidı
22. Termékkód Terméknév
10. Számlasorszám + Tételsorszám + Szövegsorszám Terméknév 11. Számlasorszám + Tételsorszám + Szövegsorszám Tételszöveg 12. Számlasorszám + Tételsorszám VTSZmegnevezés 13. Számlasorszám + Tételsorszám + Szövegsorszám Fizetési határidı
12.2 Határozza meg az elıbbi alfeladatban megmaradt közvetlen függésekbıl következı normalizált (BCNF) egyedtípusok szerkezetét (egyedtípus neve, attribútumai, elsıdleges kulcs aláhúzva)! ………………………………………………………………………………………………….. ………………………………………………………………………………………………….. ………………………………………………………………………………………………….. ………………………………………………………………………………………………….. ………………………………………………………………………………………………….. ………………………………………………………………………………………………….. ………………………………………………………………………………………………….. …………………………………………………………………………………………………..
24
INFORMATIKUS SZAKMAI ISMERETEK
………………………………………………………………………………………………….. ………………………………………………………………………………………………….. ………………………………………………………………………………………………….. ………………………………………………………………………………………………….. 13. feladat 13.1 A következı ERD ugyanazon egyedtípusokat tartalmazza, mint amiknek a szerkezete alább látható. Az adatmodellezési ismereteire támaszkodva pótolja az egyedtípusok nevét az ERD dobozaiban, valamint a hiányzó attribútumokat a JELENTÉS-SZÁMLA egyedtípus szerkezetében. Feltételezheti, hogy az egyedtípusok normalizáltak. Vegye figyelembe, hogy a Tartozik fıkönyvi számlakód és a Követel fıkönyvi számlakód szerepnevei a Fıkönyvi számlakód-nak. Az Alap mozgáskód és a Követı mozgáskód szerepnevei a Mozgáskód-nak. A Jelentéskód+Jelentéssor-számról és a Jelentéskód+Jelentéssor-számra szerepnevei a Jelentéskód+Jelentéssor-szám összetett tulajdonságnak.
SZÁMLATÜKÖR (Fıkönyvi számlakód, Fıkönyvi számlaszám, Számla érvkezd, Számla érvvége, Számlanév, Számlatípuskód) MOZGÁSKÖNYVELÉS (Mozgáskód + Szabály érvkezd, Szabály érvvége, Tartozik fıkönyvi számlakód, Követel fıkönyvi számlakód) MOZGÁS (Mozgáskód, Mozgás megnevezés) KAPCSOLT MOZGÁS (Alap mozgáskód + Követı mozgáskód + Lépcsı, Mozgáskapcsolat) TÉTEL (Idıszakkód + Tételsorszám, Bizonylatkód, Tartozik fıkönyvi számlakód, Követel fıkönyvi számlakód, Összeg) JELENTÉS (Jelentéskód, Jelentés megnevezés, Kötelezı-jelzı, Jelentésjelleg, Átváltó szorzó, Kapcsolatjelleg)
ADATSZERVEZÉS, ADATELÉRÉS, ADATBÁZISKEZELİ RENDSZEREK
25
JELENTÉS-KÉSZÍTÉS (Jelentéskód + Készítés-sorszám, Fordulónap, Készítés dátuma, Készítı kódja, Megjegyzés) JELENTÉSSOR (Jelentéskód + Jelentéssor-szám, Jelentéssor megnevezés, Sortípus, Sorelıjel) JELENTÉS-SZÁMLA (…………………… + …………………… + …………………….. ) ÁTSOROLÁS (Jelentéskód + Készítés-sorszám + Jelentéssor-számról + Jelentéssor-számra, Összeg)
13.2 Milyen kritériumokat kell teljesíteni az egyedtípus elsıdleges kulcsának? ………………………………………………………………………………………………….. ………………………………………………………………………………………………….. ………………………………………………………………………………………………….. ………………………………………………………………………………………………….. Milyen típusú adatbázisok esetén érvényes az a szabály, hogy a kapcsolatokat idegen kulcsokkal kell képviseltetetni? ………………………………………………………………………………………………….. Milyen jellegő rendszerek adatbázisának tervezésénél kell törekedni a minimális redundanciára? …………………………………………………………………………………………………..
14. feladat A következı ERD és az egyedtípus-szerkezetek összetartoznak. Az elsıdleges kulcsokat aláhúzás jelöli. Feltételezheti, hogy a modell BCNF normálformában van. ÁFATÉTEL (Áfatételsorszám, Tételsorszám-alap, Tételsorszám-adó, ………………………., Áfakulcskód, Teljesítésdátum, Áfaalapösszeg, Bevallássorszám) A Tételsorszám-alap és a Tételsorszám-adó szerepnevei a Tételsorszámnak (az Áfatételsorszámra ez nem igaz). ÁFAALÁBONTÁS (Áfatételsorszám + Szempontkód, Bontott alaprész) ÁFABEVALLÁS (Bevallássorszám, Fordulónap, Készítésdátum, Készítıkód, Megjegyzés) A Készítıkód szerepneve a Törzsszámnak. PARTNER (Partnerkód, Partnernév, Székhelycímkód, Postacímkód, Telefonkód) A Székhelycímkód, a Postacímkód és a Telefonkód szerepnevei a Címkódnak. PARTNERSZÁMLA (Partnerszámlasorszám, Partnerkód, Partnerszámlaérvkezd, Partnerszámlaérvvége, Bankszámlatípus, Bankszámlaszám) ELÉRHETİSÉG (Címkód, Címtípus, Címszöveg) ALKALMAZOTT(Törzsszám, Alkalmazottnév, Beosztás) SZÁMLATÜKÖR (Számlatükörkód, Számlaérvkezd, Számlaérvvége, Fıkviszámla, Számlanév, Számlatípuskód) FORGALOMTÉTEL (Tételsorszám, Idıszakkód, Számlatükörkód, Számlaoldal, Összeg, Bizonylatkód) FOLYÓSZÁMLA (Folyószámlakód, Partnerkód, Fizetési határidı, Bizonylatkód.) FOLYÓSZÁMLATÉTEL (Folyószámlakód + Tételsorszám, Elıjelesösszeg) ÁFAKULCS (Áfakulcskód, Áfakulcsérvkezd, Áfakulcsérvvége, Áfamérték, Áfakulcsmegnevezés) ÁFATÍPUS (Áfatípuskód, Áfatípusérvkezd, Áfatípusérvvége, Áfatípusnév)
26
INFORMATIKUS SZAKMAI ISMERETEK
SPECIÁLIS SZÁMLA (Számlatükörkód + Specialitásérvkezd, Specialitásérvvége, Specialitásjelzı)
14.1 Az adott egyedtípus-szerkezetek alapján pótolja az egyedtípusok nevét az ERD-ben, valamint az utóbbi alapján a hiányzó idegen kulcs nevét az ÁFATÉTEL egyedtípus szerkezetében. 14.2 A feladatban adott modell alapján határozza meg, hogy az alább jelölt függések közül a következı állítások melyike igaz: • A függés fennáll, de nem közvetlen. (F) • A függés fennáll és közvetlen. (K) • A függés nem áll fenn. (N) F K N 1. Folyószámlakód + Tételsorszám Számlanév X 2. Partnerszámlasorszám Folyószámlakód X 3. Áfatételsorszám Alkalmazottnév X 4. Folyószámlakód + Tételsorszám Partnerszámlasorszám X 5. Partnerszámlasorszám Folyószámlakód + Tételsorszám X 6. Áfatételsorszám Áfatípuskód X
ADATSZERVEZÉS, ADATELÉRÉS, ADATBÁZISKEZELİ RENDSZEREK
27
15. feladat Dolgozza ki egy olyan adatbázis adatmodelljét, amely társaságok jegyzett tıkéjének nyilvántartására szolgál (tulajdonosonkénti megbontásban, történetileg alapítástól megszőnésig, csak névértékben). – Akár a jegyzett tıke változását, akár a tulajdonosi összetétel vagy tulajdonosi részarány változását új társasági szerzıdés rögzíti. Azonos (természetes vagy jogi személy) több társaságban lehet tulajdonos akár egyidejőleg is. Egyes társaságok tulajdonosai között lehetnek más társaságok is. Emiatt a modell fejezze ki, hogy a tulajdonos társaság melyik tulajdonos egyeddel azonos. A modell szerinti adatbázis alkalmas legyen a következı kérdések megválaszolására: 1. Adott nevő tulajdonos adott nevő társaságnak mely szerzıdések szerint (volt) tulajdonosa? 2. Adott nevő tulajdonos adott idıpontban mely társaságoknak (volt) a tulajdonosa? 3. Adott nevő társaságnak adott idıpontban kik (voltak) a tulajdonosai? Adja meg az egyedtípusok szerkezetét, és ERD-vel adja meg a köztük lévı kapcsolatokat!
28
INFORMATIKUS SZAKMAI ISMERETEK
Feladatok a 3. fejezethez 1. feladat Az alfeladatokat a következı táblaszerkezetek figyelembe vételével oldja meg! A kövéren szedett attribútumnevek az elsıdleges kulcsot (vagy annak részeit) jelölik. BERMOZGAS_TART_KOV (Mozgaskod + Szamlahoz_kezdete, Szamlahoz_vege, T_szamla_szama, K_szamla_szama) Ezen tábla adott sora azt mutatja, hogy adott mozgáskódú bértételeket a Szamlahoz_kezdete és a Szamlahoz_vege dátumokkal meghatározott idıintervallumban milyen tartozik, illetve követel fıkönyvi számlaszámokra kell könyvelni. Ha a mozgáskód és a fıkönyvi számlaszámok összerendelése érvényességének vége még ismeretlen (még nem járt le), akkor a Szamlahoz_vege egy nagyon távoli idıpont (4000. jan. 1.) dátumát tartalmazza. BERBOL_ELVONAS (Mozgaskod_alap + Mozgaskod_elvonas + Kapcsolat_kezdete, Kapcsolat_vege, Elvonas_tipus) Ezen tábla adott sora azt mutatja, hogy a Mozgaskod_alap-pal adott mozgáskódú járandóságtételbıl számítandó egy Mozgaskod_elvonas-sal adott mozgáskódú elvonás. E kapcsolat a Kapcsolat_kezdete és a Kapcsolat_vege dátumokkal meghatározott idıintervallumban érvényes. Ha a kapcsolat érvényességének vége még ismeretlen (még nem járt le), akkor a Kapcsolat_vege egy nagyon távoli idıpont (4000. jan. 1.) dátumát tartalmazza. BER_ELSZ_TETEL (Tetelsorszam, Alkalmazaskod, Teljesitesdatum, Mozgaskod, Osszeg, Feladaskod) Ezen tábla sorai bér- vagy elvonásösszegeket tartalmaznak, adott sor összegét olyan tartozik, illetve követel fıkönyvi számlapárra (T_szamla_szama, K_szamla_szama) kell könyvelni, amelyet a BERMOZGAS_TART_KOV soraiban adottak közül a Mozgaskod és a Teljesitesdatum alapján lehet kiválasztani. (Az utóbbira a mozgáskód és a fıkönyvi számlaszámok aktuális bértételre érvényes összerendelésének meghatározása céljából van szükség.) – A még nem könyvelt (nem feladott) bértételekben a Feladaskod üres (Null értékő). FELADASTETEL (T_szamla_szama + K_szamla_szama + Feladaskod, Feladott_osszeg) A tábla egy-egy sorában álló Feladott_osszeg az adott feladás által érintett bértételek közül az összes olyanból győjtıdik, amelyeket éppen a T_szamla_szama, K_szamla_szama fıkönyvi számlapárra kell könyvelni. (Tehát egy feladástétel általában több bértétel összegzésével áll elı.) FELADAS(Feladaskod, Fordulonap) Ezen tábla egyetlen sort tartalmaz, ami az aktuálisan végrehajtandó bérfeladásra vonatkozó feladáskódot és a fordulónap dátumát tartalmazza.
1.1 Írjon olyan SQL parancsot, amely a BER_ELSZ_TETEL tábla mindazon – járandóságot tartalmazó – sorairól, amelyeket elvonással kell terhelni a BERBOL_ELVONAS táblában tárolt sorok szerint, az alábbi kétoszlopos sorokat listázza ki! Tételsorszám
Milyen (mozgáskódú) elvonás terheli
ADATBÁZIS DEFINIÁLÁSA ÉS KEZELÉSE
29
(Ha egy adott Tetelsorszammal azonosított sorban álló összeget többféle elvonás is terhel, akkor arról több sornak kell megjelenni a kimeneti listán.) ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ 1.2 Egészítse ki a következı SQL parancsot úgy, hogy a parancs új bérfeladás-sorokat hozzon létre a FELADASTETEL táblában! A feladássorok azokból a BER_ELSZ_TETEL sorokból készülhetnek, amelyekben a Feladaskod még üres, és a Teljesitesdatum nem haladja meg a Fordulonapot. A Feladaskodot a FELADAS táblából kell venni. INSERT INTO FELADASTETEL (T_szamla_szama, K_szamla_szama, Feladaskod, Feladott_osszeg) SELECT _______________________________________________________ ______________________________________________________________ ______________________________________________________________ FROM BER_ELSZ_TETEL BT, BERMOZGAS_TART_KOV TK, FELADAS F WHERE BT.Feladaskod __________________________________________ AND Teljesitesdatum __________________________________________ AND TK.Mozgaskod _____________________________________________ AND TK.Szamlahoz_kezdete _____________________________________ AND __________________________________________________________ GROUP BY _____________________________________________________ 1.3 Egészítse ki a következı SQL parancsot úgy, hogy a parancs mindazon BER_ELSZ_TETEL sorokba beírja a FELADAS táblából vett Feladaskod értéket, amelyekbıl az elızı alfeladat szerinti feladástételek készültek; azaz amelyekben a Feladaskod még üres, és a Teljesitesdatum nem haladja meg a Fordulonapot! __________________ BER_ELSZ_TETEL BT SET Feladaskod = (SELECT _____________________________________ FROM FELADAS F WHERE ______________________________________ AND
_____________________________________)
30
INFORMATIKUS SZAKMAI ISMERETEK
2. feladat Az alfeladatok megoldásához az alábbi szerkezető egyedtípusokat (táblákat) kell felhasználni. SZÁMLATÜKÖR (Számlatükörkód, Fkvi_számlaszám, Szla_érvkezd, Szla_érvvége, Számlanév, Számlatípuskód, Gyüjtıszint) FKVISZLA_FORGALOM (Tételsorszám, Idıszakkód, Számlatükörkód, Számlaoldal, Összeg, Bizonylatkód) BIZONYLAT (Bizonylatkód, Tranzakció_megnevezés, Könyvelésdátum, Bizonylatszám) SZÁMLAOLDAL_ELİJEL (Számlatípuskód + Számlaoldal, Elıjel) Megjegyzés: Az Elıjel értékei 1 és –1. GYŐJTİLEÍRÓ (Győjtıszámla_kód + Alszámla_kód + Gyüjtıhöz_érvkezd, Gyüjtıhöz_érvvége) Megjegyzés: A Győjtıszámla_kód és az Alszámla_kód szerepnevei a Számlatükörkódnak. A Gyüjtıhöz_érvvége üres is lehet.
2.1 Pótolja az alábbi CREATE VIEW parancs hiányzó részeit úgy, hogy az eredménye tartalmazza a megfelelı Könyvelésdátum és Fkvi_számlaszám oszlopokat is, továbbá a Számlaoldal és az Összeg helyett a megfelelı elıjellel ellátott Elıjeles_összeg álljon benne. A megfelelı elıjelet a SZÁMLAOLDAL_ELİJEL tartalma alapján lehet megállapítani. CREATE VIEW Kiegészített_elıjeles_forgalom (Tételsorszám, Idıszakkód, Számlatükörkód, Elıjeles_összeg, Bizonylatkód, Könyvelésdátum, Fkvi_számlaszám) AS SELECT Tételsorszám, Idıszakkód, Számlatükörkód, __________________, F.Bizonylatkód, Könyvelésdátum, Fkvi_számlaszám) FROM FKVISZLA_FORGALOM F, SZÁMLATÜKÖR S, BIZONYLAT B, ______________________________ E WHERE S.________________________ = F._________________________ AND
E.________________________ = S._________________________
AND
E.________________________ = F._________________________
AND
B.________________________ = F._________________________
2.2 Az elızı alfeladatban adott Kiegészített_elıjeles_forgalom view felhasználásával írja meg a számlaosztály-egyenlegek lekérdezését egy adott (mérleg)idıszakra vonatkozóan (Idıszakkód = Adott_idıszak). Kimenet: Számlaosztály Egyenleg SELECT ______________________________ AS Számlaosztály, ______________________________ AS Egyenleg FROM
__________________________________________
WHERE
__________________________________________
_________________________________________________
ADATBÁZIS DEFINIÁLÁSA ÉS KEZELÉSE
31
2.3 Pótolja az alábbi SELECT parancs hiányzó részeit úgy, hogy annak eredménye a győjtıszámlák egyenlegeinek egy adott (mérleg)idıszakra vonatkozó (Idıszakkód = Adott_idıszak) listája legyen! A lekérdezés a 2.1 alfeladatban adott Kiegészített_elıjeles_forgalom view felhasználásával történjen! A győjtési szabályokat (adott érvényességi intervallummal melyik győjtıszámlára mely alszámlákról kell egyenlegezni) a GYŐJTİLEÍRÓ tartalmazza. Adott Kiegészített_elıjeles_forgalom-sorra olyan szabálysorok érvényesek, amelyek Könyvelésdátuma a szabály érvényességi intervallumába esik. Kimenet: Győjtıszámla száma
Egyenleg
SELECT ______________________________ AS [Győjtıszámla száma], ______________________________ AS Egyenleg FROM
GYŐJTİLEÍRÓ G, __________________________________ F, _________________________________ S
WHERE
F.Idıszakkód = Adott_idıszakód
AND
S.________________________ = G.________________________
AND
F.________________________ = G.________________________
AND
Győjtıhöz_érvkezd <= F.____________________________
AND
( F.__________________________ <= Győjtıhöz_érvvége OR _____________________________________________ )
______________________________________________________________ 2.4 Hol és hogyan változik az elızı alfeladat megoldása, ha a Gyüjtıhöz_érvvége mindig ki van töltve úgy, hogy azon (érvényes) sorokban, amelyeknél az érvényesség vége még nem ismert, nagyon nagy dátumot (pl. 4000.12.31.) tartalmaz? ______________________________________________________________ ______________________________________________________________ 3. feladat Az alfeladatok megoldásához szükséges egyedtípusok (táblák) szerkezete: BIZONYLAT (BizonylatKód, BizonylatSzám, TranzakcióNév, TranzakcióDátum) SZÁMLATÜKÖR (SzlaTükKód, FkviSzlaSzám, SzlaÉrvKezd, SzlaÉrvVége, SzlaNév, SzlaTipusKód) ESZKÖZTÍPUS (EszközTipKód, EszközTipNév) Értelmezés: Az eszköztípus alatt olyan kategóriákat kell érteni, mint immateriális javak; ingatlanok; jármővek; gépek, berendezések, felszerelések; tenyészállatok. ESZKÖZ (EszközKód, EszközNév, EszközTipKód,ElsıAktiválásDátum) Értelmezés: Konkrét eszközök nyilvántartása.
32
INFORMATIKUS SZAKMAI ISMERETEK
ESZKÖZMOZGÁSNEM (EszközMozgásKód,EszközMozgásNév, EllenSzlaTükKód, MozgásVezérlı) Értelmezés: Az EllenSzlaTükKód (a SzlaTükKód szerepneve) lehet üres is. A MozgásVezérlı egy összetett kód, amely azt vezérli, hogy a mozgás mit változtat (bruttó értéket, terv szerinti értékcsökkenést vagy terven felüli értékcsökkenést) és milyen irányban (növeli vagy csökkenti). Tehát a MozgásVezérlı határozza meg, hogy a mozgás az EllenSzlaTükKód-dal mutatott ellenszámla mellett melyik eszközszámlát érinti, és azt melyik (T vagy K) oldalán. A lehetséges MozgásVezérlı értékei: 1. Aktiválás 2. Terv szerinti értékcsökkenés, 3. Terven felüli visszaírása, 4. Kivezetés – bruttó érték, 5. Kivezetés – terv szerinti értékcsökkenés, 6. Kivezetés – terven felüli értékcsökkenés . LEÍRÁS (ÉrtCsökKód, Alap, Képlet, TörvényJelzı) Értelmezés: Eszközöktıl független leírási szabályok nyilvántartása. Alap: pl. B: bruttó érték; N: nettó érték; A: nincs számítás, a leírás-összeget a felhasználó közvetlenül adja meg; X: nincs számítás (0 leírás). Képlet: Számítási képlet. Üres is lehet. TörvényJelzı: A számviteli törvény vagy az adótörvény szerinti számítás. ESZKÖZLEÍRÁS (EszközKód + LeírásÉrvKezd, LeírásÉrvVége, ÉrtCsökKód, MaradványÉrték, EszközMozgásKód) Értelmezés: Az EszközKóddal adott konkrét eszközre LeírásÉrvKezd érvényességgel alkalmazható leírási szabályok nyilvántartása. ÉrtCsökKód: A leírási szabály azonosítója. MaradványÉrték: A leírást számító képlet egyik bemenete (ha LEÍRÁS.Alap értéke B vagy N). EszközMozgásKód: A terv szerinti értékcsökkenés mozgásnem azonosítója. ESZKÖZMOZGÁS (TételSorszám, IdıszakKód, BizonylatKód, EszközKód, EszközMozgásKód, Összeg, FeladásKód) Értelmezés: Ebben a táblában vannak a tényleges értékmozgások. A FeladásKód csak a mozgás feladásakor töltıdik ki.
3.1 SQL-ben írja meg azt a lekérdezést, amelynek a kimenetét az ESZKÖZMOZGÁSNEM sorai képezik azzal a változtatással, hogy bennük az EllenSzlaTükKód helyett EllenSzlaSzám álljon, amely a megfelelı FkviSzlaSzám értéket tartalmazza!
………………………………………………………………………………………………….. ………………………………………………………………………………………………….. ………………………………………………………………………………………………….. ………………………………………………………………………………………………….. ………………………………………………………………………………………………….. 3.2 Egészítse ki a következı lekérdezı parancsot úgy, hogy a lekérdezés meghatározza az eszközök (elsı) aktiváláskor megállapított bruttó értékét! Kimenete! Eszköz kódja
Aktiválás dátuma
Bruttó érték
SELECT _______________________ AS [Eszköz kódja],
33
ADATBÁZIS DEFINIÁLÁSA ÉS KEZELÉSE
WHERE
ElsıAktiválásDátum AS [Aktiválás dátuma], _______________________ AS [Bruttó érték] ESZKÖZ E, BIZONYLAT B, __________________________ X, ESZKÖZMOZGÁSNEM EMN _______________________ = ElsıAktiválásDátum
AND
_______________________ = B.Bizonylatkód
AND
_______________________ = E.EszközKód
AND
_______________________ = X.EszközMozgásKód
AND
_________________________________________________
FROM
3.3 Egészítse ki a következı lekérdezı parancsot úgy, hogy annak kimenetét azok az eszközök képezzék, amelyekre az AdottDátum-mal jelzett idıpontban automatikus számítást elıíró leírási szabály érvényes. A kimenet a következı oszlopokat tartalmazza! EszközKód
EszközNév
Alap
Képlet
SELECT E.EszközKód, EszközNév, Alap, Képlet FROM ESZKÖZ E, ESZKÖZLEÍRÁS EL, ___________________ X WHERE EL.EszközKód = E.EszközKód AND _________________________ AdottDátum AND
(_________________________ AdottDátum ____________________________________)
AND
X.ÉrtCsökKód _______________________
AND
____________________________________
3.4 Kérdezze le az olyan eszköztípusokat, amelyekbıl nem létezik eszköz a cégnél! 4. feladat E feladat alfeladatait az alábbi egyedtípusok figyelembe vételével oldják meg! BIZONYLAT (BizonylatKód, BizonylatSzám, TranzakcióNév, TranzakcióDátum) SZÁMLATÜKÖR (SzlaTükKód, FkviSzlaSzám, SzlaÉrvKezd, SzlaÉrvVége, SzlaNév, SzlaTipusKód) CIKK (CikkSzám, CikkNév, VámTfaSzám, AlapMértEgys)
Értelmezés: Az AlapMértEgys szerepneve MértEgysnek. KÉSZLETTÍPUS (KészlTipKód, KészlTipNév)
Értelmezés: Lehetséges készlettípusok: anyag, áru, befejezetlen termelés, félkész termék, késztermék. KÉSZLETMOZGÁSNEM (KészlMozgásKód, KészlMozgásNév, Irány, Mennyiségi, Értéki)
Értelmezés: Az Irány értékei: Növelı vagy Csökkentı. A Mennyiségi és az Értéki attribútumok Igaz/Hamis értékőek lehetnek. Ezek jelzik, hogy az adott készletmozgásnem mennyiségi mozgás, értékbeni mozgás vagy egyszerre mindkettı (Pl.
34
INFORMATIKUS SZAKMAI ISMERETEK csak mennyiségi mozgás a raktárközi átadás; csak értékbeni mozgás az értékhelyesbítés.)
KÉSZLETMOZGÁS-SZÁMLA (MszSzabályKód, KészlMozgásKód, KészlTipKód, MSzÉrvKezd, MSzÉrvVége, EllenSzlaTükKód)
Értelmezés: Az EllenSzlaTükKód attribútum a készletszámla ellenszámláját határozza meg a KészlMozgásKóddal meghatározott mozgásnem és a KészlTipKóddal meghatározott készlettípus mellett. Ha a KészlTipKód attribútum üres, akkor az adott KészlMozgásKóddal azonosított mozgásnem mellett minden készlettípusra azonos szabály szerint adódik az ellenszámla. FIFO-ÉRTÉKELÉS (FiFoSzabályKód, CikkSzám, KészlTipKód, FiFoÉrvKezd, FiFoÉrvVége)
Értelmezés: Ebben a táblában csak olyan cikkek készlettípusaira vonatkozó sorok szerepelnek, amelyekre adott érvényességgel FIFO értékelést alkalmaznak. Ha a KészlTipKód attribútum üres, akkor az adott CikkSzámmal azonosított cikk minden készlettípusára FIFO értékelés vonatkozik az adott érvényességgel. (Tehát egy ilyen sor itt is egy sorhalmazt helyettesít, amelyet úgy kapunk, hogy az adott CikkSzám mellé felvesszük az összes lehetséges KészlTipKód értéket.) Feltételezzük, hogy azokra a cikk-készlettípus párokra, amelyek adott érvényességgel nem szerepelnek a FIFO-ÉRTÉKELÉS táblában, idıszaki átlagáras értékelés vonatkozik. KÉSZLETMOZGÁS (TételSorszám, IdıszakKód, BizonylatKód, CikkSzám, KészlTipKód, KészlMozgásKód)
Értelmezés: Ebben a táblában készletmozgás olyan adatai állnak, amelyek attól függetlenül értelmezhetık, hogy a mozgás csak mennyiségben vagy csak értékben vagy mindkét módon könyvelıdik. KÉSZLET-ÉRTÉKVÁLTOZÁS (ÉrtékTételSorszám, Összeg, EgységÁrJelzı, FeladásKód)
Értelmezés: Ebben a táblában készletmozgás értékben könyvelése miatti kiegészítı adatok állnak. Az ÉrtékTételSorszám szerepneve TételSorszámnak. Az EgységÁrJelzı csak FIFO értékelési mód esetén van kitöltve, és az adott tételre vonatkozó egységárat azonosítja. 4.1 SQL-ben írja meg azt a lekérdezést, amelynek a kimenetét a KÉSZLETMOZGÁS-SZÁMLA sorai képezik azzal a változtatással, hogy bennük, az EllenSzlaTükKód helyett a megfelelı FkviSzlaSzám álljon! ………………………………………………………………………………………………….. ………………………………………………………………………………………………….. ………………………………………………………………………………………………….. ………………………………………………………………………………………………….. ………………………………………………………………………………………………….. 4.2 Egészítse ki a következı lekérdezı parancsot úgy, hogy annak kimenetét az AdottDátummal jelzett idıpontban NEM FIFO-értékeléső cikk-készlettípus párok képezzék. A kimenet a következı két oszlopot tartalmazza! CikkSzám
KészlTipKód
ADATBÁZIS DEFINIÁLÁSA ÉS KEZELÉSE
35
SELECT ___________________________ FROM CIKK AS C, KÉSZLETTÍPUS AS K WHERE _____________ (SELECT * FROM ___________________ AS X WHERE X.____________ = C.____________ AND (X.____________ = K.____________ OR X._________________________) AND _________________ <= AdottDátum AND (AdottDátum <= _________________ OR ___________________________) 4.3 Egészítse ki a következı lekérdezı parancsot úgy, hogy annak kimenetét a KÉSZLETÉRTÉKVÁLTOZÁS sorokból képzett azon fıkönyvi forgalomtételek képezzék, amelyek a készletszámla megfelelı ellenszámlájának „tartozik” oldalát érintik. Használja ki, hogy ilyen forgalomtételek azokból a KÉSZLET-ÉRTÉKVÁLTOZÁS sorokból képzıdnek, amelyeknek KÉSZLETMOZGÁS-sorát ’Csökkentı’ irányú készletmozgásnem jellemzi. A kimenı forgalomtételek következı oszlopait kell megmutatni: ÉrtékTételSorszám (a KÉSZLET-ÉRTÉKVÁLTOZÁS sorból), FeladásKód (a KÉSZLET-ÉRTÉKVÁLTOZÁS sorból), EllenSzlaTükKód (a megfelelı ellenszámlára mutató kód), ’T’ (a tartozik oldalt jelölı konstans), Összeg (a KÉSZLET-ÉRTÉKVÁLTOZÁS sorból). SELECT ÉrtékTételSorszám, Feladáskód, EllenSzlaTükKód, ’T’, Összeg FROM KÉSZLETMOZGAS KM, [KÉSZLET-ÉRTÉKVÁLTOZÁS] KÉ, KÉSZLETMOZGÁSNEM KMN, ____________________________ X, BIZONYLAT B WHERE TételSorszám = _____________________________ AND KMN.KészlMozgasKód = _______________________ AND ____________________________________ AND X.KészlMozgasKód = _____________________ AND..(X.KészlTipKód = ________________________ OR ________________________________) AND B.BizonylatKód = _______________________ AND _______________ <= TranzakcióDátum AND (TranzakcióDátum <= _____________________ OR ________________________________) 5. feladat Az alfeladatok megoldásához a következı három egyedtípust (táblát) kell figyelembe venni. Ezek szerkezetében a kövéren szedett nevek az elsıdleges kulcsot jelzi. DEVIZASZAMLA (Szamlaszam, Szamlatulajdonos_szam, Devizajel, Lekot_idotartam) KAMATLAB (Devizajel+Lekot_idotartam+Kamatvalt_datum, Kamatlab)
36
INFORMATIKUS SZAKMAI ISMERETEK
SZAMLAMOZGAS (Szamlamozgasszam, Szamlaszam, Mozgaskod, Mozgas_datum, Mozgasosszeg, Egyenleg, Lekotéskor_kamatlab, Lekotes_vege, Parja_szamlamozgasszam) A Lekoteskor_kamatláb szerepneve a Kamatlabnak. A Parja-szamlamozgasszam szerepneve a Szamlamozgasszamnak. A Parja-szamlamozgasszam csak a Mozgáskód=6 esetben van kitöltve. Megjegyzés: A három táblaszerkezet egy bank devizaszámla nyilvántartó adatbázisának definíciójából lett kiemelve. Átvezetés esetén két számlamozgássornak kell keletkezni. Az egyik az átvezetés számláról (Mozgáskód=5) , a másik az átvezetés számlára (Mozgáskód=6). Ilyenkor a 6-os mozgáskódú számlamozgás a Parja_szamlamozgasszam oszlopban hivatkozást tartalmaz az 5ös mozgáskódú párjára (fordított irányú hivatkozás nincs.)
5.1 SQL paranccsal kérdezze le minden számla utolsó egyenlegét! Kimenet Szamlaszam
Egyenleg
______________________________________________________________ ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ 5.2 Egészítse ki az alábbi SQL parancsot! Ezzel egy olyan Felevnel_nagyobb_lekotes nevő viewt kell készíteni, ami azt tartalmazza, hogy 2003.10.27-én az egyes devizákból összesen mekkora olyan összbetét volt a banknál, amelynek a lekötési idıtartama 2004.04.26. után jár le. Kimenet: Devizajel Osszbetet Azonos devizanemre több olyan számla lehet egyidejőleg (akár azonos számlatulajdonosnak is), amely megfelel a Lekotes_vege és a Mozgas_datum jellemzıkre adott fenti feltételnek; az összbetétet ezen számlák egyenlegeibıl kell összegezni. CREATE VIEW Felevnel_nagyobb_lekotes (Devizajel, Osszbetet) AS SELECT _______________________________________________________ FROM _________________________________________________________ WHERE ________________________________________________________ AND
________________________________________________________
AND
________________________________________________________
______________________________________________________________
ADATBÁZIS DEFINIÁLÁSA ÉS KEZELÉSE
37
5.3 Egészítse ki az alábbi SQL parancsot. Ezzel azon SZAMLAMOZGAS sorokat kell megjeleníteni, melyek az átvezetéssel kapcsolatos kétféle mozgás valamelyikét rögzítik, és nincs megfelelı párjuk a következı értelemben: A 6-os mozgáskódú számlamozgásnak nem létezik a hivatkozott 5-ös mozgáskódú párja. Az 5-ös mozgáskódú számlamozgáshoz nem létezik ráhivatkozó 6-os mozgáskódú számlamozgás. Vagy létezik a hivatkozott pár, de ne azonos Mozgasosszeget tartalmaz. SELECT * FROM SZAMLAMOZGAS A WHERE MOZGASKOD = 5 AND NOT EXISTS (SELECT * FROM SZAMLAMOZGAS B WHERE ________________________________________ ________________________________________ AND
________________________________________
AND _______________________________________) OR MOZGASKOD = __________________________________________________ AND NOT EXISTS (SELECT * FROM SZAMLAMOZGAS B WHERE ________________________________________ ________________________________________ AND
________________________________________
AND
_______________________________________)
5.4 Egészítse ki a következı SQL parancsot. Ezzel azon SZAMLAMOZGAS sorokat kell megjeleníteni, melyekben a Lekoteskor_kamatlab oszlop tartalma ellentmond a KAMATLAB tábla tartalmának. Szabályosan teljesülni kell, hogy Lekoteskor_kamatlab = Kamatlab, ahol az utóbbi a KAMATLAB tábla azon sorából van véve, melyben Devizajel azonos a mozgással érintett devizaszámlában hivatkozott Devizajel értékkel; Lekot_idotartam azonos a mozgással érintett devizaszámlában hivatkozott Lekot_idotartam értékkel; Kamatvalt_datum az elıbbi két feltételt teljesítı KAMATLAB sorokból a maximális olyan értéket tartalmazza, melyre Kamatvalt_datum <= Mozgas_datum. Ellentmondás akkor áll fenn, ha fenti szabály nem teljesül. SELECT * FROM SZAMLAMOZGAS M WHERE Lekoteskor_kamatlab != ( SELECT __________________________________________________ FROM KAMATLAB K1, DEVIZASZAMLA D WHERE ___________________________________________________
38
INFORMATIKUS SZAKMAI ISMERETEK AND
___________________________________________________
AND
___________________________________________________
AND
Kamatvalt_datum =
( SELECT ______________________________________________ FROM KAMATLAB K2 WHERE K2.Devizajel=__________________________________ AND
K2.Lekot_idotartam = __________________________
AND
_______________________________________________
) ) 6. feladat A következı alfeladatok az alábbi CREATE TABLE parancsokkal definiált Termek, Anyagkeszlet és Anyagnorma táblákra vonatkoznak. CREATE TABLE Termek ( Termekkod INTEGER PRIMARY KEY, Termeknev VARCHAR(30) NOT NULL ); CREATE TABLE Anyagkeszlet ( Raktarkod INTEGER NOT NULL REFERENCES Raktar, Anyagkod INTEGER NOT NULL REFERENCES Anyag, Mennyiseg NUMBER NOT NULL, CONSTRAINT Anyagkeszlet_kulcs PRIMARY KEY (Raktarkod, Anyagkod) ); CREATE TABLE Anyagnorma ( Termekkod INTEGER NOT NULL REFERENCES Termek, Anyagkod INTEGER NOT NULL REFERENCES Anyag, Fajlagos_igeny NUMBER NOT NULL, CONSTRAINT Anyagnorma_kulcs PRIMARY KEY (Termekkod, Anyagkod) );
6.1 Létre kell hozni egy olyan view-t, ami azt mutatja, hogy a ”Tengeri herkentyő” nevő termék gyártásához szükséges anyagokból külön-külön összesen mekkora készlet áll rendelkezésre! A view oszlopai: Anyagkod
Osszes_keszlet
Pótolja a view létrehozását kezdeményezı, alábbi SQL parancs hiányzó részeit! CREATE VIEW Thanyagaiból_keszlet (____________________, _____________________________) AS SELECT _______________________, ________________________ FROM Termek AS T, ___________________________, Keszlet AS K WHERE _______________________________ = ’Tengeri herkentyő’ AND
_____________________________________________________
AND
_______________________________ = A.Anyagkod
_______________________________________________
ADATBÁZIS DEFINIÁLÁSA ÉS KEZELÉSE
39
6.2 Az elızı alfeladatban létrehozott view nem tartalmaz sorokat a Tengeri herkentyő azon anyagairól, amelyekbıl egyáltalán nincs készlet(sor). Ezért most készítsen egy olyan view-t is, ami a Tengeri herkentyő azon anyagait sorolja fel, amelyekbıl egyáltalán nincs készlet. Tehát a view-nak egyetlen oszlopa van az Anyagkod. Pótolja a view létrehozását kezdeményezı, alábbi SQL parancs hiányzó részeit! CREATE VIEW Thanyagai_keszlet_nelkul (_____________________________) AS SELECT ___________________________________ FROM TERMÉK AS T, ANYAGNORMA AS A WHERE __________________________________________________ AND
A.Termékkód = ____________________________________
AND
__________________ NOT IN (SELECT ________________ FROM __________________)
6.3 Az elızı két alfeladatban létrehozott view-k felhasználásával határozza meg, legfeljebb milyen mennyiség gyártható le a Tengeri herkentyőbıl a rendelkezésre álló anyagkészlet alapján. Kimenet Gyártható mennyiség A Tengeri herkentyőbıl a szők keresztmetszet által meghatározott, maximálisan legyártható mennyiség Vegye figyelembe, hogy ha a Tengeri herkentyő valamely anyaga szerepel a Thanyagai_keszlet_nelkul view-ban, akkor a gyártható mennyiség 0, ellenkezıleg a Tengeri herkentyő minden anyagára számítani kell az Osszes_keszlet/Fajlagos_igeny hányadost, és ezen hányadosok minimuma a Tengeri herkentyőbıl gyártható mennyiség. Pótolja a lekérdezést kezdeményezı, alábbi SQL parancs hiányzó részeit! SELECT MIN(__________________________________________________) AS [Gyártható mennyiség] FROM ________________________ AS A, Thanyagaibol_keszlet AS V WHERE A.Anyagkód = ___________________________ AND NOT EXISTS (SELECT _______________________ FROM ________________________________________) UNION SELECT DISTINCT ___________________ AS [Gyártható mennyiség] FROM Thanyagai_keszlet_nelkul 7. feladat Egy, a mőködı KFT-ket nyilvántartó adatbázis négy táblája az alábbi szerkezettel rendelkezik. A vastagon szedett betők az elsıdleges kulcsokat jelzik. TULAJDONOS (Tul_kod, Tul_nev, Tul_tipus) Tul_tipus: ’T’=természetes személy; ’S’=szervezet.
40
INFORMATIKUS SZAKMAI ISMERETEK
KFT (KFT_kod, KFT_nev, KFT_szekhely, Azonos_tul_kod) Azonos_tul_kod: Ha a kft tulajdonos valamelyik másik kft-ben, akkor a vele azonos (’S’ típusú) tulajdonos azonosítója. T_SZERZODES (Szerz_kod, Szerz_datum, KFT_kod, Jegyzett_toke) Jegyzett_toke: a KFT_koddal adott kft jegyzett tıkéje a Szerz_koddal adott társasági szerzıdés szerint. RESZARANY (Szerz_kod + Tul_kod, Szazalek) Szazalek: A Tul_koddal adott tulajdonos részaránya a Szerz_koddal adott szerzıdés szerinti jegyzett tıkében. 7.1 Pótolja az alábbi SELECT parancs hiányzó részeit, ha a parancs segítségével azt kell megállapítani, hogy a ’MAF & FIA’nevő kft-nek mekkora a jegyzett tıkéje az legutolsó állapot szerint? Kimenet: Legutolsó szerzıdés dátuma Jegyzett tıke
SELECT ___________________ AS [Legutolsó szerzıdés dátuma], Jegyzett_toke AS [Jegyzett tıke] FROM
__________________________ S1, KFT
WHERE
S1._________________ = _________________________
AND
________________________________________________
AND
________________ = (SELECT ___________________________ FROM
___________________________
WHERE
___________________________)
7.2 Milyen elıkészítéssel lehet megkönnyíteni a 7.1 alfeladat megoldását? ………………………………………………………………………………………………….. ………………………………………………………………………………………………….. Az elıkészítés a megoldás megkönnyítésén túl rövidíti-e a válaszidıt is? Miért? ………………………………………………………………………………………………….. ………………………………………………………………………………………………….. 7.3 A ’MAF & FIA’ nevő kft az alapításától mostanig mely más kft-knek volt tulajdonosa és mikori szerzıdés szerint. Kimenet: KFT kód
KFT név
Dátum
SELECT S.KFT_kod AS [KFT kód], ____________________ AS [KFT név], ____________________ AS [Dátum],
Részarány (%)
41
ADATBÁZIS DEFINIÁLÁSA ÉS KEZELÉSE ____________________ AS [Részarány (%)] FROM
____________________ K1, ___________________ K2, RESZARANY R, T_SZERZODES S
WHERE
____________________ = ’MAF & FIA’
AND
____________________ = R.Tul_kod
AND
____________________ = _____________________
AND
S.KFT_kod = K2.KFT_kod
7.4 Pótolja az alábbi SELECT parancs hiányzó részeit, ha a parancs segítségével azt kell megállapítani, hogy mekkora a KFT-k jegyzett tıkéje a legutolsó állapot szerint? Kimenet: KFT-kód
KFT-név
Legutolsó szerzıdés dátuma
Jegyzett tıke
SELECT S1.KFT_kod AS [KFT-kód], KFT_nev AS [KFT-név] ___________________ AS [Legutolsó szerzıdés dátuma], Jegyzett_toke AS [Jegyzett tıke] FROM
_______________________ S1, KFT
WHERE
S1._________________ = _________________________
AND
________________ = (SELECT ___________________________ FROM
___________________________
WHERE
___________________________)
7.5 A ’MAF & FIA’ nevő kft-nek az alapításától mostanig mely más kft-k voltak a tulajdonosai és mikori szerzıdés szerint. Kimenet: KFT kód
KFT név
Dátum
Részarány (%)
SELECT K1.KFT_kod AS [KFT kód], ____________________ AS [KFT név], ____________________ AS [Dátum], ____________________ AS [Részarány (%)] FROM
____________________ K1, ___________________ K2, RESZARANY R, T_SZERZODES S
WHERE
____________________ = ’MAF & FIA’
AND
____________________ = R.Tul_kod
AND
____________________ = _____________________
AND
S.KFT_kod = ____________________
42
INFORMATIKUS SZAKMAI ISMERETEK
8. feladat Az alfeladatok az 1. ábrán látható négy táblára támaszkodnak. Az említett adatforrások közötti kapcsolatokat a 2. ábra mutatja.
1. ábra: Négy tábla szerkezete
Táblák értelmezése: TÁRSASÁG:
Társaságokat nyilvántartó tábla.
TÁRSASÁG TÖRTÉNET:
A társaságok alapítását, és minden olyan olyan változását, amely a jegyzett tıkéjüket vagy a tulajdonosi összetételüket (a tulajdonosok tıkerészarányát) illeti egy (új) társasági szerzıdésben kell rögzíteni. A TÁRSASÁG TÖRTÉNET tábla sorai lényegében ezeknek a társasági szerzıdéseknek a regisztrálására szolgálnak.
TULAJDONOS:
A tulajdonosok nyilvántartására szolgáló tábla.
TULAJDONI RÉSZ:
Ennek sorai azt mutatják, hogy adott tulajdonos adott társasági szerzıdés szerint hány százalékban tulajdonosa a társasági szerzıdés tárgyát képezı társaságnak.
Azon mezık (oszlopok) értelmezése, amelyeknek a jelentése nem következtethetı ki egyértelmően a nevükbıl: Egy társasági szerzıdés érvényességének kezdete. Érvkezd:
ADATBÁZIS DEFINIÁLÁSA ÉS KEZELÉSE
43
Érvvége:
Egy társasági szerzıdés érvényességének vége. (A még érvényes sorok érvényességének igazi vége általában ismeretlen. Ilyenkor egy nagyon nagy dátum, 4000.12.31. áll benne.)
Tulajdonostípus:
Lehetséges értékei T vagy J. T: természetes személy, J: jogi személy.
Azonostulajdonos:
A Tulajdonoskód szerepneve. Csak olyan társaságoknál van kitöltve, amelyek azonosak valamely tulajdonossal, és ezeknél a társasággal azonos tulajdonos azonosító kódja áll benne.
2. ábra: A táblák kapcsolatai
8.1 Kérdezze le azokat a tulajdonosokat, amelyek azonosak valamelyik társasággal! Kimenet: a TULAJDONOS minden oszlopa és a megfelelı Társaságkód. Mely táblát vagy táblákat használja a lekérdezés?:
Ha több tábla képezi a lekérdezés adatforrását, akkor a lekérdezés definíciója a táblák között – a 2.ábrán adott – kapcsolatok melyikét tartalmazza, és azt milyen illesztéstípussal – 1/2/3?):
A lekérdezést a 3. ábra szerinti őrlapon adja meg!
44
INFORMATIKUS SZAKMAI ISMERETEK
Mezı: Tábla:
Tulajdonoskód TULAJDONOS
Tulajdonos neve TULAJDONOS
Azonos-kft TULAJDONOS
Rendezés Megjelenítés:
✔
✔
Feltétel:
Is Not Null
vagy:
3. ábra: Őrlap a 8.1 feladathoz
8.2 Kérdezze le azokat a társaságokat, amelyek adott napon tulajdonosai voltak valamelyik másik társaságnak! Az ilyen társaságok minden adata jelenjen meg a kimeneten! – A kérdéses napot az Access a lekérdezés futtatásakor kérdezze meg a felhasználótól. Mely táblát vagy táblákat használja a lekérdezés?:
TÁRSASÁG, TULAJDONI RÉSZ, TÁRSASÁG TÖRTÉNET
A felhasznált táblák – 2. ábrán adott – kapcsolatai közül melyiket kell biztosan törölni a lekérdezés definíciójából? Az elıbbi kapcsolatot miért kell törölni?
A TÁRSASÁG és a TÁRSASÁG TÖRTÉNET tözötti kapcsolatot.
Hogyan rendelkezik arról, hogy egy társaság akkor is csak egyszer jelenjen meg a kimeneten, ha az adott napon több másik társaságnak is tulajdonosa.
Mert az egy olyan feltételt adna a lekérdezés definíciójához, melyet – a többi feltétel egyidejő teljesítése mellett – csak olyan társaságok elégíthetnék ki, amelyek önmaguk tulajdonosai. (Ilyenek pedig nincsenek.) A „Lekérdezés tulajdonságai” ablakban Egyedi értékek: Igen beállítással.
A lekérdezés definícióját a 4. ábra szerinti őrlapon adja meg! Mezı: Tábla:
TÁRSASÁG.* TÁRSASÁG
Érvkezd TÁRSASÁG TÖRTÉNET
Érvvége TÁRSASÁG TÖRTÉNET
x <=[Adott nap]
>=[Adott nap]
Rendezés Megjelenítés: Feltétel:
X
vagy:
4. ábra: Őrlap a 8.2 feladathoz
8.3 Oldja meg a 8.2 feladatot olyan változatban, hogy a szükséges táblák minden kapcsolatát törli a lekérdezés definíciójából! Az 5. ábra szerinti őrlapon adja meg a 8.2-beli megoldás olyan kiegészítését (csak a kiegészítést), amely a kapcsolatok hiányában is mőködik!
ADATBÁZIS DEFINIÁLÁSA ÉS KEZELÉSE
45
Kiegészítés: Mezı: Tábla:
Azonos-tulajdonos TÁRSASÁG
Szerzıdésszám TULAJDONI RÉSZ
[TULAJDONI RÉSZ]. [Tulajdonoskód]
[TÁRSASÁG TÖRTÉNET]. [Szerzıdésszám]
Rendezés Megjelenítés: Feltétel:
vagy:
5. ábra: Őrlap a 8.3 feladathoz
8.4 Tegyük fel, hogy a 8.2 feladat megoldását Adott napon tulajdonos társaságok névvel elmentette. Annak felhasználásával kérdezze le azokat a társaságokat, amelyek adott napon NEM voltak tulajdonosai semelyik másik társaságnak! Az ilyen társaságok minden adata jelenjen meg a kimeneten! Feltételezze, hogy a 6. ábrán adott kapcsolat a lekérdezés definíciójának részét képezi! Melyik illesztési változatot választja a 6. ábrán mutatottak közül?:
6. ábra: Illesztési tulajdonságok beállítása a 8.4 feladathoz
A lekérdezést a 7. ábra szerinti őrlapon adja meg! Mezı: Tábla:
KFT.* KFT
Kft-azonosító Adott napon tulajdonos kft
Rendezés Megjelenítés: Feltétel:
✔
Is Null
vagy:
7. ábra: Őrlap a 8.4 feladathoz
8.5 Kérdezze le, hogy adott napon adott névvel rendelkezı tulajdonos mely társaságoknak volt tulajdonosa! Kimenet: Társaságkód és Társaság neve. – A kérdéses napot és a szóban forgó tulajdonos nevét az Access a lekérdezés futtatásakor kérdezze meg a felhasználótól.
46
INFORMATIKUS SZAKMAI ISMERETEK
Mely táblát vagy táblákat használja a lekérdezés?:
A felhasznált táblák kapcsolatai közül melyiket kell biztosan törölni a lekérdezés definíciójából? Az elıbbi kapcsolatot miért kell törölni?
A lekérdezést a 8.ábra szerinti őrlapon adja meg! Mezı: Tábla:
Társaságkód TÁRSASÁG
Társaság neve TÁRSASÁG
Tulajdonos neve TULAJDONOS
Rendezés Megjelenítés:
✔
✔
Feltétel:
[Adott tulajdonosnév]
vagy:
Folytatás: Mezı: Tábla:
Érvkezd TÁRSASÁG TÖRTÉNET
Érvvége TÁRSASÁG TÖRTÉNET
<=[Adott nap]
>=[Adott nap]
Rendezés Megjelenítés: Feltétel: vagy:
8. ábra: Őrlap a 8.5 feladathoz
9. feladat Az alfeladatokat itt is a 8. feladat 1. ábráján látható négy táblára támaszkodva kell megoldani. Az említett adatforrások közötti kapcsolatokat szintén az ottani 2. ábra mutatja. 9.1 Kérdezze le azokat a tulajdonosokat, amelyek NEM azonosak a TÁRSASÁG táblában nyilvántartott semelyik társasággal! Kimenet: a tulajdonos minden mezıje. (Megjegyzés: Lehet olyan tulajdonos, amely ugyan társaság, de nincs benne a TÁRSASÁG táblában.) Mely táblát vagy táblákat használja a lekérdezés?: Ha több tábla képezi a lekérdezés adatforrását, akkor a lekérdezés definíciója a táblák között – a 2.ábrán adott – kapcsolatok melyikét tartalmazza, és azt milyen illesztéstípussal – 1-es vagy melyik táblából minden sor?):
ADATBÁZIS DEFINIÁLÁSA ÉS KEZELÉSE
47
A lekérdezést a 9. ábra szerinti őrlapon adja meg! Mezı: Tábla:
Tulajdonoskód TULAJDONOS
Tulajdonos neve TULAJDONOS
Azonos-kft TULAJDONOS
Rendezés Megjelenítés:
✔
✔
Feltétel:
Is Not Null
vagy:
9. ábra: Őrlap a 9.1 feladathoz
9.2 Kérdezze le, hogy adott napon kik voltak a tulajdonosai egy adott névvel rendelkezı társaságnak! Kimenet: Tulajdonoskód és Tulajdonos neve. – A kérdéses napot és a szóban forgó társaság nevét az Access a lekérdezés futtatásakor kérdezze meg a felhasználótól. Mely táblát vagy táblákat használja a lekérdezés?: A felhasznált táblák kapcsolatai közül melyiket kell biztosan törölni a lekérdezés definíciójából?: A lekérdezést a 10. ábra szerinti őrlapon adja meg! Mezı: Tábla:
Tulajdonoskód TULAJDONOS
Tulajdonos neve TULAJDONOS
Kft neve KFT
Rendezés Megjelenítés:
✔
✔
Feltétel:
[Adott kft-név]
vagy:
Folytatás: Mezı: Tábla:
Érvkezd KFT TÖRTÉNET
Érvvége KFT TÖRTÉNET
<=[Adott nap]
>=[Adott nap]
Rendezés Megjelenítés: Feltétel: vagy:
10. ábra: Őrlap a 9.2 feladathoz
9.3 Kérdezze le azokat a társaságokat, amelyek adott napot megelızıen megszőntek! Kimenet: csak a Társaságkód. – A kérdéses napot az Access a lekérdezés futtatásakor kérdezze meg a felhasználótól. Használja ki, hogy egy megszőnt társaság megszőnésének dátuma a hozzátartozó TÁRSASÁG TÖRTÉNET sorokból vett Érvvége értékek maximumával azonos! Mely táblát vagy táblákat használja a lekérdezés?:
48
INFORMATIKUS SZAKMAI ISMERETEK
A lekérdezést a 11. ábra szerinti őrlapon adja meg! Mezı: Tábla: Összesítés:
Kft-azonosító KFT Group By
Érvvége KFT TÖRTÉNET Max
Rendezés Megjelenítés:
✔
✔
Feltétel:
✔
<=[Adott nap]
vagy:
11. ábra: Őrlap a 9.3 feladathoz
9.4 Definiáljon egy olyan lekérdezést, amelynek a kimenete: Társaságkód, Társaság neve, Alapítás dátuma és a Megszőnés dátuma. A kimeneten csak azok a társaságok jelenjenek meg, amelyek aktuálisan (2010.01.21-én) már megszőntek. Használja ki, hogy egy társaság alapításának dátuma a hozzátartozó TÁRSASÁG TÖRTÉNET sorokból vett Érvkezd értékek minimumával azonos, illetve egy megszőnt társaság megszőnésének dátuma a hozzátartozó TÁRSASÁG TÖRTÉNET sorokból vett Érvvége értékek maximumával azonos. Mely táblát vagy táblákat használja a lekérdezés?: A lekérdezést a 12. ábra szerinti őrlapon adja meg! Mezı: Tábla: Összesítés:
Kft-azonosító KFT Group By
Kft neve: Kft neve KFT Max
Rendezés Megjelenítés:
✔
✔
Feltétel: vagy:
Folytatás: Mezı: Tábla: Összesítés:
Alapítás dátuma:Érvkezd KFT TÖRTÉNET Min
Megszőnés dátuma:Érvvége KFT TÖRTÉNET Max
Rendezés Megjelenítés: Feltétel:
✔
✔
<=#4000.12.31.#
vagy:
12. ábra: Őrlap a 9.4 feladathoz
ADATBÁZIS DEFINIÁLÁSA ÉS KEZELÉSE
49
10. feladat Az alfeladatok az alábbi adatbázisrészletet használják:
13. ábra: Felhasználható táblák és a kapcsolataik
Megjegyzés: Ha az alfeladatoknál a lekérdezésdefiniáló felületek valamely rovatába nem fér el az oda vonatkozó megoldás szövege, akkor oda csak hivatkozást tegyen, és a megoldást a hivatkozással megjelölve pótlapon adja meg! 10.1 ACCESS-ben kérdezze le azokat a projekteket, amelyek Adott kezdet és Adott vége dátumokkal adott idıszakban legalább egy napon használnak egy adott erıforrást (paraméter: Adott erıforrásnév). Kimenet: Projektkód, Projektnév. – A megoldást a 14.. ábra szerinti felületen adja meg! (Használja ki, hogy a kapcsolati ábra szerinti kapcsolatok mind adottak, méghozzá 1-es illesztési móddal!)
50
INFORMATIKUS SZAKMAI ISMERETEK
14. ábra: Lekérdezésdefiniáló felület a 10.1. feladathoz
10.2 Az elızı feladat megoldását milyen feltétellel kell kiegészíteni, ha a kapcsolati ábráról eltávolítja a TEVÉKENYSÉGHEZ RENDELT ERİFORRÁS és az ERİFORRÁS között adott kapcsolatot?
15. ábra: Lekérdezésdefiniáló felület a 10.2. feladathoz
ADATBÁZIS DEFINIÁLÁSA ÉS KEZELÉSE
51
16. ábra: Lekérdezés tulajdonságai ablak
A lekérdezés kimenetének finomításához kell-e használni a 16. ábra szerinti ablakot (igen/nem) Igen. Indokolja meg a fenti válaszát! Az „Egyedi értékek” paramétert Igen-re kell módosítani. Ellenkezıleg az egyes projektek feleslegesen annyiszor jelennek meg a kimeneten, ahány különbözı tevékenységük használja az adott erıforrást az adott idıszakban.
3.3 Kérdezze le, hogy adott projektben (paraméter: Adott projektnév) adott napon (paraméter: Adott nap) mely munkavégzı erıforrások túlterheltek. Kimenet: Erıforráskód, Erıforrás neve, Kapacitás, Terhelés. – A megoldást a 17. ábra szerinti felületen adja meg! (Használja ki, hogy a lekérdezésben érintett összes tábla összes olyan kapcsolata adott, amely a 13. ábrán is látható, méghozzá 1-es illesztési móddal!) Munkavégzı erıforrások a munkaerı vagy az eszközök, a túlterhelés csak ezekre értelmezhetı, az anyagokra nem. A munkavégzı erıforrásokat az Erıforrástípuskód 1-es értéke különbözteti meg. Egy erıforrás egy adott projekten belül és adott napon akkor számít túlterheltnek, ha az adott napon folyamatban lévı tevékenységeknek az erıforrásra vonatkozó együttes erıforrásigénye (=Terhelés) nagyobb, mint az erıforrásnak az adott projekthez rendelt kapacitása. – Feltételezheti, hogy a [PROJEKTHEZ RENDELT ERİFORRÁS].Kapacitás mennyiség mindig ugyanolyan mértékegységben adott, mint a [TEVÉKENYSÉGHEZ RENDELT ERİFORRÁS].Erıforrásigény mennyiség.
52
INFORMATIKUS SZAKMAI ISMERETEK
17. ábra: Lekérdezésdefiniáló felület a 10.3. feladathoz
ADATBÁZIS DEFINIÁLÁSA ÉS KEZELÉSE
53
10.4 Kérdezze le, hogy adott projektben (paraméter: Adott projektnév) az egyes tevékenységeknek mennyi az összesített anyagköltsége! Kimenet: Tevékenységkód, Tevékenység neve, Anyagköltség. – A megoldást a 18. ábra szerinti felületen adja meg! (Használja ki, hogy a lekérdezésben érintett összes tábla összes olyan kapcsolata adott, amely a 13. ábrán is látható, méghozzá 1-es illesztési móddal!) Azok az erıforrások számítanak anyagnak, amelyeknek az Erıforrástípuskódja 2-es. Az anyagoknál a Standard fajlagos költség mutatja az arra a mértékegységre esı anyagköltséget, amelyet a Vetítési mértékegység kódja azonosít. Feltételezheti, hogy az ilyen anyagjellegő erıforrásokból az egyes tevékenységek Erıforrásigény jellemzıje szintén a Vetítési mértékegység kódjával azonosít mértékegységben van adva, azaz egyfajta anyagból az anyagköltség mennyiségarányos része a [Standard fajlagos költség] * Erıforrásigény szorzással áll elı. Ehhez azonban még hozzá kell adni a nem mennyiségarányos Használatonkénti költséget is, azaz adott tevékenységnél egyfajta anyagból a teljes anyagköltség: [Standard fajlagos költség] * Erıforrásigény + [Használatonkénti költség]
Azonban egy tevékenységhez többfajta anyagot is felhasználhatnak, és a lekérdezésnek tevékenységenként ezek összes költségét kell meghatározni.
18. ábra: Lekérdezésdefiniáló felület a 10.4. feladathoz
54
INFORMATIKUS SZAKMAI ISMERETEK
11. feladat Az alfeladatokat itt is a 10. feladat 13. ábráján látható táblákra és kapcsolatokra támaszkodva kell megoldani! 11.1 ACCESS-ben kérdezze le azokat a projekteket, amelyek Adott kezdet és Adott vége dátumokkal adott idıszakban végig használnak egy adott erıforrást (paraméter: Adott erıforrásnév). Kimenet: Projektkód, Projektnév, Tevékenység neve. – A megoldást a 19. ábra szerinti felületen adja meg! (Használja ki, hogy a kapcsolati ábra szerinti kapcsolatok mind adottak, méghozzá 1-es illesztési móddal!)
19. ábra: Lekérdezésdefiniáló felület a 11.1. feladathoz
ADATBÁZIS DEFINIÁLÁSA ÉS KEZELÉSE
55
11.2 Az elızı feladat megoldását milyen feltétellel kell kiegészíteni, ha a kapcsolati ábráról eltávolítja a TEVÉKENYSÉG és az PROJEKT között adott kapcsolatot?
20. ábra: Lekérdezésdefiniáló felület a 11.2. feladathoz
11.3 Kérdezze le, hogy adott projektben (paraméter: Adott projektnév) az egyes anyagok felhasználásából anyagonként összesen mekkora költség adódott! Kimenet: Anyagkód, Anyag neve, Anyagköltség. – A megoldást a 21. ábra szerinti felületen adja meg! (Használja ki, hogy a lekérdezésben érintett összes tábla összes olyan kapcsolata adott, amely a 10. feladat 13. ábráján is látható, méghozzá 1-es illesztési móddal!) Az anyagok az erıforrások egyik típusát képezik. Azok az erıforrások számítanak anyagnak, amelyeknek az Erıforrástípuskódja 2-es. Az anyagoknál a Standard fajlagos költség mutatja az arra a mértékegységre esı anyagköltséget, amelyet a Vetítési mértékegység kódja azonosít. Feltételezheti, hogy az ilyen anyagjellegő erıforrásokból az egyes tevékenységek Erıforrásigény jellemzıje szintén a Vetítési mértékegység kódjával azonosít mértékegységben van adva, azaz egyfajta anyagból egy bizonyos tevékenységnél való felhasználás miatt adódó anyagköltség mennyiségarányos része a [Standard fajlagos költség] * Erıforrásigény szorzással áll elı. Ehhez azonban még hozzá kell adni a nem mennyiségarányos Használatonkénti költséget is, azaz adott tevékenységnél egyfajta anyagból a teljes anyagköltség: [Standard fajlagos költség] * Erıforrásigény + [Használatonkénti költség]
Azonban egy anyagot több tevékenység végrehajtása során is felhasználhatnak, és a lekérdezésnek anyagonként az ezekbıl adódó összes költséget kell meghatározni. Mely táblákat érinti ez a lekérdezés és miért? Tábla Indoklás PROJEKT Mert a projektet a neve alapján kell kiválasztani, és a projektnév csak ebben a táblában szerepel.
TEVÉKENYSÉG
Mert az anyagok (erıforrások) tevékenységenkénti felhasználása csak ennek segítségével kapcsolható a megfelelı projekthez.
56
INFORMATIKUS SZAKMAI ISMERETEK
ERİFORRÁS
TEVÉKENYSÉGHEZ RENDELT ERİFORRÁS
Mert innen állapítható meg, hogy az erıforrás milyen típusú, és innen vehetık az Anyagkód, Anyag neve a Standard fajlagos költség és a Használatonkénti költség adatok. Mert innen vehetı az Erıforrásigény adat.
21. ábra: Lekérdezésdefiniáló felület a 11.3. feladathoz
11.4 Kérdezze le, hogy adott projektben (paraméter: Adott projektnév) az egyes tevékenységeknek mennyi az összesített mőveleti költsége! Kimenet: Tevékenységkód, Tevékenység neve, Mőveleti költség. – A megoldást a 22. ábra szerinti felületen adja meg! (Használja ki, hogy a lekérdezésben érintett összes tábla összes olyan kapcsolata adott, amely a 10. feladat 13. ábráján is látható, méghozzá 1-es illesztési móddal!)
ADATBÁZIS DEFINIÁLÁSA ÉS KEZELÉSE
57
Egy tevékenység mőveleti költségei abból adódnak, hogy a tevékenység valamilyen munkavégzı erıforrásokat (munkaerıt vagy az eszközöket) használ. Azok az erıforrások számítanak munkavégzı erıforrás, amelyeknek az Erıforrástípuskódja 1-es. Az ilyen erıforrásoknál a Standard fajlagos költség és a Túlmunka fajlagos költsége mutatja az arra az idıegységre esı erıforrásköltséget normál munkaidıben, illetve túlórában, amelyet a Vetítési mértékegység kódja azonosít. Feltételezheti, hogy az ilyen erıforrásokból az egyes tevékenységek Erıforrásigény, illetve Erıforrásigény túlmunkában jellemzıi szintén a Vetítési mértékegység kódjával azonosít mértékegységben vannak adva, azaz egyfajta anyagból a mőveleti költség idıarányos része a [Standard fajlagos költség] * Erıforrásigény + [Túlmunka fajlagos költsége] * [Erıforrásigény túlmunkában]
képlettel áll elı. Ehhez azonban még hozzá kell adni a nem idıarányos Használatonkénti költséget is, azaz adott tevékenységnél egyfajta erıforrásból a teljes mőveleti költség: [Standard fajlagos költség] * Erıforrásigény + [Túlmunka fajlagos költsége] * [Erıforrásigény túlmunkában] + [Használatonkénti költség]
Azonban egy tevékenységhez többfajta erıforrás is felhasználhatnak, és a lekérdezésnek tevékenységenként ezek összes költségét kell meghatározni.
22. ábra: Lekérdezésdefiniáló felület a 11.4. feladathoz
58
INFORMATIKUS SZAKMAI ISMERETEK
12. feladat Az alfeladatok az alábbi kapcsolatokat és táblákat tartalmazó adatbázisrészletet használják:
23. ábra: Táblakapcsolatok
24. ábra: Táblák szerkezete Táblák értelmezése: Bizonylat:
A könyvelt forgalomtételek forrásbizonylatait tartalmazó táblázat.
Fkviszla_forg:
A könyvelt fıkönyvi számla-forgalomtételeket tartalmazó táblázat. Több mérlegidıszak tételeit tartalmazza (lásd Idoszakkod).
ADATBÁZIS DEFINIÁLÁSA ÉS KEZELÉSE
59
Szamlatukor:
A használható fıkönyvi számlaszámokat tartalmazó (és definiáló) történeti táblázat. A történetiség abban áll, hogy nemcsak az aktuálisan használható számlaszámokat mutatja, hanem azokat is, amelyek ma már érvénytelenek, de pl. 5 évvel ezelıtt érvényesek voltak. A 23. ábrán egy Szamlatukor_1 nevő doboz is szerepel. Ez nem egy további táblát jelent, hanem csak a Szamlatukor tábla egy plusz szerepét képviseli. (Ugyanis a Szamlatukor tábla két szerepben is fölérendeltje a Gyujtoleiro táblának.)
Szamlatipus
A lehetséges számlatípusokat tartalmazó táblázat. Alaphelyzetben két sora van: egyik az eszköz jellegő, a másik pedig a forrás jellegő számlatípust képviseli.
Gyujtoleiro:
Azt leíró szabályokat tárol, hogy milyen győjtıszámlákra mely alszámlákról kell a forgalmat győjteni (pontosabban egyenlegezni). Ez is történeti táblázat: Nemcsak az aktuálisan érvényes szabályokat mutatja.
Mezık (oszlopok) értelmezése: Szamlatukorkod
A Szamlatukor-sor azonosítója
Fkviszla_szam:
Fıkönyvi számlaszám
Szamla_ervkezd:
Számladefinició (Szamlatukor-sor) érvényességének kezdete.
Szamla_ervvege:
Számladefinició (Szamlatukor-sor) érvényességének vége. (A még érvényes sorok érvényességének igazi vége általában ismeretlen. Ilyenkor egy nagyon nagy dátum, 4000.12.31. áll benne.)
Szamla_megnevezes: Fıkönyvi számla neve (az adott érvényességgel) Szamlatipuskod:
A Szamlatipus-sor azonosítója
Gyujtoszint:
Igen/Nem, Igaz/Hamis kapcsoló a Szamlatukor-sorban. A kikapcsolt állapota könyvelési számlaszámot jelez, a bekapcsolt állapota viszont győjtı számlaszámot.
Bizonylatkod:
A bizonylat adatbázison belüli azonosítója.
Konyvelesdatum:
A bizonylat könyvelési dátuma, egyben a bizonylatról keletkezett összes forgalomtétel könyvelési dátuma.
Tetelsorszam:
A könyvelt fıkönyvi számla-forgalomtétel azonosítója.
Idoszakkod:
Annak a mérlegidıszaknak a kódja, amelyre a forgalomtétel könyvelve lett.
Szamlaoldal:
Értékei: T = tartozik; K = követel.
Osszeg:
Könyvelt forgalomérték (forintban)
TJ_tetelsorszam:
Csak törlı vagy javító tételben van kitöltve, és az azzal törölt vagy javított forgalomtétel azonosítóját tartalmazza.
Kapcsolat:
Mint az Fkviszla_forg tábla egyik oszlopa szintén csak törlı vagy javító tételben van kitöltve. Értékei: T = törlés; J = javítás.
Gyujtoszla_tkod:
A győjtıszámlaszámot tartalmazó Szamlatukor-sor azonosítója.
60
INFORMATIKUS SZAKMAI ISMERETEK
Alszamla_tkod:
Az alszámlaszámot tartalmazó Szamlatukor-sor azonosítója.
Gyujtohoz_ervkezd: A Gyujtoleiro-sorban adott szabály érvényességének kezdete Gyujtohoz_ervvege: A Gyujtoleiro-sorban adott szabály érvényességének vége. (A
még érvényes sorok érvényességének igazi vége általában ismeretlen. Ilyenkor egy nagyon nagy dátum, 4000.12.31. áll benne.) Tartozik_elojel
Az adott számlatípus tartozik oldali forgalmának elıjele. A pozitív elıjel: 1, a negatív elıjel: –1. (A követel oldal elıjele ezzel ellentétes: -Tartozik_elojel.)
12.1 ACCESS-ben le kell kérdezni egy adott idıszak számlaosztályonként összesített tartozik forgalom étékeit! (Az adott idıszak egy futási idıben megadható paraméter.) Kimenet: Számlaosztály
Tartozik forgalom
Mely táblákat használja fel a lekérdezés forrásaként?:
A lekérdezés definíciójának részeként felhasználja-e táblák között a 23. ábra szerint adott kapcsolat(ok)at (Igen/Nem)?: Ha igen, akkor milyen illesztéstípussal (1/2/3)?: Az alábbi rácsban adja meg a lekérdezés definícióját! (A lapméret miatt a rács több sorba tördelve a következı oldalon is folytatódik. – Az elıbbi kérdésekre adott válaszoktól is függ, hogy mindegyik oszlopot fel kell-e használni.) Mezı: Tábla: Összesítés: Rendezés: Megjelenés: Feltétel:
ADATBÁZIS DEFINIÁLÁSA ÉS KEZELÉSE
61
Folytatás: Mezı: Tábla: Összesítés: Rendezés: Megjelenés: Feltétel:
Mezı: Tábla: Összesítés: Rendezés: Megjelenés: Feltétel:
12.2 ACCESS-ben kérdezze le azokat a számlaosztályokat, amelyekhez találhatók adott idıszaki forgalomtételek az Fkviszla_forg táblában! (Az adott idıszak egy futási idıben megadható paraméter.) Kimenet: Számlaosztály Számlatípuskód (Feltételezheti, hogy egy adott számlaosztályba tartozó minden fıkönyvi számla számlatípuskódja azonos.) Mely táblákat használja fel a lekérdezés forrásaként?:
A lekérdezés definíciójának részeként felhasználja-e táblák között a 23. ábra szerint adott kapcsolat(ok)at (Igen/Nem)?: Ha igen, akkor milyen illesztéstípussal (1/2/3)?: Az alábbi rácsban adja meg a lekérdezés definícióját! (A lapméret miatt a rács több sorba van tördelve. – Az elıbbi kérdésekre adott válaszoktól is függ, hogy mindegyik oszlopot fel kell-e használni.)
62
INFORMATIKUS SZAKMAI ISMERETEK
Mezı: Tábla: Összesítés: Rendezés: Megjelenés: Feltétel:
Mezı: Tábla: Összesítés: Rendezés: Megjelenés: Feltétel:
12.3 Tegyük fel, hogy a 12.1. lekérdezést T névvel, a 12.2. lekérdezést pedig L névvel mentette el; továbbá elkészítette a 12.1. lekérdezésnek azt a párját, amely egy adott idıszak számlaosztályonként összesített követel forgalom étékeit adja vissza, és ezt K névvel mentette el. A felsoroltak felhasználásával állítsa elı az adott idıszaki számlaosztályonkénti egyenlegeket! Kimenet: Számlaosztály Egyenleg A lekérdezései forrásait és a köztük fennálló kapcsolatokat a 25. ábra mutatja. Mind az L-T kapcsolat, mind az L-K kapcsolat illesztéstípusa 2-es. (Az említettekbıl az L-T kapcsolat illesztési tulajdonságait mutató ablak is látszik a 26. ábrán.)
25. ábra
63
ADATBÁZIS DEFINIÁLÁSA ÉS KEZELÉSE
26. ábra Elsı közelítésben: Egyenleg = ([T].[Tartozik forgalom] – [K].[Követel forgalom]) * [Tartozik_elojel], ahol a Tartozik forgalom is és a Követel forgalom is ugyanazon Számlaosztály forgalma, továbbá az alkalmazandó Tartozik_elojel értéket pedig a közös Számlaosztályhoz tartozó Szamlatipuskod határozza meg. Ez a képlet azonban csak akkor mőködik korrektül, ha a Tben és a K-ban ugyanazok a számlaosztályok vannak jelen. Ez azonban nem igaz, hiszen lehet olyan számlaosztály, amelyeknek csak tartozik forgalma van, ezért az csak a T-ben van jelen; hasonlóan lehet olyan számlaosztály, amelynek csak követel forgalma van, ezért az csak a Kban van jelen. Tehát a T és a K források közvetlen összekapcsolása nem járható, mert ebben a kapcsolatban csak olyan számlaosztályok szerepelnének, amelyeknek mind tartozik, mind követel forgalommal rendelkeznek. Pont ezért van szükség az L forrásra, mert az az összes olyan számlaosztályt tartalmazza, amelynek volt valamilyen forgalma az adott idıszakban. Így, ha a kimeneti Számlaosztály értéket az L-bıl vesszük, akkor a kimenet az olyan számlaosztályokat is tartalmazza, amelyek csak egyik oldali forgalomra tettek szert a kérdéses idıszakban. Ezeknél a számlaosztályoknál azonban még mindig gond, hogy esetükben a fenti képlet az alábbi kezelhetetlen (kiszámíthatatlan) alakban realizálódik: Egyenleg = ([T].[Tartozik forgalom] – Null) * [Tartozik_elojel] = Null (azaz üres) Egyenleg = (Null– [K].[Követel forgalom]) * [Tartozik_elojel] = Null (azaz üres) Ennek kiköszöbölésére el kell érni, hogy ilyen esetekben a Null (üres érték) 0 számértékre cserélıdjön le. Ilyen célra jól alkalmazható az Access következı két függvénye: IsNull(mezı): Igazat ad vissza, ha a mezı üres, hamisat különben. IIf(feltétel; igaz ági kimenet; hamis ági kimenet): Az igaz ági kimenet adja vissza, ha a feltétel igaz; különben a hamis ági kimenet adja vissza. Példa a fenti két függvény kombinált alkalmazására: IIf(IsNull([mezı]);0;[mezı]) A fenti kifejezés 0 értéket ad vissza, ha a mezı üres, egyébként a mezı értékét adja vissza. A következı rácsban adja meg a lekérdezés definícióját! (A lapméret miatt a rács több sorba van tördelve.)
64
INFORMATIKUS SZAKMAI ISMERETEK
Mezı: Tábla: Rendezés: Megjelenés: Feltétel:
M:
Egyenleg: (IIf(IsNull( [Tartozik forgalom]);0; [Tartozik forgalom]) IIf(IsNull([Kovetel forgalom]);0; [Kovetel forgalom])) * [Tartozik_elojel]
T: R: M: F:
A megoldásban hol használja ki, hogy az L-K kapcsolat illesztéstípusa 2-es?:
65
INFORMÁCIÓRENDSZER FEJLESZTÉSE
Feladatok a 4. fejezethez 1. feladat A sorokban olvasható feladatok, illetve állítások az oszlopokkal adott szoftverfejlesztési tevékenységek melyikére jellemzıek?
5. Rendszerkövetelmények elemzése 4. Szoftver nagyvonalú tervezése 3. Szoftver részletes tervezése 2. Szoftverintegrálás 1. Rendszerintegrálás 1. 2. 3. 4. 5. X
1.
Szoftverintegrációs teszt specifikálása
2.
Rendszerszervezési változatok felállítása
3. 4.
A rendszer nagyvonalú tervének való megfelelıség tesztelése A rendszer egészének határaira és szolgáltatástartalmára vonatkozó követelményeket és korlátok meghatározása. A szoftver nagyvonalú tervének való megfelelıség tesztelése
5. 6. 7. 8.
X X X X
A fekete doboznak számító absztrakt specifikációk „kifehérítése” A szoftver kódolása során elıállt programegységekbıl komponensekbıl „összeszerelik” a szoftvert Az egységtesztek specifikációjának elkészítése
X X X
2. feladat A sorokban olvasható feladatok, illetve állítások az oszlopokkal adott szoftverfejlesztési tevékenységek melyikére jellemzıek?
5. Rendszer nagyvonalú tervezése 4. Szoftverkövetelmények elemzése 3. Szoftverkódolás és -tesztelés 2. Szoftver minıségi tesztelése 1. Rendszer minıségi tesztelése 1. 2. 3. 4. 5. X
1.
Verifikációs teszt
2.
A programegységek verifikálása és belövése
3.
Rendszerintegrációs teszt specifikálása
4.
Validációs teszt
5. 6.
Az egyes szoftverek absztrakt specifikációjának elkészítése A szoftver szolgáltatástartalmának részleteire vonatkozó követelmények meghatározása A rendszer szolgáltatásaira vonatkozó követelmények hozzárendelése a megfelelı rendszerrészekhez (szoftverekhez) A szoftverek közötti interfészek specifikálása
7. 8.
X X X
X X X X X
66
INFORMATIKUS SZAKMAI ISMERETEK
1. Ennek során történik meg az adatmigráció. 2. Célja a szoftver validációja, lehetıleg az alkalmazási környezetben. 3. Egyik terméke az architektúramodell. X 4. A különbözı fejlesztık, fejlesztı teamek által létrehozott egységekbıl, alacsonyabb szintő komponensekbıl, inkrementumokból összeállítják a magasabb szintő kompozíciókat. 5. Termékei a rendszerszervezési változatok. X 6. Egyik módszere: interjúk készítése a felhasználói oldal X képviselıivel. 7. Elvégzik a szoftver forráskódjának megírását (röviden kódolását) és a szoftveregységek tesztelését. 8. Egyik feladata a próbaüzemi teszt. 9. Egyik változata a próbaüzemi teszt. 10. Szoftver beszerzése (nem fejlesztése) esetén csak ezek a tevékenységek merülnek fel. 11. Az adott kompozíció közvetlen komponensei együttmőködésének helyességére koncentrál. 12. Termékei közé tartoznak a funkcionális modulok közötti interfészek specifikációi. 13. Az interfésztervek alapján készült tesztspecifikációk szerint végzik.
Szoftver bevezetése
Integráció, integrációs teszt Minıségi teszt
Tervezés
Elemzés
Határozza meg hogy a sorokban adott állítások a szoftverfejlesztésnek az oszlopokban adott fejlesztési szakaszai (tevékenységei) melyikét jellemzik!
Kivitelezés (szőkebben vett)
3. feladat
X X
X
X K
X
X X
X
X X X
4. feladat Mit értenek rendszerszervezési változatok alatt?
A követelmények olyan részhalmazait, amelyek egymással konzisztens és együttesen megvalósítható követelmények tartalmaznak.
Egy projekten belül milyen okból adódik általában több rendszerszervezési változat?
Az összegyőjtött követelmények együttvéve ellentmondásosak, illetve nem férnek bele az idı, pénz és erıforrások által korlátozott projektbe.
Legkésıbb meddig kell választani a rendszerszervezési változatok közül?
A tervezés megkezdése elıtt („dobozos” termékek esetében kivételesen elıfordulhat, hogy a telepítéskor).
67
INFORMÁCIÓRENDSZER FEJLESZTÉSE
4.
5.
6. 7. 8.
9.
10.
11.
12.
13.
objektumorientált
Megközelítési mód jelzıje. Ez a megközelítési mód felismerte, hogy a komplex rendszerek tervezését, fejlesztését megkönnyíti, ha azokat viszonylag független, önállóan megérthetı, fejleszthetı, tesztelhetı modulokra bontjuk. Ez a megközelítési mód megalkotta szerkezet és a viselkedés ilyen egységét, amely a lehetséges legkevesebbet feltételezi a környezetérıl. Az ilyen módszertanok kialakulása együtt járt a tranzakció-orientált feldolgozások iránti igény megjelenésével. Az ilyen módszertanok a kifejlesztendı rendszert egyoldalúan a feldolgozási célok szerint tagolták. Az ilyen módszertanok megjelenése az adatbázisok használatának elterjedéséhez köthetı. Az ilyen módszertanban önálló és domináns vetületként jelenik meg az adatstruktúrák tervezése (az adatmodellezés). Az ilyen megközelítési módban önálló és domináns vetületként jelenik meg az adatstruktúrák tervezése (az adatmodellezés). Az ilyen módszertanok szoros kapcsolatban állnak a prototípuson alapuló életciklusmodellel, illetve az evolúciós fejlesztéssel. Ez a megközelítési mód a fokozatos lebontás (hierarchikus lebontás / fokozatos finomítás) módszerét követi. A jelzıvel minısített kategória meghatározza a figyelembe vett célkitőzések és feltételek mellett legjobb gyakorlatnak számító termék-, folyamat- és szervezeti sémákat. A jelzıvel minısített kategória sajátos absztrakciós szemléletet, fogalomrendszert, eszköztárat, elemzési (felbontási) és konstrukciós elveket határoz meg.
felhasználóvezérelt
2. 3.
adatvezérelt
Módszertancsoport jelzıje.
eseményvezérelt
1.
strukturált
moduláris
5.1 Határozza meg, hogy a sorokban adott állítások az oszlopokban adott mely jelzıkre igazak!
folyamatvezérelt
5. feladat
X
X
X
X
K
X
X
X
X
K
K
X
X X X X
X
X
X
X
X
X
X
X
X
K
X
68
INFORMATIKUS SZAKMAI ISMERETEK
Megközelítési mód
Módszertan
1.
Folyamatséma
X
2.
Értékelési (mérési) kritérium
X
3.
Fogalomrendszer
4.
Termékséma
5.
Elemzési (felbontási) elvek
X
6.
Eszköztár
X
7.
Szervezeti séma
8.
Konstrukciós (építési) elvek
X X
X
1.
Kitüntetett célja a kockázatok módszeres csökkentése.
2. 3.
Iteratív fejlesztési modell. A párhuzamos tevékenységek irányítása nehéz feladat. A már mőködı részeket és a késıbbi lépések eredményeit újra és újra integrálni kell. Világos képet ad arról, hogy adott tevékenység és annak terméke mely korábbi tevékenység termékének kell megfeleljen. Ezt a modellt követı projekt is egyszerően ütemezhetı, irányítható. A projekt egyszerően ütemezhetı, irányítható. Csak a szakaszok végén van visszacsatolás. Feltételezi, hogy a követelmények pontosan ismertek és nem változnak.
4.
5. 6.
Inkrementális modell
V modell
Vízesés modell
6. feladat Határozza meg, hogy a sorokban adott állítások az oszlopokkal adott mely életciklusmodellekre jellemzıek!
(Boehm féle) spirálmodell
X
RUP modell
5.2 Határozza meg, hogy a sorokban adott elemek az oszlopokkal adott mely kategóriák komponensei!
X X X
X
X
X
X
X
X
X K
69
INFORMÁCIÓRENDSZER FEJLESZTÉSE
Hordozhatóság
Karbantarthatóság
Hatékonyság
Használhatóság
A minıségi jellemzık az MSZ ISO/IEC 9126 szabvány szerint értelmezendık.
Megbízhatóság
X-elje be, hogy a sorokban álló tényekbıl közvetlenül a szoftver mely minıségi jellemzıjére lehet következtetni! (Lehetnek több minıségi tényezıvel összefüggı tények is.)
Funkcionalitás
7. feladat
1. A szoftver tervdokumentációja jól tagolt. Egyértelmővé teszi, hogy melyik döntés (tervelem) milyen követelmény teljesítése érdekében vagy milyen korlát figyelembe vétele okán született. 2. A szoftver fel van készítve a szabálytalan felhasználói akciók, hibás bemeneti adatok visszautasítására. 3. A szoftver eleget tesz a támogatott szakterületre vonatkozó szabványoknak, szabályoknak, törvényi elıírásoknak. 4. A szoftver nem használja ki valamely adatbáziskezelı különleges adottságait, lehetıségeit. 5. Az új szoftver felhasználói felülete nagymértékben hasonlít az alkalmazottak által eddig megszokotthoz. 6. A szoftver lényegesen különbözı teljesítményő erıforrásokon is mőködıképes, a szoftver által felhasznált erıforrások mennyisége, teljesítménye rugalmasan a terheléshez igazítható. 7. A szoftver megakadályozza a funkcióihoz és az adatokhoz való jogosulatlan hozzáférést, nyilvántartja a felhasználói tevékenységeket. 8. Az egyes funkciók interfészei jól definiáltak, ezért a szoftver egyszerően tesztelhetı. 9. A szoftver a saját eszközeinek felhasználásával könnyen igazítható különbözı alkalmazási környezetekhez. 10. A szoftver lehetıvé teszi, hogy bizonyos szolgáltatásait más alkalmazások is elérjék (használják). 11. A szoftver az iparági szinten legáltalánosabban elfogadott technológiai szabványokat követi.
8. feladat A következı használati eset diagram alapján döntse el, hogy a táblázat soraiban szereplı állítások közül melyik igaz (I), melyik hamis (H)!
70
INFORMATIKUS SZAKMAI ISMERETEK
Küldeményadatok keresése
Küldemény találati lista
«include»
Küldemény bontása
«extend»
Érkeztetı (from KIR) «extend»
Küldemény szignálása Küldemény érkeztetés emailbıl
«extend» «extend»
Küldemény lezárása
«extend»
«extend»
«extend»
«extend»
Küldeményadatok megtekintése
Küldemény sztornírozása
«extend» «include»
«include»
«include»
Küldemények kezelése
E-mail keresése
Bej öv ı irat érkeztetése, iktatása
Küldeményadatok módosítása
Történet
Bontás adatok
Küldeményadatok kezelése általános
Érkeztetés (iktatás nélkül)
(from Ügyiratadatok kezelése - általános) «include» «extend»
E-mail találati lista
«extend»
Küldemény fıbb adatai
«include» «include»
Tov ábbi beküldık
Mellékletek
«include»
Minısítések
«include»
«include»
«include»
Felj egyzések Csatolmányok
1. Az E-mail találati lista képernyı tartalmaz egy Érkeztetés iktatás nélkül gombot (vagy menüpontot). 2. Az E-mail találati lista képernyı tartalmaz egy E-mail keresése gombot (vagy menüpontot). 3. A Küldemény találati lista képernyı akkor is megjelenik, ha elıtte a Küldeményadatok keresése funkció nem talált a szőrı feltételeknek megfelelı küldeményt. 4. A Küldeményadatok megtekintése képernyı tartalmaz egy További beküldık füleslapot. 5. A Küldeményadatok megtekintése képernyı tartalmaz egy Küldemény találati lista gombot (vagy menüpontot). 6. A Küldeményadatok módosítása képernyı tartalmaz egy Küldemény szignálása gombot (vagy menüpontot). 7. Az Érkeztetés iktatás nélkül képernyı tartalmaz egy Mellékletek füleslapot.
I H X X X
X X X X
INFORMÁCIÓRENDSZER FEJLESZTÉSE
71
9. feladat Rajzolja meg a BB InternetBank egy olyan use case diagramját, amely az ügyfél által elérhetı használati eseteket tartalmazza! A szimbólumok neveit a félkövéren szedett kifejezések közül vegye! Az ügyfél a böngészıben a következı fıbb banki szolgáltatásokat éri el: számlainformációk lekérése, megbízások, bankkártya-mőveletek, postaláda kezelése, beállítások. A Számlainformációk lekérése az ügyfél választásától függıen a következı alternatív lehetıségeket tartalmazza: számla áttekintı, számlatörténet, számlakivonatok. A Számla áttekintın belül az ügyfél külön kérésére megjelenhet az aktuális Egyenleg is. Mind a Számlatörténet, mind a Számlakivonatok szolgáltatás tartalmazza az Idıszakbeállítást. A Megbízások az ügyfél választásától függıen a következı alternatív lehetıségeket tartalmazza: forint átutalás, forint átvezetés, deviza átutalás, kötegelt utalás. A forint átvezetés speciális esete a forint átutalás szolgáltatásnak. A deviza átutaláson belül alternatív lehetıségek: az átutalás fizetési mód, az import beszedés fizetési mód. A kötegelt utalás tartalmazza a Megbízásokat tartalmazó fájl kijelölése funkciót. Enélkül a kötegelt utalás nem indul el.
10. feladat Pótolja az alábbi ábrán a szintek és a rétegek neveit a SunTone módszertan rendszerarchitektúra sémája szerint!
72
INFORMATIKUS SZAKMAI ISMERETEK
1. Van olyan másik osztály, amely ennek a konkrét osztálynak specializációja. 2. Van olyan másik osztály, amelynek ez specializációja.
X X
3. Csak absztrakt mőveletei vannak.
X
4. Van absztrakt mővelete.
X
X
5. Biztosan nincs absztrakt mővelete.
X
6. Nincs közvetlen példánya.
X
X
7. Biztosan van konstruktora.
X
8. Az osztály konstruktorával hozható létre.
X
9. Van olyan másik osztály, ami ettıl attribútumot örököl.
X
10. Biztosan van közvetlen példánya.
X
11. A példányai egyben az ısosztályának is példányai. 12. Nem azonosítható egyetlen attribútumával sem.
X X
12. feladat obj ect Obj ektummodell -kapA
a1 :A
-elsoB b1 :B
a2 :A
-kapD
-kapD
c1 :C
b4 :B
-kapC
-kapA -kapC
c2 :C
-kapA
-kovB b3 :B
c3 :C
d1 :D
-kovB b2 :B
d3 :D
-elsoB -kapC
-kapD
Interfész
İsosztály
Absztrakt osztály Konkrét osztály Leszármazott osztály
Jelölje meg X-szel, hogy a sorokban adott állítások az oszlopokban adott mely fogalomra vagy fogalmakra jellemzıek!
Objektum
11. feladat
d2 :D
Az elıbbi objektumdiagram alapján oldja meg a következı alfeladatokat!
a3 :A
73
INFORMÁCIÓRENDSZER FEJLESZTÉSE
12.1 Rajzolja le az objektumdiagramból elvonatkoztatható osztálydiagramot, azon a kapcsolatok irányát és multiplicitásást is tüntesse fel! Feltételezheti, hogy a kapcsolatok multiplicitása nem nagyobb, illetve nem kisebb az objektumdiagramon látottnál. 12.2 Az objektumdiagram alapján adja meg az osztályok azon attribútumait, amelyek a láthatóság (a kapcsolatok kifejezése) miatt szükségesek! Az attribútumokat név:típus alakban adja meg. Az attribútumok nevét az objektumdiagramról vegye! A
B
C
D
12.3 Mely osztályoknak a mőveletei lesznek az alábbiak, illetve mi lehet egyes paraméterek osztálya? Metódus
Mővelet osztálya
Paraméter osztálya
+getKapC():C Visszaadja a kapC attribútum értékét. +getElsoB():B Visszaadja az elsoB attribútum értékét. +setKapA(par):void Beállítja a kapA attribútum értékét. +getKovB():B Visszaadja a kovB attribútum értékét. +setElsoB(par):void Beállítja az elsoB attribútum értékét. «constructor» +init(par1:D, par2:C, par3:B)
13. feladat 13.1 A következı oldali osztálydiagramról véve adjon példákat az alábbi fogalmakra! Attribútum:
Mővelet (metódus):
Sztereotípus: Szerepnév:
74
INFORMATIKUS SZAKMAI ISMERETEK
Asszociáció:
Számosság:
Specializáció:
Általánosítás
class Úthálózat CD
ListaElem
0..1 + + -kovetkezo 0..1
telepulesNev: String
«listamővelet» + elemSzam() : int + listabanVan(ListaElem) : boolean + elemetHozzaad(ListaElem) : void + elemetBeszur(ListaElem) : void + elemetLevag() : void + elemetLevag(int) : void + elemetLevag(ListaElem) : void
-elsoIrany
Telepules -
getKovetkezo() : ListaElem setKovetkezo(ListaElem) : void
0..1
1
UtSzakasz -
szakaszHossz: double
+
getSzakaszHossz() : double
-szomszed +
getTelepulesNev() : String 1
1..*
13.2 A fenti osztálydiagram alapján válaszolja meg az alábbi kérdéseket! Település attribútumai a típusukkal együtt:
UtSzakasz attribútumai a típusukkal együtt:
INFORMÁCIÓRENDSZER FEJLESZTÉSE
75
13.3 A ListaElem specifikációjában mit jelentenek a következı elem egyes részei? – Válaszát írja az alábbi táblázatba! elemetHozzaad(e:ListaElem): void elemetHozzaad
e
ListaElem
void
13.4 A ListaElem specifikációjában mit jelentenek a következı elem egyes részei? – Válaszát írja az alábbi táblázatba! listabanVan(e:ListaElem): boolean listabanVan
e
ListaElem
boolean
13.5 A ListaElem osztály két mőveletének leírása: getKovetkezo():ListaElem – A mővelet visszaadja a listaelem kovetkezo attribútumának értékét, azaz a megszólított listaelemet követı listaelem mutatóját. elemSzam():integer – A mővelet visszaadja, hogy a megszólított listaelemtıl kezdıdıen hány elem van a listában; ha a megszólított elem a lista elsı eleme, akkor a teljes lista elemeinek számát adja vissza. A következı oldalon készítse el annak az együttmőködésnek a szekvenciadiagramját, amely azzal kezdıdik, hogy a vezerles felszólítja az e1 listaelemet az elemSzam() mővelet végrehajtására abban az esetben, amikor a lista sorrendben az e1, e2, e3 elemekbıl áll. A diagramon, ahol szükséges, használja a getKovetkezo() mőveletet!
76
INFORMATIKUS SZAKMAI ISMERETEK
sd Elemek megszámlálása - induló állapot e1 :ListaElem
e2 :ListaElem
e3 :ListaElem
vezerles eSz := elemSzam()
10 pont: 13.6 A ListaElem osztály egy újabb mőveletének leírása: listabanVan(e:ListaElem):boolean – A mővelet igaz (true) értéket ad vissza, ha a paraméterben adott listaelem benne van a megszólított listaelemet tartalmazó listában. A megszólított listaelem rendszerint a lista elsı eleme, de bármely elem legyen is, az eredmény ennél a mőveletnél mindig a teljes listát jellemzi (tehát nem csak a megszólított listaelemmel kezdıdı részét). A következı oldalon készítse el annak az együttmőködésnek a szekvenciadiagramját, amely azzal kezdıdik, hogy a vezerles felszólítja az e5 listaelemet a listabanVan(e) mővelet végrehajtására abban az esetben, amikor a lista sorrendben az e3, e4, e5, e6, e7 elemekbıl áll, és a keresett e az e3-mal azonos.
77
INFORMÁCIÓRENDSZER FEJLESZTÉSE
A diagramon, ahol szükséges, használja a getKovetkezo() mőveletet! (Nincs olyan mővelet, hogy getElozo()!!!) sd Adott elem benne v an-e a listában - induló állapot
e3 = e e3 :ListaElem
e4 :ListaElem
e5 :ListaElem
e6 :ListaElem
e7 :ListaElem
vezerles listabanVan(e)
14. feladat 14.1 A következı oldali állapotdiagramról véve adjon példákat az alábbi fogalmakra! Szuperállapot: Esemény: İrszem: Akció:
78
INFORMATIKUS SZAKMAI ISMERETEK
14.2 A fenti állapotdiagram elágazás szimbólumát milyen két átmenettel kellene helyettesíteni, hogy ezzel az állapotdiagrammal egyenértékő állapotdiagramot kapjunk?
14.3 A fenti állapotdiagram szerint az alábbi állapotsorrendek közül melyik lehetséges (L), melyik nem (N)? L N 1. Feladott, Visszaigazolt, Határidın túl. 2. Feladott, Határidın túl. 3. Feladott, Leszállítva, Számla kiegyenlítve. 4. Feladott, Visszaigazolt, Határidın túl, Számla kiegyenlítve. 5. Feladott, Visszaigazolt, Számla kiegyenlítve. 14.4 A fenti állapotdiagram szerint az alábbi eseménysorrendek közül melyik lehetséges (L), melyik nem (N)? L N 1. visszaigazolás, szállítás, szállítás, szállítás, ellenérték utalása, archiválás. 2. visszaigazolás, ellenérték utalása, archiválás. 3. szállítás, szállítás, when(határidı lejárt), szállítás, ellenérték utalása, archiválás. 4. szállítás, szállítás, szállítás, ellenérték utalása, archiválás. 5. szállítás, szállítás, when(határidı lejárt), szállítás, archiválás. 6. when(határidı lejárt), szállítás, szállítás, szállítás, archiválás.
79
INFORMÁCIÓRENDSZER FEJLESZTÉSE
14.5 A következı átmenetspecifikációnak mint jelentenek az egyes részei? – Válaszát írja az alábbi táblázatba! szállítás [nem felel meg] / szállítás.visszaküldés szállítás (a specifikáció elején) [nem felel meg]
szállítás.visszaküldés
1. 2. 3. 4. 5.
Absztrakt állapot
Konkrét állapot
Külsı állapot
Belsı állapot
A sorokban leírt állapotok az oszlopokkal adott állapottípusok melyikének felelnek meg? (Egyidejőleg több oszlop is megfelelı lehet.)
Kiterjesztett állapot
15. feladat
A mobiltelefon éppen hívószám beírását fogadja. A hívás fogadása a hívott – másik – mobil részérıl le van tiltva. A mobiltelefon éppen hív egy másik mobilt, és a másik éppen kicseng. Már 6 másodperce tart, hogy a mobiltelefon hív egy másik mobilt, amely ezért folyamatosan kicseng. A mobiltelefon 21:18:43-kor egy üzenet beírását fogadja, történetesen az üzenet 17. karakterét.
16. feladat Tevékenységdiagrammal ábrázolja egy kliens, webszerver, DB szerver elemeket tartalmazó háromrétegő architektúrában mőködı alkalmazásba való felhasználói bejelentkezés folyamatát: Felhasználói beavatkozás hatására a kliens munkaállomás hatja végre az alkalmazás indítását (ahogy például hallgatói kezdeményezésre a böngészı elindítja a Neptunt). Az indított (a böngészıben a megcímzett) alkalmazás letölt egy bejelentkezı lapot (egy login ablakot) a kliensre (bejelentkezoLap objektumáram üres állapotban). A felhasználó ezt a lapot kitöltve (bejelentkezoLap objektumáram kitöltve állapotban) közli a login adatait: a felhasználónevet és a jelszót, amelyek (loginAdatok objektumáram) segítségével a webszerver lekéri az adatbázisból a felhasználó hozzáférési jogosultságait (felhaszaloJogai objektumáram). Ha az adatbázisszervertıl visszakapott válasz szerint az adott login adatokkal nincs felhasználó az adatbázisban, vagy van, de nem rendelkezik az alkalmazás futtatásához szükséges joggal, akkor a webszerver egy elutasító lapot (eluta-
80
INFORMATIKUS SZAKMAI ISMERETEK
sitoLap objektumáram), egyébként pedig az alkalmazás fımenüjét tölti le a kliensre (fomenuLap objektumáram). Az elutasítással a folyamat befejezıdik. – A modellben használja fel az említett objektumáramokat! (Emlékeztetıül: Minden objektumáram tevékenységbıl indul és tevékenységbe érkezik.) Kliens
Webszerver
DB szerver
INFORMÁCIÓRENDSZER FEJLESZTÉSE
81
17. feladat Ez a feladat és a következı 18-22. feladatok egy szupermarket parkolási rendszerét támogató számítógépes rendszer tervezéséhez járul hozzá. Az itt következı problémaleírást a 18-22. feladatok megoldásánál is fel kell használni. A parkolási rendszer vezérlése a beléptetı és kiléptetı kapuktól, a fizetıautomatáktól, a szupermarket kasszái mellé telepített vonalkódolvasóktól, valamint egy operátorpulttól vett jeleket dolgoz fel. A rendszer két beléptetı és két kiléptetı kaput, hat fizetıautomatát, valamint a kasszák mellé telepítvett 40 vonalkódolvasót tartalmaz. (Azonban a támogató szoftverrendszert fel kell készíteni arra, hogy a kapuk száma, a fizetıautomaták száma és a vonalkódolvasók száma esetlegesen bıvülhet.) A parkolás a beléptetı kapunál kezdıdik, amikor a kocsi vezetıje (parkoló ügyfél) megnyomja a belépés gombot. Ekkor a kapu a vezetı részére egy parkolócédulát nyomtat, rajta az adott parkolást azonosító vonalkóddal, és a kocsi rendszámával, amit a rendszámtábláról a kapu tartozékaként telepített kamera olvasott le. (A rendszám olvashatatlansága nem akadálya a parkolásnak, viszont a kiléptetésnél némi kényelmetlenséggel jár – lásd késıbb.) A szoftverrendszernek gondoskodni kell a következı szabályok mőködésérıl: A parkolás elsı egy órája ingyenes, a parkolási díj minden további megkezdett órában egy fix óradíjjal növekszik. Ha azonban a parkoló ügyfél egy adott összegen felül vásárol a szupermarketben, akkor a vásárlás napján a parkolás – annak idıtartamától függetlenül – ingyenes. Ilyen vásárlásról a rendszer úgy szerez tudomást, hogy az áru fizetésekor a pénztáros leolvastatja a parkolócédulát a kassza mellé telepített vonalkódolvasóval. Nem díjmentes parkolásért a fizetıautomatáknál lehet fizetni. Az automata a parkolócéduláról leolvasott vonalkód alapján megjeleníti a fizetendı összeget. A fizetés után az autónak 20 percen belül kell távozni valamelyik kiléptetı kapun, ellenkezıleg a díj tovább növekszik, és a növekményt ismételt fizetéssel kell kiegyenlíteni. – Kivételesen (pl. fizetıautomata hibája esetén, vagy parkolócédula elvesztése esetén) az operátorpultnál is lehet fizetni. Amikor az autó a kiléptetı kapuhoz érkezik, akkor az azonosítja odatelepített kamera által leolvasott rendszám alapján, és ha a parkolás díjtalan, vagy a díj ki van fizetve, akkor automatikusan nyitja a sorompót (a kocsi megállás nélkül távozhat). Ha a rendszám felismerhetetlen, akkor a kiléptetés csak az azonosításban különbözik, amennyiben az ilyenkor nem a rendszám, hanem a vonalkód alapján történik: ilyenkor a kocsival a kapunál meg kell állni, a parkolócédulát a kapu leolvasó készülékébe kell helyezni. Nem azonosítható autó vagy ki nem fizetett parkolási díj esetén a kiléptetı kapu sorompója nem nyílik fel. (Ha a nem azonosíthatóság a vonalkódolvasó és a kamera együttes hibájának következménye, a kezelıszemélyzet mechanikusan is ki tudja nyitni a sorompót, de ez a szoftveres rendszeren kívüli lehetıség, amellyel a modellnek nem kell foglalkozni.) A fenti ismertetés alapján fontolja meg, kik a rendszer felhasználói; milyen használati esetek képzelhetık el; és készítse el a rendszer használati eset diagramját! – Speciálisan az elveszett parkolócédula rendezését úgy tüntesse fel, mint a fizetés az operátori pultnál használati eset opcionális kiegészítését! 18. feladat Készítse el a 17. feladatban ismertetett parkolási rendszer objektumdiagramját!
82
INFORMATIKUS SZAKMAI ISMERETEK
19. feladat A 18. feladat megoldásaként kapott objektumdiagramból elvonatkoztatva és az esetleges bıvítési igényeket is figyelembe véve készítse el a 17. feladatban ismertetett parkolási rendszer osztálydiagramját! – Gondolja át, milyen feladatokat bízna a kapott osztályok példányaira! 20. feladat Készítse el a 17. feladatban ismertetett parkolási rendszerben parkoló autó állapotdiagramját (a belépéstıl a kilépésig)! – Tartsa szem elıtt, hogy az autó olyan változásai, amelyek a parkolási díjat nem befolyásolják (pl. koccanás vagy az autó feltörése), ebben a rendszerben irrelevánsak. Ennek az a magyarázata, hogy az itt tervezett szoftvernek csak a parkolási rendszert kell mőködtetnie. 21. feladat Készítse el annak a folyamatnak a szekvenciadiagramját, amely azzal indul, hogy a parkoló ügyfél a fizetıautomata olvasójába teszi a parkolócédulát, és azzal zárul, hogy ugyanı a kijelzın mutatott összeg kifizetése után kiveszi a visszaadott parkolócédulát és a visszajáró pénzt. 22. feladat Állapítsa meg, hogy a 20-21. feladatok megoldása feltárt-e olyan újabb attribútumokat és mőveleteket, amelyekkel a probléma sztatikus modelljét bıvíteni kellene! 23. feladat Ez a feladat és a következı 24-29. feladat egy lakás biztonsági rendszerét támogató számítógépes rendszer tervezéséhez járul hozzá. Az itt következı problémaleírást a 24-29. feladatok megoldásánál is fel kell használni. A lakás biztonsági rendszerének vezérlése az érzékelıkrıl és kapcsolótáblá(k)ról vett jeleket dolgoz fel. A lakásnak két bejárata van, mindkét bejáratnál (belül a lakásban) van egy-egy kapcsolótábla. A vezérlırendszer élesítése, hatástalanítása vagy mőködésének beállítása (pl. egyes zónák kiiktatása a következı élesítés alól) bármely kapcsolótábláról elvégezhetı. (A két bejárat és ezzel a két kapcsolótábla csak az adott esetre jellemzı, egyébkét a rendszer további kapcsolótáblákkal bıvíthetı.) A lakás hat zónára (helyiségre) tagolódik. A zóna fogalma lehetıvé teszi, hogy a lakásban a riasztást csak részlegesen (csak bizonyos zónákra kiterjedıen) élesítsük. Például a lakás 1-es és 4-es zónájában egy vendég tartozkódik, amikor távozni akarunk otthonról. Akkor a riasztót úgy élesíthetjük, hogy az élesítésbıl az említett zónákat kiiktatjuk. (Természetesen egy nagyobb lakásban a rendszer több zónából is állhat.) Az érzékelık kétfélék lehetnek: mozgásérzékelık és nyílászáróérzékelık. Ezeket azért is meg kell különböztetni, mert a riasztás élesítése történhet mindkét típusú érzékelıre vonatkozóan (amikor a lakásból távozunk); csak a nyílászáróérzékelıkre vonatkozóan (amikor a lakásban tartózkodunk). Az érzékelık elhelyezése (M: mozgásérzékelı, N: nyílászáróérzékelı):
INFORMÁCIÓRENDSZER FEJLESZTÉSE
83
1. zóna: 1M, 2N; 2. zóna: 1M, 3N; 3. zóna: 2M, 4N; 4. zóna: 1M, 1N; 5. zóna: 1M, 2N; 6. zóna: 1M, 2N.
Természetesen egy nagyobb épület nagyobb helyisége (zónája) több érzékelıvel is fel lehet szerelve. A fenti ismertetés alapján fontolja meg, kik a rendszer felhasználói; milyen használati esetek képzelhetık el; és készítse el a rendszer használati eset diagramját! 24. feladat Készítse el a 23. feladatban ismertetett biztonsági rendszer objektumdiagramját! 25. feladat A 24. feladat megoldásaként kapott objektumdiagramból elvonatkoztatva és az esetleges bıvítési igényeket is figyelembe véve készítse el a 23. feladatban ismertetett biztonsági rendszer osztálydiagramját! – Gondolja át, milyen feladatokat bízna a kapott osztályok példányaira! 26. feladat A lakó kiiktatja az 1-es, majd a 3-as zónát, azután távozással élesíti a rendszert. Készítse el a lakó itt leírt aktivitása által a rendszer elemei között kiváltott együttmőködés szekvenciadiagramját! – A szekvenciadiagram legyen összhangban a 24. és a 25. feladatra adott megoldásokkal! 27. feladat A 26. feladatban adott élesítés után sorrendben a következı érzékelıktıl érkeznek riasztások a megfelelı zónához: (1) a 3-as zóna egyik mozgáérzékelıjétıl, (2) az 1-es zóna egyik nyílászáróérzékelıjétıl, (3) a 2-es zóna egyik nyílászáróérzékelıjétıl. Készítse el az itt leírt jelsorozat által a rendszer elemei között kiváltott együttmőködés szekvenciadiagramját! – A szekvenciadiagram legyen összhangban a 24. és a 25. feladatra adott megoldásokkal! 28. feladat Készítse el a tárgyalt biztonsági rendszer zónáinak állapotdiagramját! A diagramon szerepeljenek a következı állaptok: Alap, Kiiktatott, Otthon tartózkodással élesített, Távozással élesített; továbbá szerepeljen rajta a hardvertıl érkezı órajel esemény; a vezérléstıl érkezı kiiktatás, élesítésO (élesített otthon tartózkodással), élesítésT (élesítés távozással) és a hatástalanítás esemény (üzenet); a mozgásérzékelıktıl érkezı riasztásM esemény és a nyílászáróérzékelıktıl érkezı riasztásN esemény (üzenet)! A diagram fejezze ki, hogy a zóna kiiktatott állapotban nem reagál az érzékelık jelzéseire, továbbá a zóna kiiktatása csak a legközelebbi élesítés alól vonja ki a zónát. Fejezze ki azt is, hogy a zóna az Otthon tartózkodással élesített állapotban a riasztásM eseményre nem reagál. A zóna bármely riasztásra
84
INFORMATIKUS SZAKMAI ISMERETEK
úgy reagál (ha reagál), hogy a vezérlésnek továbbítja a riasztást, azaz végrehajtja a vezérlés.riasztás akciót. A zóna bármely állapotában reagál az órajel eseményre mégpedig úgy, hogy ellenırzi a ráakasztott érzékelık üzemképességét, és ha valamelyik nem válaszol (ırszem: [vmelyik érzékelı nem válaszol]), akkor végrehajtja a vezérlés.riasztás akciót. 29. feladat Állapítsa meg, hogy a 26-28. feladatok megoldása feltárt-e olyan újabb attribútumokat és mőveleteket, amelyekkel a probléma sztatikus modelljét bıvíteni kellene!
1. 2.
3. 4. 5.
6. 7.
8. 9.
A tapasztalt hibák okának azonosítása és a program javítása. Ez a tevékenység a program specifikációja és megvaló- X sítása közötti eltérések, ellentmondások, az ebbıl eredı hibák felderítésére irányul. Eszköze a nyomkövetés lépésenkénti végrehajtással. Egyik feladata az interfészelemzés. A stresszteszt, amikor arra keresi a választ, hogy ha a rendszert szélsıséges terhelésnek teszik ki, az okoz-e adatvesztést vagy szolgáltatás-összeomlást. Annak bizonyítása, hogy a terméket jól készítettük el. A stresszteszt, amikor olyan programozási hibák kiderítését célozza, amelyeket csak egy bizonyos szint feletti terhelés képes elıhozni Üzenettel megszólított másik komponens válaszának téves értelmezését feltáró tesztelés. Annak bizonyítása, hogy a megfelelı terméket készítettük el.
Belövés
X
X X K
X
X K
Statisztikai tesztelés
Interfészteszt
X
X K
Hiányosságtesztelés
Érvényesítés
Igazolás
A sorokban adott meghatározások, illetve állítások az oszlopokkal adott tevékenységek közül mely(ek)nek felelnek meg?
Szoftverátvizsgálás
30. feladat
K
X
X
X X