Você está na página 1de 2

Lista de Exerccios

MC536 Bancos de Dados: Teoria e Prtica Instituto de Computao Universidade Estadual de Campinas Banco de Dados na Web XML, XPath, XQuery 2013 Andr Santanch

Considere a representao grfica a seguir de um esquema XML referente a publicao de artigos em conferncias e revistas cientficas (journals). O elemento <publications> define um ttulo <title> geral, um conjunto de categorias <categories> (em que as publicaes esto categorizadas) e as publicaes elementos <publication>. Diversos elementos, como o <title>, so definidos como multiLangType, que indica que alm da string de contedo, tm um atributo @lang que define em que lngua o contedo est. O conjunto de categorias define a chave que ser usada para classificar as categorias @catkey e um ttulo descritivo do conjunto de categorias <title>. Cada categoria <category> dentro do conjunto define uma chave de identificao @key e rtulo. H um tipo de categoria especial year que ser usada para agrupar publicaes por ano. Cada publicao <publication> define ttulo <title>, um conjunto de autores <author>, ms <month> e ano <year> em que foi publicada e chaves @key, que associam a publicao a categorias. Uma publicao ter um elemento <event> se foi publicada em um evento (e.g., conferncia ou workshop); para cada evento definido o link @href para a sua pgina, onde ele aconteceu (@ location) e qual os dias de incio @begin e fim @end. Se, por outro lado, a publicao for em uma revista cientfica, um elemento <journal> indicar o link @href da revista, o volume @vol e nmero @n em que o artigo foi publicado. Quando as publicaes esto disponveis online, um ou mais links para os respectivos arquivos so providos pelo elemento <online> atravs do atributo @href.

O esquema e arquivo XML com dados esto disponveis online em:


http://www.ic.unicamp.br/~santanche/publications/publications.xsd http://www.ic.unicamp.br/~santanche/publications/publications.xml

Questo 1 XPath
Elabore expresses Xpath que representam as questes a seguir (voc pode test-las em http://www.online-toolz.com/tools/xpath-editor.php): a) Elementos completos das categorias classificadas por subject (definido pelo @catkey). b) Texto dos rtulos em portugus das categorias classificadas por subject. c) Texto dos ttulos das publicaes posteriores ao ano de 2010. d) Publicaes de Andr Santanch. e) ltimo autor de cada publicao em que aparece Andr Santanch.

Questo 2 XQuery
Elabore expresses XQuery para as consultas especificadas a seguir (voc pode test-las em http://www.zorba-xquery.com/html/demo): a) Retorne quantas publicaes so posteriores ao ano de 2011. b) Para cada publicao, retorne um XML dentro com elemento raiz <summary>, contendo um elemento <title> com o ttulo da publicao e um elemento <nauthors> com o nmero de autores. c) Se o ttulo da publicao no tiver atributo @lang, haver um nico ttulo, caso contrrio, pode haver ttulos em vrias lnguas, mas sempre haver um ttulo em ingls en-US. Refine a consulta anterior para que retorne o nico ttulo (se no houver @lang) ou o ttulo em ingls se houver mais de uma lngua. d) Retorne a categoria cujo <label> em ingls seja 'e-Science Domain'. e) Retorne as publicaes associadas categoria cujo <label> em ingls seja 'e-Science Domain'. A associao entre o label e a key da categoria deve ser feita na consulta. f) Para cada publicao, retorne um XML dentro com elemento raiz <publ>, contendo um elemento <title> com o ttulo da publicao e um elemento <category> com o label em ingls da publicao. g) Retorne o ttulo das publicaes agrupados por categoria da seguinte maneira:

um elemento <group> agrupa cada categoria e dentro dele haver:


um elemento <category> com o label em ingls da categoria um conjunto de elementos <ptitle> com os ttulos das publicaes daquela categoria.

Você também pode gostar