1. gyakorlat Strukturális modellezés Megoldások

Hasonló dokumentumok
1. gyakorlat Strukturális modellezés Megoldások

1. gyakorlat Strukturális modellezés Megoldások

1. gyakorlat Strukturális modellezés Megoldások

Rendszermodellezés 1. ZH, A csoport, nagyfeladatok

ADATBÁZISOK. 3. gyakorlat E-K modell

Adatbázismodellek. 1. ábra Hierarchikus modell

Strukturális modellezés

Az adatbázis-alapú rendszerek tervezésének alapvető része az adatok modellezése. Ez legtöbbször két fázisban zajlik:

Adatbázisok I. Jánosi-Rancz Katalin Tünde 327A 1-1

Programozás I gyakorlat

Tájékoztató. Használható segédeszköz: -

Felhasználói kézikönyv

Országos Rendezési Tervkataszter

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

GráfRajz fejlesztői dokumentáció

Magas szintű adatmodellek Egyed/kapcsolat modell I.

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

Táblák és a közöttük / az adatmezők közötti kapcsolatok grafikusan megjelenítve. 7 tábla, adatmezőik, bennük elsődleges és külső kulcsok

Adatbázis használat I. 1. gyakorlat

Adatbázis-kezelés. alapfogalmak

Szakterületi modell A fogalmak megjelenítése. 9. fejezet Applying UML and Patterns Craig Larman

SSADM Dokumentáció Adatbázis Alapú Rendszerek

Adatmodellek. 2. rész

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

22. GRÁFOK ÁBRÁZOLÁSA

Mezők viszonya a relációs adatbázis tábláiban

5. SOR. Üres: S Sorba: S E S Sorból: S S E Első: S E

Gráfelméleti alapfogalmak

Hogyan fogalmazzuk meg egyszerűen, egyértelműen a programozóknak, hogy milyen lekérdezésre, kimutatásra, jelentésre van szükségünk?

Adatmodellezés, alapfogalmak. Vassányi István

3. gyakorlat Folyamatmodellek, kooperáló viselkedésmodellek Megoldások

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

A tanulók oktatási azonosítójára és a két mérési területen elér pontszámukra lesz szükség az elemzéshez.

Használható segédeszköz: számológép (mobil/okostelefon számológép funkció nem használható a vizsgán!)

A magyar teljesítménytúra-naptár fejlődése,

Adatbázis, adatbázis-kezelő

I. Internetes keresési feladatok (ajánlott idő: 20 perc)

Táblázatkezelés Excel XP-vel. Tanmenet

A 2018/2019 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai. INFORMATIKA I. (alkalmazói) kategória

Egész számok. pozitív egész számok: 1; 2; 3; 4;... negatív egész számok: 1; 2; 3; 4;...

A WORDPRESS TESTRESZABÁSA (MEGJELENÉS MENÜ ELEMEI)

Strukturális modellezés

Adatmodellezés. 1. Fogalmi modell

3. feladat Géprajz-Gépelemek (GEGET224B) c. tárgyból a Műszaki Anyagtudományi Kar, nappali tagozatos hallgatói számára

Adatbázis rendszerek 2. előadás. Relációs algebra

Windows rendszeradminisztráció és Microsoft szerveralkalmazások támogatása. 5. óra. Kocsis Gergely, Supák Zoltán

NYOMDAIPARI ALAPISMERETEK

Strukturális modellezés

LBRA6i integrált rendszer

