VIII. Témakör: XML

Ez az oldal szerkesztés alatt, ahogyan haladunk,  aktualizálom.
Az oldal behívása után kérem frissítse azt! (Reload szükséges!)

Előzmények: VII. Témakör: Objektumrelációs adatbázisok (1-3. gyak.)
XML az Oracle 10g.2-ben:
>> 8.1. Oracle 10.2g XPath alapismeretek
>> 8.2. További XPath feladatok (papíron)
>> 8.3. Oracle 10.2g XQuery alapismeretek

_____________________________________________________
11. gyak. (2008.XI.25/27)
 

8.1. Oracle 10.2g XPath alapismeretek

Ajánlott irodalom:
>>  Ullman-Widom: Adatbázisrendszerek. Alapvetés, Panem, 2008.
       Második, átdolgozott kiadás (megjelent: 2008. november. ÚJ!!!)
       -- 11. fejezet A félig-struktúrált adatmodell. XML.
       -- 12. fejezet Programozási nyelvek az XML-hez. XPath. XQuery.
>> Oracle XML DB Developer's Guide10g (10.2)   HTML    PDF  
      (ez például 852 oldalas doksi, 781-800.o.>> B Appendix XPath)
>> W3C ajánlás XML:  http://www.w3.org/XML/  
      XPath 2.0: http://www.w3.org/TR/xpath20/  
      XQuery & XPath Data Model: http://www.w3.org/TR/xpath-datamodel/
>> W3Schools XML Tutorial:   W3Schools Tutorial     XML Tutorial
      XPath Tutorial:  XPath Tutorial   XQuery Tutorial: XQuery Tutorial

Segédanyagok: Nikovits Tibor összefoglalói és kidolgozott példái
>> XML dokumentum, XMLTYPE, adatok lekérdezése: xml_alapok.txt
>> A példák alapjául szolgáló XML dokumentum itt: xml_dok_pelda.txt
>> XPath nyelv, lokációs lépések, XPath kifejezések: xpath_alapok.txt 
  
Feladatok:
-- XPath kifejezések építőköveinek bemutatása: xpath examples  (www.zvon.org)
-- XPath példák (feladatok megoldásokkal) xpath_feladatok.txt
    A példák alapjául szolgáló XML dokumentum itt található: xml_dok_pelda.txt
    (Ezt nyomtassátok ki, mert fontos a csomópontok nevében a kis/nagybetű!)
--  1.) Adjuk meg a teljes dokumentumot
--  2.) Adjuk meg az összes csúcsot (az összes létező részfát)
--  3.) Adjuk meg az összes második csúcsot (az összes létező részfák 2. csúcsait)
--  4.) Adjuk meg az első kölcsönző nevét.
--  5.) Adjuk meg azokat a csomópontokat, amelyeknek van 'ar' attribútuma
--  6.) Adjuk meg a DVD csomópontok szöveges tartalmát nyitó és záró tagek nélkül
--  7.) Adjuk meg az összes előadót
--  8.) Adjuk meg a 2600-nál olcsóbb vagy 3800-nál drágább DVD-ket
--  9.) Adjuk meg azokat a csomópontokat, amelyeknek van 'eloado' vagy 'szerzo' attributuma
-- 10.) Adjuk meg azokat a csomópontokat, amelyeknek van 'cim' és 'szerzo' attributuma
-- 11.) Adjuk meg azokat a csomópontokat, amelyeknek nincs attribútuma
-- 12.) Adjuk meg a Shrek DVD csomópontját
-- 13.) Adjuk meg a 'Szep Holnap' című CD árát
-- 14.) Adjuk meg azoknak a CD-knek a címeit, amelyeknek ára legalább 3000
-- 15.) Adjuk meg a 'Shrek' DVD árát
-- 16.) Adjuk meg a Gipsz Jakab által kölcsönzött konyvek szerzőit
-- 17.) Adjuk meg azoknak a CD-knek az előadóit, amelyeket nem Gipsz Jakab kölcsönzött
-- 18.) Adjuk meg azoknak a nevét, akik kölcsönöztek Zorán CD-t
-- 19.) Adjuk meg azok nevét, akik kölcsönöztek könyvet
-- 20.) Adjuk meg azok nevét, akik kölcsönöztek könyvet vagy CD-t
-- 21.) Adjuk meg a Gipsz Jakab utáni kölcsönzők nevét
-- 22.) Adjuk meg a Gipsz Jakab utáni kölcsönző nevét
-- 23.) Adjuk meg az utolsó kölcsönző nevét
-- 24.) Kik azok, akik 2 könyvet kölcsönöztek
-- 25.) Kik azok, akik csak 1 féle dolgot kölcsönöztek
-- 26.) Mely csomópontok nevében van 'r' betű?
-- 27.) Mely csomópontnevek hossza 2?

