2013. tavaszi félév: Korszerű adatbázisok (2+2) (IPM-08irKAEG/1)

 

(Utolsó módosítás 2013. május 13.)

 

A kurzussal kapcsolatos levelezést, anyagok küldését a 2013korszeru@gmail.com címre kérem.

Tematika:

 

Big Data, számítási felhők, virtualizáció, NoSQL adatbázis-kezelők, gráfadatbázis-kezelők, szemantikus web, SPARQL,

XML adatbázisok, XML sémák (DTD, XSD), XML lekérdező (XPath, XQery), transzformáló nyelvek (XSLT), XML kezelése Oracle-ben,. XML indexelés

Szemantikus technológiák Oracle-ben, komplex fejlesztői környezetek, Oracle ADF, többrétegű adatbázis-kezelő alkalmazások, multimédia adatbázisok

 

A kurzus teljesítéséhez szükséges követelmények:

 

Az írásbeli vizsgán a következő tételekből egyet kell majd esszészerűen kidolgozni 3-4 oldalon.

 

Vizsgakérdések:

 

1.      Mutassa be részletesen, példákon keresztül az XML-t, az Xpath és Xquery lekérdező nyelvet.

2.      Mutassa be részletesen, példákon keresztül az XML-t és a DTD és XSD sémaleírást.

3.      Mutassa be részletesen, példákon keresztül az XML-t és az XSLT transzformációs nyelvet.

4.      Mutassa be részletesen, példákon keresztül a szemantikus web lényegét, reprezentálását, a SPARQL nyelvet.

5.      Mutassa be részletesen, példákon keresztül a gráfadatbázis-kezelők lényegét, a Neo4J-t és a Cypher lekérdező nyelvet.

6.      Mutassa be részletesen, példákon keresztül a NoSQL adatbázis-kezelők lényegét, a MongoDB-t és a lekérdező nyelvét.

7.      Mutassa be részletesen, példákon keresztül a Hadoop, MapReduce technológia lényegét.

 

 

Az előadások anyaga:

 

 

1.      előadás

Big data, közösségi hálók: KA 01.pptx

Felhők és a virtualizáció: Virtualizacio.pptx

NoSQL, MongoDB: Mongodb.ppt

Szemantikus web, Sparql: SemWeb_SWP.ppt

 

A kurzus twitter oldalának neve: Korszerű Adatbázisok @2013korszeru

A twitter adatok elérése az ELTE-n (CasJobs - MS SQL server alatt): http://nm.vo.elte.hu/casjobs/

A CasJobs rendszer leírása: tr-2005-19.pdf

 

Feladat a pénteki gyakorlatra:

1.      Mindenki regisztráljon a twitterre és KÖVESSE a @2013korszeru usert.

2.      Mindenki regisztráljon az ELTE-s twitter adatbázisba és nézze meg a twitter tábláit. (SQL-ben a users táblát [users] formában kell a parancsba írni.)

3.      Mindenki írjon össze 5 érdekes lekérdezést, ami a twitter adatokra vonatkozik, és futtassa le.

 

 

1.      gyakorlat

Hadoop, Map/Reduce: hadoop_prezi.ppt

A twitter adatainak betöltési folyamata: twitter.pptx

A twitter adatok relációs adatbázissémája: create_db.sql.txt

A CasJobs Twitter adatokon lekérdezések megfogalmazása, futtatása

Twitter adatok elérése: http://nm.vo.elte.hu/casjobs/

 

Feladatok:

1.      Hány tweet volt 2012 december 24-én? (A többi lekérdezés is erre a napra vonatkozik.)

2.      Hányban szerepet az XMAS szó ezek közül?

4.      Hányban szerepelt a http://www.youtube.com/watch?v=z8Vfp48laS8 ?

5.      Hány magyar nyelvű tweet volt?

6.      Melyik tweetet retweetelték a legtöbbször aznap?

7.      Hányan retweeteltek aznap?

8.      (Ki,kit) retweetelt gráfnak hány csúcsa, hány éle van?

 

Megoldás: tweet_lekerdezes_megoldasok.pdf

 

 

2.      előadás

