Sei sulla pagina 1di 8

Trabalho sobre Tecnologia XML Henrique M. Bolognese - 17 Mauro A.

Filho - 26

1. O que a tecnologia XML?

Extensible Markup Language (XML) linguagem de marcao de dados (meta-markup language) que prov um formato para descrever dados estruturados. Isso facilita declaraes mais precisas do contedo e resultados mais significativos de busca atravs de mltiplas plataformas. O XML tambm vai permitir o surgimento de uma nova gerao de aplicaes de manipulao e visualizao de dados via internet. O XML permite a definio de um nmero infinito de tags. Enquanto no HTML, se as tags podem ser usadas para definir a formatao de caracteres e pargrafos, o XML prov um sistema para criar tags para dados estruturados. Um elemento XML pode ter dados declarados como sendo preos de venda, taxas de preo, um ttulo de livro, a quantidade de chuva, ou qualquer outro tipo de elemento de dado. Como as tags XML so adotadas por intranets de organizaes, e tambm via Internet, haver uma correspondente habilidade em manipular e procurar por dados independentemente das aplicaes onde os quais so encontrados. Uma vez que o dado foi encontrado, ele pode ser distribudo pela rede e apresentado em um browser como o Internet Explorer 5 de vrias formas possveis, ou ento esse dado pode ser transferido para outras aplicaes para processamento futuro e visualizao.

2. Por que utilizar XML?

Buscas mais eficientes; Desenvolvimento de aplicaes Web mais flexveis. Isso inclui integrao de dados de fontes completamente diferentes, de mltiplas aplicaes; computao e manipulao local dos dados; mltiplas formas de visualizao e atualizao granulares do contedo; Distribuio dos dados via rede de forma mais comprimida e escalvel; Padres abertos.

3. Qual a vantagem do XML sobre os dados relacionais CLOB e BLOB?

A capacidade de guardar informaes com XML muito maior que a do CLOB e BLOB.

4. Na estrutura de um arquivo XML, identifique: elemento, atributo e valor.

Elementos: descrevem dados; Atributos: so como propriedades de um elemento, neles fornecida mais definio sobre o elemento e como propriedades descrevem caractersticas de objetos e classes. Valor:

5. Fazer uma comparao entre as modelagens: Relacional, XML e Hbrida.

O modelo relacional permite ao projetista criar um modelo lgico consistente da informao a ser armazenada. Este modelo lgico pode ser refinado atravs de um processo de normalizao. Um banco de dados construdo puramente baseado no modelo relacional estar inteiramente normalizado. O plano de acesso, outras implementaes e detalhes de operao so tratados pelo sistema DBMS, e no devem ser refletidos no modelo lgico. Isto se contrape prtica comum para DBMSs SQL nos quais o ajuste de desempenho freqentemente requer mudanas no modelo lgico.

J o XML capaz de descrever diversos tipos de dados e o seu propsito principal a facilidade de compartilhamento de informaes, sendo considerado um bom formato para a criao de documentos com dados organizados de forma hierrquica, como se v frequentemente em documentos de texto formatados.

O modelo hbrido, onde se mistura o modelo relacional com XML j permite ter ambas as vantagens do modelo relacional e do XML, alm de uma maior flexibilidade. Sobre essa flexibilidade, podemos destacar: Consultas e modificaes em dados XML de maneira eficiente, permitindo extrao e insero de sees dentro
de um documento XML sem precisar substituir todo o documento;

Interoperabilidade entre os dados relacionais e XML;

Suporte a idiomas para consultas e modificaes de dados para aplicativos entre domnios; Dados bem formados alm de, opcionalmente, validar os dados de acordo com esquemas XML; Indexao de dados XML para processamento eficiente de consultas e boa escalabilidade e o uso de um
otimizador de consulta de primeira classe.

Funcionalidade administrativa do servidor de banco de dados para gerenciar dados XML como, backup,
recuperao e replicao.

6 O que Xpath? D um exemplo.

XPath advm de XML Path Language (linguagem de caminhos XML), usa uma sintaxe diferente da do XML e oferece uma forma flexvel de referenciar diferentes partes dum documento XML. Tambm pode ser usado para testar nodos referenciados dentro dum documento para determinar se respeitam um certo padro.

A XML Path Language, XPath, parte importante da famlia de tecnologias XML, j que ela prov a possibilidade de selecionar e filtrar dados contidos em um ou mais documentos XML. Quando trabalhamos com XML em geral, vrios so os casos de uso que surgem aos quais podemos aplicar expresses XPath para realizar pesquisas sobre esses documentos.

Exemplo de contagem de nodos: count( /PedidosItens/Pedidos ) Pedidos filho de PedidosItens