5. Gyakorlat. struct diak {

26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA

EGYSZERŰ SZÁMÍTÁSOK TÁBLÁZATKEZELÉS ELINDULÁS SZE INFORMATIKAI KÉPZÉS 1

CAD Rendszerek I. Sajátosság alapú tervezés - Szinkron modellezés

Csima Judit október 24.

Bemutató anyag. Flash dinamikus weboldal adminisztrációs felület. Flash-Com Számítástechnikai Kft Minden jog fenntartva!

BitTorrent felhasználók értékeléseinek következtetése a viselkedésük alapján. Hegedűs István

Nagy HF u tmutato 2011/2012 II. fe le v

Struktúra alapú modellezés

Rendszermodellezés. Hibatűrő Rendszerek Kutatócsoport. λ λ λ. μ μ μ. Bergmann Gábor Darvas Dániel Molnár Vince Szárnyas Gábor Tóth Tamás

1. előadás Alapfogalmak Modellezés, a Bachman-féle fogalomrendszer, adatmodell,

Programozási nyelvek Java

Struktúra alapú modellezés

5. Előadás tartalma Magas szintű adatbázismodellek Adatmodellezés

7. előadás. Karbantartási anomáliák, 1NF, 2NF, 3NF, BCNF. Adatbázisrendszerek előadás november 3.

V/6. sz. melléklet: Táv- és csoportmunka támogatás funkcionális specifikáció

Rendszermodellezés Hibatűrő Rendszerek Kutatócsoport

Playlist.hu Kiadói kézikönyv

Adatbázis rendszerek. dr. Siki Zoltán

Javítási útmutató ÍRÁSBELI DOLGOZATHOZ

Logikai adatmodell kialakítása

Versenyző kódja: 3 27/2012. (VIII. 27.) NGM rendelet MAGYAR KERESKEDELMI ÉS IPARKAMARA. Szakma Kiváló Tanulója Verseny.

BODROGKOZ.COM / HASZNÁLATI ÚTMUTATÓ

Digitális Szabadidő Térkép mobil és web alkalmazás Útmutató

A 27/2012 (VIII. 27.) NGM rendelet (12/2013 (III. 28.) NGM rendelet által módosított) szakmai és vizsgakövetelménye alapján.

WordPress segédlet. Bevezető. Letöltés. Telepítés

A HONALPSZERKESZTÉS ALAPJAI. 50 feladat. a Debreceni Egyetem Informatikai Karának. Informatikus Könyvtáros szakos hallgatói számára

Adatbázis-kezelés az Excel 2013-ban

Feladatok megoldásai

Táblázatkezelés Excel XP-vel. Tanmenet

Mio Technology Limited C510, C710. Gyors használati utasítás a Mio Map v3 programhoz. Magyar

30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK

Elektronikus ügyintézés /ügyintéző súgó. Az ügyintéző által végzendő munkafolyamat lépései:

Parametrikus tervezés

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:

KAPCSOLÁSI RAJZ KIDOLGOZÁSA

Készítette: Bruder Júlia

Tanszéki Általános Formai Követelmények

AUTOSOFT AMS A PROFIT GENERÁTOR


A statisztikai funkció használati útmutatója (2014 Július)

MATEMATIKA ÍRÁSBELI VIZSGA május 5.

Circuit breaker control function funkcióhoz block description. Beállítási útmutató az árambemeneti

Felhasználói útmutató Created vasárnap 08 február 2015

1. oldal, összesen: 5

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT

DebitTray program Leírás

Informatikai alapismeretek Földtudományi BSC számára

Felhasználói útmutató

A szürke háttérrel jelölt fejezet/alfejezet szövege a CD-mellékleten található. A CD-melléklet használata. 1. Elméleti áttekintés 1

A 27/2012 (VIII. 27.) NGM rendelet (12/2013 (III.28) és 25/2014 (VIII.26) NGM rendelet által módosított) szakmai és vizsgakövetelménye alapján.

Átírás:

1. gyakorlat Strukturális modellezés ok Figyelem: Jelen anyag belső használatra készült megoldási útmutató, melyet a ZH felkészülés segítése érdekében publikáltunk. A feladatok részletesebb megoldása magyarázattal gyakorlaton hangzott el. Specifikáció Webes galériát fejlesztünk, ahol a művészek publikálhatják a saját készítésű képeiket, amelyek grafikák, festmények, művészi fényképek egyaránt lehetnek. A következőket tudjuk: Piktor Panna publikálta galériánkban a Tavaszi bérc és a Hordár című festményeket, valamint a ő töltötte fel Csüggedt harcos című rajzot. Fotós Feri lőtte a Hólepte Hortobágy és a Vadászó ölyv című természetfotókat. Gyűjtő Gyöngyi egy Természet című gyűjteményt hozott létre, amely a Tavaszi bérc, Vadászó ölyv és Hólepte Hortobágy képeket za; ezen felül egy Megfáradtak című gyűjteménybe tette a Csüggedt harcos és a Hordár című képeket; végül a Kedvenceim című gyűjteménybe foglalta az előbb említett két másik gyűjteményt. Látogató Laci a Kedvenceim című gyűjteményre iratkozott fel. Néző Nóra nagyon szereti Piktor Panna képeit, ezért követi a munkásságát. Ezen felül feliratkozott a Természet című gyűjteményre is. A képek jellemzői a következők: Kép címe Dátum Kategória Rajztechnika Fényképezőgép Fókusztáv Tavaszi bérc 2010-08-13 Kézi grafika Olajfestmény Vadászó ölyv 2014-11-02 Fotográfia Canon EOS 5D 300 mm Hordár 2013-06-01 Kézi grafika Vízfesték Hólepte Hortobágy 2015-01-25 Fotográfia Nikon D800 10 mm Csüggedt harcos 2012-05-02 Kézi grafika Wacom tablet Mivel a webes felületen mindez az információ elérhető, ezért valamilyen módon nyilván kell tartanunk. 1. Típusok modellezése a. Milyen alapvető elem- és kapcsolattípusokat sugallnak a szöveges felsorolással megadott viszonyok? (Típushierarchiát még ne építsünk!) Ábrázoljuk típusgráffal! Ügyeljünk arra, hogy azonos fogalmakat egyféle megnevezéssel illessünk! b. A fenti táblázat alapján milyen típusokba sorolhatóak a képek a rajtuk értelmezhető jellemzők köre szerint? c. Milyen típushierarchiára következtethetünk az előző két részfeladat válaszaiból? d. A felhasználók a különböző kapcsolataik alapján besorolhatóak-e altípusokba? a. Észrevehetjük, hogy címkéjű él mindig gyűjteményt jelentő csomópontból megy képet jelentű csomópontba lehet, hogy pont két csomóponttípust és egy éltípust fogtunk! A csomóponttípusok és éltípusok megválasztása elég egyértelmű, de persze az élek elnevezése, irányítása egyedi is lehet; például kép személy él helyett lehet személy publikál kép él, akár összevissza is. Érdemes időt szentelni arra, hogy lőtte és publikálta élek helyett konzistensen egyféle nevezéktant használjunk. A fordított probléma is előjöhet pl. fogalmilag nem ugyanaz a tartalmazás viszony van gyűjtemény és gyűjtemény, ill. gyűjtemény és kép között. Egy lehetséges megoldás: 4. ábra. 1

b. Észrevehetjük, hogy a jellemzők egy köre ( Rajztechnika ) csak a képek egy részén, míg más jellemzők ( Fényképezőgép, Fókusztáv ) csak a többi képen értelmezettek. A két csoportot épp a Kategória jellemző értéke alapján különíthető el. Vegyük észre, hogy egy képet alapvetően az jellemez, hogy milyen módon készült és ez nem fog később megváltozni. Ez tehát két típusnak tekinthető. c. A gráfmodell alapján volt egy Kép típusunk, és bizonyos jellemzők ill. gráfélek minden Képre értelmesek. Ugyanakkor a tulajdonságmodell alapján megkülönböztettünk Fotográfia és Kézi grafika típusokat. Összességében tehát ez utóbbi két típus a Kép altípusának tekinthető. d. Kézenfekvőnek tűnhet, hogy megkülönböztessük a művész (kép) felhasználókat a gyűjtőktől (akik csak követnek, feliratkoznak, stb.). Ez azonban nem jó típusbesorolás, mivel az idő folyamán változhat (pl. Látogató Laci is feltölthet képet, és akkor átkerülne más típusba). Általában a típus szót (szemben pl. a fogalom szóval) csak olyan kategorizálásnál használjuk, amikor egy elem besorolása nem változik az időben, ezért nem javasolt típusrendszert alapozni arra, ki művész és ki látogató. Ajánlás ajánlott ajánló célpont Kép követ Személy feliratkozás Gyűjtemény 1. ábra. Típusgráf megoldás 2. Gráf alapú struktúramodellezés a. Alkossunk gráfmodellt a szöveges felsorolással megadott viszonyok alapján! b. Látogató Laci Néző Nóra figyelmébe ajánlotta a Vadászó ölyv című képet. Egészítsük ki a gráfot ezzel a tudással! c. Milyen művelettel kaphatunk egy egyszerűsített nézetet, amelyik csak a gyűjtemények ási rendjét mutatja? d. Milyen jellegű lesz ez a gráf? Állíthatnánk-e többet róla, ha lenne egy olyan szabály, hogy egy gyűjteményt egyszerre legfeljebb egyetlen másik gyűjtemény foglalhat magába? e. Ábrázoljuk az így kapott nézetet más módon, a ási viszonyok implicit kifejezésével! 2

f. Bontsuk szét a Természet gyűjteményt két külön t gyűteményre ( Madárfotók és Tájak, értelemszerű tartalommal), amelyek szintén Gyűjtő Gyöngyi kezelésében vannak! Ellenőrizzük a felbontás helyességét! g. Egy kép mindazon gyűjteményekben megjelenik, amelyekben közvetlenül ták. Ezen felül azon gyűjteményekben is megjelenik a kép, amelyek magukba foglalnak egy olyan másik gyűjteményt, amelyben megjelenik a kép. Mely gyűjteményekben jelenik meg a Tavaszi bérc című kép? Hogyan fogalmazható meg gráfelméleti megközelítéssel, hogy mely képek jelennek meg egy gyűjteményben? a. Itt egyszerűen gráfot kell építeni a szöveges leírás alapján. Egy lehetséges teljes megoldást (későbbi feladatokra utaló kiegészítésekkel) mutat a(z) 2. ábra. : ajánlás ajánló célpont Látogató Laci feliratkozás Kedvenceim ajánlott Néző Nóra Természet feliratkozás Madárfotók Megfáradtak Tájak Gyűjtő Gyöngyi Vadászó ölyv Hólepte Hortobágy Tavaszi bérc Csüggedt harcos Hordár követ Fotós Feri Piktor Panna 2. ábra. Gráfmodell megoldás (kiegészítésekkel) b. Ez egy többes (ternáris) viszony. Ha nem hipergráffal dolgozunk, akkor a hiperél helyére éltranszformációval érdemes egy csomópontot bevezetni (pl. ajánlás ), és ezt egyszerű éllel bekötni a hiperél három lábához. Ld. a(z) 3. ábrán alkalmazott megoldást. 3

Kedvenceim Természet Megfáradtak Madárfotók Tájak 3. ábra. Szűrt gráf implicit ási viszonyokkal, megoldás (kiegészítésekkel) c. Élcímkére szűrjük a részgráfot. d. A feltételezés mellett a ási rend egy hierarchia jellegű fagráf lesz, ld. 4. ábra. A feltételezés nélkül azonban ezt nem mondhatjuk, nem feltétlenül fa, mivel kör lehet benne (ld. gyémánt probléma). De ez a kör biztos nem irányított kör (hiszen a körkörös ás értelmetlen), erre is van fogalmunk: DAG, azaz directed acyclic graph (irányított körmentes gráf). Kedvenceim Természet Megfáradtak Madárfotók Tájak 4. ábra. Szűrt gráf explicit ási viszonyokkal, megoldás (kiegészítésekkel) e. Implicit megjeleníthető a ási viszony többféleképpen, pl. egyszerű betagolt egymás alá helyezéssel. Talán a legszemléletesebb a 4. ábrán alkalmazott ó ábrázolás. f. Ez egy strukturális dekompozíció. Nyilván a Vadászó ölyv kerülne a madaras algyűjteménybe, a másik két kép a másikba. A módosítás eredménye az 2, 3, 4. ábrákon egyaránt fel van tüntetve. A dekompozíció helyes, ha az eredeti gyűjtemény minden képe bekerült valamelyik új gyűjteménybe. g. A Tavaszi bérc képet közvetlenül za a Tájak (eredetileg a Természet ) gyűjtemény, ezért abban meg fog jelenni. Ezen felül megjelenik a Tájak gyűjteményt ó Természet gyűjteményben, végül az azt tartalmazó Kedvenceim -ben. Azon gyűjteményekben látszik egy kép, amelyekből a kép elérhető olyan gráfútvonallal, amely 0 vagy több címkéjű él után egy élben végződik. Másként: ha a címkéjű él tranzitív lezártjával és egy további éllel elérhető. 3. Tulajdonságmodellezés a. A táblázatosan jelzett tulajdonságokon felül a megtekintések számát is nyilvántartjuk. Bővítsd ki vele a fenti táblázatot! 4

b. A webes galériánkban elérhető egy eseménynapló nézet, ahol csak a képek címei és feltöltési dátumai láthatóak. Milyen művelettel kapható meg az ehhez a nézethez szükséges információ? c. A történeti visszatekintő funkció lehetővé teszi, hogy egy adott év vagy időszak képeit szeretnénk csak látni. Milyen művelettel kapható meg az ehhez a nézethez szükséges információ? a. Ehhez vegyük fel egy új megtekintések száma oszlopot. b. Ez egy vetítés művelet, amely az első két oszlopot tartja meg. c. Ez egy szűrés művelet, amely csak azokat a sorokat tartja meg, amelyekben a Dátum jellemző értéke egy adott tartományba esik. 4. Megvalósítás adatbázisban Tervezz olyan adatbázisstruktúrát, amely a webes galéria információinak tárolására alkalmas! Kezdjük ezzel a résszel: Kep(id, cim, datum,..., fokusztav) Szemely(id, nev,...) Ezek gyakorlatilag táblázatfejlécek, pár sort ki is tölthetünk a táblázatból (a képek esetén ez a feladatsorban majdnem adott). Hogyan tároljuk a éltípust? Általános megoldás egy külön kapcsolótáblában: feltolto(kep_id, szemely_id) Speciális esetként most elintézhető egyszerűbben: mivel a képhez csak egy tartozhat, a Kep táblába felvehetünk egy feltolto_szemely_id oszlopot. Ilyenkor a kapcsolótáblát a vetítés tanult műveletével bármikor visszakapjuk, ezért nincs információvesztés ezzel az összevonással (AdatB-n erről még sokat tanulnak!). A többi csomópont és éltípus kezelése ehhez hasonló. Pár érdekes pont maradt még. Mivel az ajánlás fiktív csomópont, nem szükséges hozzá id, a három éle egyértelműen meghatározza: ajanlas(ajanlo_szemely_id, ajanlott_kep_id, celpont_szemely_id) A Kép kétféle altípusa többféleképpen is reprezentálható vagy egy táblában, helyenként kitöltetlen cellákkal, ahogy most csináljuk. De felvázolhatunk más lehetőséget, pl. szét is lehet csapni altáblákba, csak a közös attribútumokat meghagyva a közös táblánál: Kep(id, cim, datum, kategoria) KeziGrafika(kep_id, rajztechnika) Fotografia(kep_id, fenykepezogep, fokusztav) 5. Kiegészítő feladat: megvalósítás programmal a. Készíts olyan adatstruktúrát kedvenc programozási nyelvedben, amely egy ilyen webes galéria tartalmának reprezentálására szolgál! (Maguk a képfájlok most nem érdekesek.) b. Egészítsd ki olyan eljárással (metódussal) a programot, amely képes egy gyűjteményben látható képeket felsorolni! 5

Kiindulási ötlet: készítsünk egy C struktúrát a Kép jellemzőivel, meg egy hivatkozással a Személy rekordjára: typedef struct { char* cim; time_t datum; //... Szemely* feltolto; } Kep; 6