A kurzussal kapcsolatos levelezést, anyagok küldését a 2013korszeru@gmail.com címre kérem.
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.
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":
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/
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