7 Explique os caracteres curingas do Xpath.

Seleciona todos os elementos, independentemente do nome de elemento.

EX: livraria/*/catlogo

Localiza elementos emph em qualquer lugar dentro trechos do Catlogo, em qualquer lugar dentro de livraria.

8 O que so predicados Xpath? D exemplos.

Em XPath uma expresso dentro de [] designa-se por predicado. Um predicado visa especificar ainda mais um dado elemento: testanto a sua posio na rvore, o seu contedo, ... /AAA/BBB[1] - Seleciona o primeiro elemento BBB filho de AAA. /AAA/BBB[last()] - Seleciona o ltimo elemento BBB filho de AAA.

9 D exemplos de eixo-pai no Xpath.

.. parent::node() ../cd o mesmo que parent::node()//child::cd

10 Explique as funes SQL/XML:

- XMLPARSE So usadas para ler, atualizar, criar, e manipular arquivos XML, - XMLSERIALIZE Fazer a serializao/deserializao. Criar um objeto a partir de um XML.

- XMLVALIDATE Esta task valida tanto se o XML est sintaticamente correto (abrindo e fechando todas as tags) como tambm valida contra a DTD (linguagem para definir a estrutura de um documento XML). - XMLEXISTS xmlexists: as linhas retornadas contm um documento XML com o valor especificado. Retorna verdadeiro ou falso.

select name from clients where xmlexists($c/Client/Address[zip = 95116] passing clients.contact as c) - XMLQUERY xmlquery: retorna elementos do documento XML select xmlquery($c/Client/email passing contact as c) from clients where status = Gold Seleciona os ns email filhos do n Client do documento XML no campo contact da tabela clients sendo o campo status igual a Gold. Para selecionar o texto do n email, utilizar text()

- XMLTABLE xmltable: retorna uma tabela relacional a partir de documentos XML.

select t.comment#, i.itemname, t.customerID, Message from items i, xmltable($c/Comments/Comment passing i.comments as c columns Comment# integer path CommentID, CustomerID integer path CustomerID,Message varchar(100) path Message) as t Converte os ns Comment do documento XML no campo comments da tabela items numa tabela de nome t com colunas Comment# (para o n CommentID), CustomerID (para o n CustomerID) e Message (para o n Message)

- XMLCAST

11 Considerando as vantagens de XML sobre o modelo relacional:

a. Definir um cenrio de aplicao para XML

Modelo de escola com apenas uma tabela que cadastra os alunos. A tabela apresenta dois campos: Codaluno e aluno, sendo aluno uma campo XML que importado dos arquivos "mauro.xml"e "china.xml"

b. Descrever o cenrio em linhas gerais

- create database school using codeset utf-8 territory br; - create table Aluno (Codaluno int not null primary key, aluno xml); - import from "/home/usuario/ALUNO/AAluno.del" of del insert into Aluno;

- dentro de "AAluno.del": 1, "<XDS FIL=""mauro.xml""/>" 2, "<XDS FIL=""china.xml""/>"

- dentro de "mauro.xml": <aluno> <Codaluno>124</Codaluno> <Nome>Mauro Aguiar Filho</Nome> <DataNascimento>01/01/1991</DataNascimento> <Telefone>34664714</Telefone> <Endereco>Rua das Tapiocas 4759</Endereco>

<RG>479741254853</RG> <Responsavel>Mauro</Responsavel> </aluno> - dentro de "china.xml": <aluno> <Codaluno>125</Codaluno> <Nome>Lucas Akira Yada</Nome> <DataNascimento>01/01/1989</DataNascimento> <Telefone>34664714</Telefone> <Endereco>Rua do Rio 59</Endereco> <RG>484564526</RG> <Responsavel>Ricardo</Responsavel> </aluno>

c. Justificar por que o modelo XML seria melhor do que o relacional

Porque em casos onde a estrutura dos dados organizada em um padro, como o nosso, o xml se torna mais eficiente se comparado ao modelo relacional, o tratamento e a manipulao dos dados em xml mais facil do que em modelos relacionais normalizados.

d. Definir consultas para o cenrio

- select * from Alunos; - select Codaluno from Aluno where xmlexists('$c/aluno[Responsavel="Mauro"]' passing Aluno.aluno as "c"); - select Codaluno, xmlquery('$c/aluno/RG' passing aluno as "c") from Aluno where xmlexists('$c/aluno[Nome="Lucas Akira Yada"]'passing Aluno.aluno as "c"); - select Codaluno from Aluno where xmlexists ('$c/aluno[RG="484564526"]' passing Aluno.aluno as "c");

Potrebbero piacerti anche