HF+ Házi feladat (beadandó +pontért). Beküldése, lásd  Beadandók beküldése 
-- 1.) Adjuk meg azoknak a CD-knek a címeit, amelyek előadójának neve 'Z' betűvel kezdődik.
-- 2.) Adjuk meg a CD-t is kölcsönző kölcsönzők közül az utolsónak a nevét.
-- 3.) Adjuk meg az utolsó kölcsönző nevét, feltéve, hogy ő kölcsönzött CD-t.
         (Ha nem kölcsönzött, akkor üres eredmény)
-- 4.) Adjuk meg azok nevét, akikre igaz, hogy az általuk kölcsönzött CD-k árainak összege
         több mint 3000.
-- 5.) Adjuk meg azok nevét, akikre igaz, hogy az általuk kölcsönzött összes dolog árainak összege
         kevesebb mint 8000.
-- 6.) Adjuk meg azok nevét, akikre igaz, hogy az általuk kölcsönzött CD-k átlagára több mint 2600. 
_____________________________________________________
13. gyak. (2008.XII.02/04)
 - XML - XQuery

8.2. További XPath feladatok (papíron)

Segédanyagok: Nikovits Tibor összefoglalói és kidolgozott példái
>> XML dokumentum, XMLTYPE, adatok lekérdezése: xml_alapok.txt
>> A példák alapjául szolgáló XML dokumentum itt: xml_dok_pelda.txt
>> XPath nyelv, lokációs lépések, XPath kifejezések: xpath_alapok.txt 
  
Feladatok:
>> Adott egy XML dokumentum xml_dok_pelda.txt (kolcsonzes tábla azon=1 sorában).
    (Ezt nyomtassátok ki a ZH-ra, mert fontos a csomópontok nevében a kis/nagybetű!)
>> Adjuk meg papíron, hogy az alábbi XPath kifejezések milyen eredményt szolgáltatnak.
-- 'descendant-or-self::Kolcsonzo[self::*/descendant::CD/@eloado="Zoran"]/@nev'
-- '//Kolcsonzo[.//CD/@eloado="Zoran"]/@nev'
-- '//Kolcsonzo[//CD/@eloado="Zoran"]/@nev'
-- '//CD[@eloado="Zoran"]/ancestor::*/@nev'
-- '//Kolcsonzo[@nev="Gipsz Jakab"]/following-sibling::*[1]/@nev'

8.3. Oracle 10.2g XQuery alapismeretek

Ajánlott irodalom:
>>  Ullman-Widom: Adatbázisrendszerek. Alapvetés, Panem, 2008.
       Második, átdolgozott kiadás (megjelent: 2008. november. ÚJ!!!)
       -- 11. fejezet A félig-struktúrált adatmodell. XML.
       -- 12. fejezet Programozási nyelvek az XML-hez. XPath. XQuery.
>> Oracle XML DB Developer's Guide10g (10.2)   HTML    PDF  
      (ez például 852 oldalas doksi, 781-800.o.>> B Appendix XPath)
>> W3C ajánlás XML:  http://www.w3.org/XML/  
      XPath 2.0: http://www.w3.org/TR/xpath20/  
      XQuery & XPath Data Model: http://www.w3.org/TR/xpath-datamodel/
>> W3Schools XML Tutorial:   W3Schools Tutorial     XML Tutorial
      XPath Tutorial:  XPath Tutorial   XQuery Tutorial: XQuery Tutorial

Segédanyagok: 
Nikovits Tibor összefoglalói és kidolgozott példái
>> A példák alapjául szolgáló XML dokumentum itt: xml_dok_pelda.txt
>> XQuery, FLWOR kifejezés: xquery_alapok.txt
  
Feladatok:
-- 1.) Igaz-e, hogy minden Kolcsonzo kölcsönzött DVD-t?
-- 2.) Hány kölcsönző van? Valójában a neveiket számoljuk meg.
-- 3.) Adjuk meg a kölcsönzők nevét és az általuk kölcsönzött CD-k árának összegét!
         (XML formátumban)
-- 4.) Mely CD-ket kölcsönözte ki Kis Virag?
-- 5.) Igaz-e, hogy minden kölcsönző kölcsönzött CD-t? (az eredmény igen vagy nem legyen)
-- 6.) Mennyi a kölcsönzött DVD-k árának összege? (string nélkül csúnyán írja ki)
-- 7.) Mennyi a legolcsóbb CD ára?
-- 8.) Adjuk meg az alábbi formában, hogy ki hány darab dolgot kölcsönzött.
         OSZLOP
         ----------------------------------------
         <Kolcsonzo nev="Gipsz Jakab" darab="4"/>
         <Kolcsonzo nev="Kis Virag" darab="3"/>
         <Kolcsonzo nev="Nagy Pal" darab="1"/>
-- 9.) Adjuk meg az alábbi formában, hogy ki milyen összértékű dolgokat kölcsönzött.
         OSZLOP
        -------------------------------------------
        <Kolcsonzo nev="Gipsz Jakab" össz="11500"/>
        <Kolcsonzo nev="Kis Virag" össz="8700"/>
        <Kolcsonzo nev="Nagy Pal" össz="2500"/>

_______________________________________________________