Gráfadatbázisok, Neo4J: neo4j.pdf

XML alapozás, XML, DTD, Xpath, Xquery: xml_dtd_xpath_xquery.ppt

 

Online Xpath kiértékelő: http://www.mizar.dk/XPath/

Minta xml: http://people.inf.elte.hu/kiss/13kor/kolcsonzesek.xml

 

Fejezzük ki Xpath lekérdezésekkel:

1.      Adjuk meg a 'Szep Holnap' című CD árát!

2.      Adjuk meg azoknak a CD-knek a címeit, amelyeknek ára legalább 3000!

3.      Adjuk meg azoknak a nevét, akik kölcsönöztek Zorán CD-t!

4.      Adjuk meg azok nevét, akik kölcsönöztek könyvet!

5.      Adjuk meg azok nevét, akik kölcsönöztek könyvet vagy CD-t!

1.      Kik azok, akik 2 könyvet kölcsönöztek?

2.      Kik azok, akik csak 1 féle dolgot kölcsönöztek?

3.      Adjuk meg azoknak a CD-knek az előadóit, amelyeket nem Gipsz Jakab kölcsönzött!

4.      Adjuk meg azokat a csomópontokat, amelyeknek nincs attribútuma!

 

Nagy Dávid megoldásai: XPath.txt

 

További segédlet: XML, XPATH, XSLT angol oktató anyagok példákkal

XML fogalmak magyarul: http://www.zvon.org/xxl/XMLTutorial/General_hun/book.html

Teljes szintaxis: http://www.w3.org/XML/

 

 

2.   gyakorlat

 

            A CasJobs twitteres feladatok megoldásának magyarázata. (Megjegyzés: közben történt egy adatfrissítés, ezért a megoldásban szereplő végeredmények változhattak.)

            Plan gomb használata lekérdezés tervek költségbecslésére

 

            További CasJobs twitteres feladatok:

                        1. Mennyi 2012.12.24 (karácsonyi) tweetben szerepelt a

- „happy”,

- „sad”,

- „glücklich”,

- „traurig”,

- „boldog”,

- „szomorú” szó?

                        2. Hol voltak boldogabbak karácsonykor: több „happy”  Londonban vagy több „glücklich” Berlinben?

                                   http://www.worldatlas.com/aatlas/findlatlong.htm

                                   (Megjegyzés: környezet +-0.01 legyen mindkét koordinátában!)

                                   Berlin: 52.519171 N , 13.406091199999992 E

                                   London: 51.5170986 N , 0.14608380000004217 W

                                  

Ezzel kapcsolatos cikk: http://edition.cnn.com/2013/02/19/tech/social-media/twitter-happiness/index.html

 

További Xpath lekérdezések:

Online Xpath kiértékelő: http://www.mizar.dk/XPath/

Minta xml: http://people.inf.elte.hu/kiss/13kor/kolcsonzesek.xml

                      

                        1. Ki kölcsönzött CD-t?

                        2. Ki kölcsönzött 3200 forintos CD-t?

                        3. Ki kölcsönzött CD-t és DVD-t is?

                        4. Ki nem kölcsönzött CD-t?

                        5. Ki kölcsönzött Zorán CD-t?

                        6. Ki kölcsönözött legalább 2 CD-t?

                        7. Mi Kis Virag 2. kölcsönzött CD-jének a Címe?

 

                        Nagy Dávid hallgató megoldásai: XPath2.txt

 

            XQuery lekérdezések:

                        Online Xquery kiértékelő: http://www.semwebtech.org/xquery-demo/

Minta xml: http://people.inf.elte.hu/kiss/13kor/kolcsonzesek.xml

 

1. Az előző feladatok XQery-ben.

2. Hány Zoran CD-t kölcsönöztek?

3. Mennyi a kölcsönzött könyvek összes ára?

4. Mennyi a Zoran CD-k kölcsönzések összára?        

5. Ki kölcsönözte a legtöbb CD-t?

6. Ki kölcsönözte a legtöbb Zoran CD-t?

7. Melyik DVD a legdrágább és ki kölcsönözte ezt ki?

8. Kik kölcsönöztek legalább egy megegyező előadójú CD-t?

 

Nagy Dávid hallgató megoldásai: XQuery.txt

 

 

           

            Az xml fájl: http://people.inf.elte.hu/vzoli/Korszeru_Adatbazisok/gyumolcsok.xml

            A beadandó feladatok: http://people.inf.elte.hu/kiss/13kor/KAB_1_Beadando_xquery.txt     

 

3. előadás

 

Egy XML: cdcatalog.xml

Egy XSLT: cdcatalog.xsl

Az XSLT alkalmazása az XML-re: cdcatalog_with_xsl.xml

 

XSLT bevezetés: xslt.ppt (Bilicki Vilmos előadásai: http://www.inf.u-szeged.hu/~bilickiv/fpt_2005_1/ 2. előadás:2.ppt másik változatban: XML-XSD-XSLT.ppt )

XSLT oktatóanyag (magyarul, példákkal): http://www.zvon.org/xxl/XSLTutorial/Output_hun/contents.html

XSLT oktatóanyag (angolul, példákkal): http://www.w3schools.com/xsl/default.asp

 

Online XSLT kiértékelő: http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=cdcatalog

 

Feladatok (XSLT-vel oldjuk meg, a CD katalógust használva (a stíluslapokat mentsük el)):

 

1.         A CD katalógust listázzuk úgy ki, hogy az énekes, lemezcím és ár jelenjen meg.

2.         Csak az 1990 utáni Cd-k összes adatát listázzuk ki. (Az év fejléc piros legyen, a többi kék.)

3.         Csak az USA lemezek összes adatát listázzuk ki, csökkenő időrendi sorrendben.

4.         Az előző feladat táblázata alatt jelenjen meg, hogy hány darab USA lemez van és mennyi az összáruk.

5.         A Cd katalógusból készítsünk olyan XML fájlt, hogy minden címkét cseréljünk le a magyar megfelelőjével (title = cím, stb.).

6.         A Cd katalógusból készítsünk olyan XML fájlt, amely annyiban más, hogy CD helyett DVD szerepel minden címkében, ahol a CD szerepelt és a Price elem hiányzik.

7.        Írassuk ki a prímszámokat 50-ig. (n-ig).

 

Nagy Dávid hallgató megoldásai:NADRAAI_XSLT.txt

 

További extrém XSLT alkalmazások (nem minden link működik már): http://incrementaldevelopment.com/xsltrick/

 

3. gyakorlat

 

XSLT és SPARQL feladatok

 

SPARQL szintaxis: http://www.w3.org/TR/rdf-sparql-query/#sparqlSyntax

SPARQL online demo: http://librdf.org/query/

1. Javítsuk ki a 8. lekérdezést, mert szintaktikusan hibás.

2. Az 1. lekérdezést XML-ben írassuk ki, majd XSLT-vel hozzuk ugyanolyan táblázatos formára, mint amilyen a táblázatos eredmény lenne.

3. Az 1. lekérdezést XML-ben írassuk ki, majd XSLT-vel hozzuk olyan formára, mint a JSON-os eredmény lenne.

 

SWP 2.0: SemWeb-war

SPARQL feladatok: SWPGyakFeladatok.doc Megoldások: http://people.inf.elte.hu/kiss/13kor/SWPGyakFeladatokMegoldasok.doc

           

            További Sparql anyagok:

SPARQL tutorial: http://www.cambridgesemantics.com/2008/09/sparql-by-example/#%281%29

Oracle anyagok: http://www.oracle.com/technetwork/database/options/semantic-tech/events-082086.html

http://people.inf.elte.hu/kiss/13kor/semtech_sparql.pdf

doksi: http://people.inf.elte.hu/kiss/13kor/e11828.pdf

Kapcsolatos keresése: http://www.visualdataweb.org/relfinder.php

           

 

A 2. beadandó feladat: KAB_2_Beadando_sparql.txt

 

4. előadás

 

XML kezelés Oracle-ben: http://people.inf.elte.hu/kiss/13kor/Oracle%20XML.ppt

XML indexelési technikák (strukturális indexek): http://people.inf.elte.hu/kiss/13kor/Tudomanyos.ppt

 

Feladatok:

1. Az SWP-ben a wine modellből SPARQL segítségével gyűjtsük ki a vörös, száraz borok nevét (wine) és ízét (flavor) és az eredményt mentsük le RDF/XML fájlba.

 (A wine ontológia: http://www.w3.org/TR/owl-guide/wine.rdf )

2. Oracle-ben hozzunk létre egy pelda(id,xm,xst,res) táblát, ahol id egész értékű, xm és xst XML típusú oszlop, a res pedig szöveget (HTML kódot) fog majd tárolni.

3. Az 1. feladat RDF/XML eredményét töltsük be az id=1 sorba, az xm oszlopba.

4. Oracle-ben kérdezzük le, hogy a ChateauMorgonBeaujolais bornak milyen az íze (flavor)?

5. Készítsünk egy XSLT-t, amely egy HTML lapot készít az 1. feladat eredményéből, amelyen az adatok wine,flavor fejlécű táblázatban szerepelnek, és mentsük el az XSLT-t.

6. Töltsük be az XSLT-t, mint XML fájlt az id=1 sor, xst oszlopába.

7. Írjunk egy Oracle eljárást, amely a pelda tábla minden sorára az xm oszlopában tárolt XML-re alkalmazza

az xst oszlopában tárolt XSLT-t és az eredményt a res oszlopba teszi.

8. Teszteljük az eljárást az id=1 sorral.

 

Nagy Dávid hallgató megoldásai: wine.txt

 

4. gyakorlat

 

Xml adatok betöltése: xml_load1.txt

Az előadáshoz létrehozott pelda(id,xm,xst,res) táblába

az id=2 sorba, az xm oszlopba töltsük be a cdcatalog.xml-t,

az xst oszlopába a cdcatalog.xsl-t,

a res oszlopba pedig az előadás 7. feladatához készített eljárással töltsük be az XSLT-vel kapott eredményt.

            (Segítség a transzformáláshoz: http://docs.oracle.com/cd/E11882_01/appdev.112/e10492/xdb08tra.htm#ADXDB4721  )

Ha nem sikerült az eljárást megírni, akkor a cdcatalog_with_xsl.xml-t töltsük be az utolsó oszlopba. 

 

Oracle-ben hajtsuk végre a következő lekérdezéseket:

 

Lekérdezések:

1. A 10-nél drágább CD-k címét és árát kérdezzük le!

2. Az EU lemezek előadóit és címét kérdezzük le!

3. Mennyi a UK lemezek összesített ára?

4. Hány lemez van a katalógusban?

5. Melyek a B-vel kezdődő zenészek lemezcímei?

 

Módosítások (minden eredményt egy új id-hez tartozó sor xm oszlopába mentsük):

6. Utolsó lemeznek vigyük be az Omega (HU), 1978-as Time Robber lemezét, melynek ára 1.5, kiadó a Pepita!

7. Töröljük az össze Rod Stewart lemezt!

8. Tegyük vissza a törölt Rod Stewart lemezeket oda, ahonnét töröltük őket!

9. Módosítsuk az Omega lemezének árát 1.5-ről 2-re!

10. Vegyünk fel egy új attribútumot az Omega és Gary Moore esetében az artist elemben, az attribútum neve legyen genre (műfaj), az értéke ’rock’!

11. Készítsünk egy olyan XSLT-t, amely a ’rock’ lemezeket listázza ki: Műfaj: rock felirat alatt két oszlopos táblázat, CD címe és ára, táblázat alatt összegezve az ár!

12. Tegyük be az XSLT-t az 10. feladat megoldásához létrehozott rekordba.

13. Alkalmazzuk a 12. feladatban létrehozott XSLT-t a rekordban szereplő XML-re és az eredményt az utolsó sorba tegyük.

 

Oracle Xquery használata: http://docs.oracle.com/cd/E11882_01/appdev.112/e23094/xdb_xquery.htm#CBAIIEFG

 

A táblát egészítsük ki egy xq oszloppal és ide tegyük a az xquery lekérdezéseket. Amire alkalmazzuk, az xm oszlopban legyen, a lekérdezés eredménye a res oszlopban.

14. A 3. feladatot oldjuk meg Xquery-vel!

15. Hány UK lemez van?

16. Állítsuk elő az ország, átlagár táblázatot tetszőleges XML formában.

17. Melyik országban legnagyobb az átlagár?

 

Nagy Dávid hallgató megoldásai: oracle_XML_CD.txt

 

5. előadás

 

XML betöltése Oracle táblába (Az XML-t előtte kanonikus formává kell alakítani XSLT-vel átalakítani - ROWSET, ROW.

Minden címke csupa nagybetű legyen!): http://people.inf.elte.hu/kiss/13kor/o55xml.html

DBMS_XMLSTORE : http://stanford.edu/dept/itss/docs/oracle/10g/appdev.101/b10790/xdb_dbmstore.htm#CACIDHFI

 

Feladatok:

1. Írjunk egy employees.xsl XSLT-t, amely az  http://people.inf.elte.hu/kiss/13kor/Employees.xml, amely Employees.xml-t kanonikus alakra hozza.

2. A 4. gyakorlaton létrehozott pelda(id,xm,xst,res) táblába vigyük be az Employees.xml-t és az employees XSLT-t,

majd a res mezőbe generáljuk le az eredményt (a kanonikus alakot).

3. Készítsünk egy employees táblát a megfelelő oszlopokkal és DBMS_XMLSTORE segítségével töltsük fel.

4. A pelda táblában hozzunk létre egy új sort XSLT segítségével, amelynek xm oszlopa csak az officer-eket tartalmazza,

    de 1 évvel idősebbek, az xst és res oszlop a kanonikus alakra hozó XSLT, illetve az eredmény.

5. Ezzel a sorral és DBMS_XMLSTORE segítségével módosítsuk az employees táblát.

6. Hozzunk létre egy sort a példa táblában, amelynek xm oszlopa a 25 éveseket tartalmazza, az xst és res oszlop értelme változatlan.

7. Ezzel a sorral és DBMS_XMLSTORE segítségével töröljük a 25 éveseket employees táblából.

 

Ismételjük át a SYS_XMLGEN(kif [,fmt]) függvény és a SYS_XMLAGG(kif [,fmt]) függvény,

illetve a DBMS_XMLGEN csomag használatát. http://people.inf.elte.hu/kiss/13kor/Oracle%20XML.ppt

 

8. Az employees táblából generáljuk le az Employees.xml-t és az employees_kanonikus.xml-t.

9. Az employees táblából generáljuk le az Employees_with_attrib.xml-t, amelyben minden Employee elemnek van egy id attribútuma, melynek értéke a dolgozó sorszáma a kor szerinti növekvő sorrendben.

 

Nagy Dávid hallgató megoldásai: Oracle_DBMS_XML.txt

 

5. gyakorlat

 

Március 15-e miatt elmaradt.

 

6. előadás

 

Az XSD XML séma és használata Oracle-ben.

http://people.inf.elte.hu/kiss/13kor/XML-3.pdf (Tarcsi Ádám előadása)

Xsd példák (oktató anyag): http://www.zvon.org/xxl/XMLSchemaTutorial/Output/series.html

XML Schema Tutorial - Oktató anyag angolul: http://www.w3schools.com/schema/default.asp

 

Oracle XML Schema doksi (letöltve e10492.pdf ) következő fejezetei:

Sémák regisztrálása: http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10492/xdb05sto.htm

Sémák generálása: http://docs.oracle.com/cd/E11882_01/appdev.112/e10492/xdb06stt.htm#i1032141

Xml validálása a séma szerint: http://docs.oracle.com/cd/E11882_01/appdev.112/e10492/xdb08tra.htm#g1030361

 

XML normálformák, funkcionális függőségek

Libkin.ppt BP10majus.pdf XMLFD.pdf XMLAQTR.pdf

 

Egy diplomamunka XML tranzakció-kezelésből: XMLtranzakcio.pdf

 

Feladatok:

0. Tervezzünk egy cdcatalog.dtd sémát az cdcatalog.xml fájlhoz.

1. Tervezzünk egy cdcatalog.xsd XSD sémát az cdcatalog.xml fájlhoz.

2. Vigyük be a cdcatalog.xsd és cdcatalog.xml fájlokat a pelda(id,xm,xst,res) Oracle tábla egy sorába, az xm és a res oszlopba.

3. Validáljuk az Oracle segítségével a tervezett sémát.

4. Generáljunk az Oracle segítségével a cdcatalog-ból egy xsd sémát és tegyük be egy új sorba a pelda(id,xm,xst,res) táblába.

 

Nagy Dávid hallgató megoldásai: XSD.txt

 

6. gyakorlat

 

Gráfadatbázisok (Neo4J): neo4j.pdf

 

Miért gyorsabb a gráfbejárás, mint az SQL összekapcsolásos megvalósítás: Neo4J_meap_ch01.pdf 

 

Neo4J: http://www.neo4j.org/

Dokumentáció: http://docs.neo4j.org/

Minta adathalmazok (twitter is): http://www.neo4j.org/develop/example_data

 

Gremlin: https://github.com/tinkerpop/gremlin/wiki

Cypher: http://docs.neo4j.org/chunked/stable/cypher-query-lang.html

 

Esettanulmányok: http://www.neotechnology.com/customers/

 

A Cypher lekérdező nyelv rövid összefoglalása: Neo4j_CheatSheet_v3.pdf

 

A virtuális gép a Neo4J feladatokhoz (twitter mintaadatokkal).

Saját gépre is telepíthető, ha a virtuális szerverrel valami gond lenne. Telepítési útmutató: install.txt

A twitter minta adatgráf: twitter.s12gx.zip

 

Feladatok:

 

A twitter séma: feladatok.txt

A twitter adatok közti kapcsolatok: edges1.png

           

jeff=node(10)

star=node(116)

 

            1. Milyen tageket használt jeff?

            2. Hányat tweetelt jeff?

            3. Mikor tweetelt először jeff?

            4. Mely tweetekben szerepel a "neo4j" hashtag, jeff tweetjei közül?

            5. Milyen tageket használt jeff és star közösen?

            6.a. Kik említették egymást a tweetjeikben?

            6.b. Páronként csak egyszer írjuk ki!

           

 

7. előadás

 

További Cypher feladatok:

 

6.c. Csak azokat írjuk ki, akik nem ismerik egymást.

            7. Adjuk meg a 10 legtöbbször előforduló hashtaget az előfordulások számával!

            8.a. Írjuk ki a jeff által küldött tweetek szövegét, a benne szereplő hashtageket tweetenként csoportosítva! (a hashtageket listaként kell megadni)

            8.b. Csak azok a tweetek jelenjenek meg, melyekben legalább két hashtag van!

            9.a. Melyik a legrövidebb út jeff és star között a KNOWS típusú élek mentén?

            9.b. Hány csúcsból áll?

            10.a. Hány 5 vagy 6 hosszú út van jeff és star között a KNOWS típusú élek mentén?

            10.b. Ezek közül melyik utakon szerepel jeff csak kezdőcsúcsként?

            10.c. Ezek közül melyik út körmentes?

           

            Megoldások: megoldasok.txt

 

További feladatok: a KNOWS irányított gráf elemzése

 

11. Mennyi a felhasználók száma?

12. A KNOWS relációk száma?

13. A ki-fokok eloszlása?

14. A be-fokok eloszlása?

15. Mennyi az irányított háromszögek száma?

16. Mennyi az átlagos irányított úthossz két felhasználó között?

 

Megoldások: 3. beadandó

 

Alkalmazásfejlesztési keretrendszerek, jdeveloper

 

Cséri Tamás segédlete JdevTutorCseriTamas.pdf

Cseh Péter segédlete: CsehPeter_oktatoanyag.pdf

 

Oracle RIA:

 

A jdeveloper fejlesztőkörnyezet lehetőségei: JDeveloper.pdf

Az Oracle ADF (Application Development Framework): The_Fusion_Development_Platform.pdf

Az ADF fejlesztési módszertanának dokumentációja: http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/toc.htm

 

ELŐKÉSZÍTÉS:

 

sqldeveloper letöltése

Az Oracle 11g a … gépen található.

A connectálásnál a Service name: …

 

Oracle 11g-ben a HR séma másolása saját sémába :

- Töltsük le ezt a scriptkönyvtárat majd csomagoljuk ki.

- Script a HR séma létrehozásához és felöltéséhez  (hr_main.sql)

   Ebben a scriptben írjuk át a .sql fájlok elérési útvonalait arra, ahová mentettük és futassuk le sqldeveloperben.

(Ha valamiért újra létre kell hozni a sémát, akkor töröljük az előzőleg használt sémát ezzel a scripttel. hr_drop.sql)

 

jdeveloper 11g letöltése, telepítése

 

JDEVELOPER HASZNÁLATA:

1. Az első egyszerű Java kód elkészítése, futtatása, jdeveloper lehetőségeinek megismerése (kb 50 perc)

 letöltött verzió

 

2. Az átmásolt sémához webes alkalmazás készítése (kb. 2 óra)

letöltött verzió

 

3. Egy webes alkalmazás készítése (1,5 óra)

letöltött verzió

 

 

 

A 3. beadandó és bemutatandó feladat: beadando3.txt

 

Ebben a fájlban gyűjtjük össze a tapasztalt jdeveloper problémákat és megoldásokat: Jdeveloper FAQ.txt

 

 

7. gyakorlat

 

A twitteres jdeveloper alkalmazás beadandó bemutatása.

 

Grafikus elemek használata jdeveloper környezetben (grafikonok, térképek, Master Detail kapcsolatok)

 

Oktatóanyag: http://people.inf.elte.hu/kiss/13kor/gant_chart_pivot_table.htm

                 Oracle Spatial International Geocoder: http://elocation.oracle.com/geocoder/

           

            Feladatok:

            1. Bővítsük az alkalmazást úgy, hogy grafikonon lehessen látni az angol, magyar és német nyelvű tweetek számát!

    (Vigyünk be az alkalmazással új rekordokat és ellenőrizzük, hogy frissült-e a grafikon!)

2. (Haladó változat) Lehessen menüből kiválasztani azokat a nyelveket az előforduló nyelvekből, amelyekhez tartozó tweetek számát grafikonon szeretnénk látni!

3. Bővítsük az alkalmazást úgy, hogy

tegyünk térképen egy jelet minden tweethez tartozó pozícióra,

arányos legyen a jel mérete a tweet-hez tartozó retweet értékkel,

a jelre állva mutassa a tweet szövegét!

            4. Hozzunk létre egy follower (from_id, to_id) követőket tartalmazó táblát. Bővítsük úgy az alkalmazást, hogy lehessen keresni a táblában.

            5. Bővítsük úgy az alkalmazást, hogy a follower tábla bármelyik rekordjára állva lehessen látni a to_id felhasználó tweet rekordjait!

            6. Bővítsük úgy az alkalmazást, hogy lehessen törölni, módosítani a follower táblában! Ellenőrizzük, hogy frissül-e az eredmény!

 

           

8. előadás

 

Oracle multimédia kezelése: Oracle_multimedia.ppt (bővebben: Oracle_multimedia2.ppt )

http://www.oracle.com/technetwork/database/multimedia/overview/multimedia11gr2-featover-128418.pdf

Speciális DICOM típus: http://hu.wikipedia.org/wiki/Digital_Imaging_and_Communications_in_Medicine

            és kezelése: intermedia_java_qs.pdf

Oracle multimedia Users guide (fogalmak, típusok, függvények): OracleMultimediaDocUserGuide.pdf

Oracle multimedia Reference (metódusok szintaxisa, képfeldolgozási függvények):

Release 1: OracleMultimediaDoc.pdf

          Release 2: OracleMultimediaDoc 2.pdf (HTML-ben: http://oracle.su/docs/11g/appdev.112/e10776/toc.htm )

http://docs.oracle.com/cd/E11882_01/appdev.112/e10777/toc.htm

 

 

Képkezelő alkalmazás készítése jdeveloper segítségével: http://youtu.be/_KYquJwYFGE

 

Feladatok:

1. Készítsünk egy profile (user_id, photo) táblát és töltsük fel legalább 4 felhasználóval és 5 képpel.

2  Haladóknak: írjunk alkalmazást, amellyel rekordbevitelkor választani lehet a könyvtárban található képek közül, hogy melyik kép legyen a második oszlopban,

3. Az alkalmazást bővítsük úgy, hogy a follower tábla böngészésekor az azonosítókkal együtt a fényképek is látszanak.

4. Bővítsük az alkalmazást, hogy a megjelenő kép méretét (magasság, szélesség) is megadja.

5. Írjunk egy scriptet, ami a profile össze fotóját tükrözi.

6. Haladóknak: építsük be az alkalmazásba a tükrözési funkciót, vagy más képtranszformálást, például kicsinyítést, szürkévé alakítást.

7. A tükrözött képeket exportáljuk ki.

8. Haladóknak: az exportálást építsük be az alkalmazásba.

 

8. gyakorlat

 

A jdeveloper és oracle multimedia feladatok befejezése, bemutatása.

 

9. előadás

 

NoSQL és a MongoDB: Mongodb.ppt MongoDB.pdf

 

Segítség a MongoDB-hez:

 - MongoDB referencia: http://docs.mongodb.org/manual/reference/

 - Rövid összefoglaló "kártyák":

    - mongodb_qrc_queries.pdf

    - sql_to_mongo.pdf

 

Feladatok: MongoDBFeladatok.txt

 

1. Generáljuk le a 10×10-es szorzótáblát egy saját adatbázis gyűjteményébe!

A gyűjtemény dokumentumai pl.:

  {"a": 1, "b": 1, "szorzat": 1}

  {"a": 1, "b": 2, "szorzat": 2}

  ...

  {"a": 10, "b": 10, "szorzat": 100}

2.a. Olvassuk ki a szorzótáblából a 7-tel való szorzáshoz tartozó sorokat!

2.b. Olvassuk ki a szorzótáblából a 3×8 értékét! (Nem a hozzá tartozó sort, hanem csak az értéket.)

2.c. Olvassuk ki a szorzótáblából a négyzetszámokat!

 

A twitter adatbázis messages táblájában a Twitter API által visszaadott üzenetek vannak lementve.

Minden dokumentum egy eseményről értesít. Esemény lehet új tweet beérkezése, vagy meglévő tweet törlése.

Segítség az adat szerkezetéhez:

 - https://dev.twitter.com/docs/platform-objects/tweets

 - https://dev.twitter.com/docs/streaming-apis/messages

 

3. Hány esemény történt összesen? Ebből hány volt tweet és hány volt törlés?

4. Írjuk ki azoknak a tweeteknek a szövegét, amiben szerepel a "hello" karaktersorozat!

Keressünk úgy is, hogy nem számítanak a kis- és nagybetűk!

5. Listázzuk ki a magyar nyelvet beállított userek nevét és tweetjeit!

6. Listázzuk ki azon userek nevét, akiknek a profilja "642D8B" (lila) színű!

7. Keressünk olyan tweeteket, amelyek egyik hashtagje tartalmazza a "spring" szót! (Kis- és nagybetű nem számít.)

8. Keressük meg, hogy kinek van a legtöbb követője!

9. Írjunk szkriptet, ami minden i-re 1-től 20-ig kiírja, hogy hány olyan tweet van, aminek pontosan i hashtagje van!

 

Az előadáson megoldott feladatok megoldása: MongoDBMegoldasok1-5.txt

 

9. gyakorlat

 

Az 6-9 feladatok megoldásának megbeszélése

 

Új MongoDB témakör és feladatok:

 

http://vic.web.elte.hu/mongodb/ 

 

10. előadás

 

Az aggregáló feladatok megoldás.

 

MapReduce technika MongoDB-ben.

 

Feladatok

 

10. gyakorlat

 

Feladatok megoldása

 

11. előadás

 

Hadoop, Map/reduce

 

Prezentáció és feladatok: http://people.inf.elte.hu/ggombos/korszeru/hadoop_feladat_prezi.ppt