GERÊNCIA DE DADOS SEMI ESTRUTURADOS

Documentos relacionados
Introdução e motivação SGBD XML Nativo Consultas em SGBDs XML Prática. Bancos de dados XML. Conceitos e linguagens de consulta

GERÊNCIA DE DADOS SEMIESTRUTURADOS

GERÊNCIA DE DADOS SEMI ESTRUTURADOS - XQUERY. Prof. Angelo Augusto Frozza

INSTITUTO SUPERIOR TÉCNICO Gestão e Tratamento de Informação

Grupo: Rodrigo Pescador Lucas Silveira Renê Rodrigues Eduardo Dellandrea Thiago Bonetti. BANCOS DE DADOS II Bancos de Dados Semi-Estruturados e XML

Apresentação Modelo e SQL. André Luiz Montevecchi

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de

XSL - extemsible Stylesheet Language. Prof. Antonio Almeida de Barros Jr.

XQuery (2ª parte) DEI IST. (baseado nos slides de Ioana Manolescu, acessíveis em:

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

Banco de Dados PLPGSQL. Prof. Dr. Joel da Silva

Aula 3:Introdução à Linguagem C

Compiladores Ambiente de Execução

Estruturação de Procedimentos

Fundamentos de Programação ORACLE: SQL. Prof. Walter Gima

Administração de Redes de Computadores

O objetivo aqui é criar um sistema para gerenciar os funcionários do Banco.

Estruturas de Controle em Python

Unidade VI. Técnicas de Teste de Software Teste Estrutural. Profa. Dra. Sandra Fabbri

Folha 4.2 Análise sintática ascendente

Introdução à Programação

Introdução à Algoritmos INF 1005 e INF Programação I

Estruturas de Controle em Linguagem C

Fundamentos de Programação

Formas de Gerência de Dados XML

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

XML - Extensible Markup Language

Algoritmos: Estruturas de Controle em Python

Criando uma mala direta com o Microsoft Word e Excel

Gestão e Tratamento de Informação 1º semestre

XML. Prof. Júlio Machado

Sumário. XML (extensible Markup Language)

Paradigmas de Programação

Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação. XML e JSON

Integração Portais de imóveis X Sami ERP++

Fundamentos de Programação

Design de IHC. Capítulo 7. Barbosa e Silva Adaptado por Luciana Mara e Thiago Vilela

5a. Aula - XML

Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl

LABORG. Parte 4 Programação em Linguagem de Montagem do MIPS. Fernando Gehm Moraes Matheus Trevisan Moreira

EA975 - Laboratório de Engenharia de Software

Subconsultas ou Consultas Aninhadas

Liberação de Gerência no Orçamento de Venda

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 31. Instituto de C

Aula de hoje. Comandos. Comandos simples. Comandos. Comandos de controle. Bloco de comandos. SCC Introdução à Programação para Engenharias

Um Modelo Clássico de IHC A Engenharia Cognitiva

Estruturas de Repetição

Configurações Gerais SNGPC - Manual

Manual de Uso Portal do Fornecedor Consulta Conta Corrente

GERÊNCIA DE DADOS SEMIESTRUTURADOS - XSLT. Prof. Angelo Augusto Frozza, M.Sc.

Recursão David Déharbe

XMLs E INTEGRAÇÃO COM BANCOS DE DADOS

INF 1005 Programação I

Exercícios de SQL. Prof. Márcio Bueno.

Gestão e Tratamento de Informação 1º semestre

Teoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM.

Série Rações Semanais Xpath e XSLT Rogério Araújo

Figura 28: Tela da aplicação Demo

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

JavaScript (ou JScript)

Compiladores. Análise Léxica

Trabalho de Linguagens Formais e Compilação

Agentes inteligentes. Capítulo 2 Inteligência Artificial Sistemas de Informação

1ª Avaliação Oficial Noturno

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA

Programação Funcional 9 a Aula Programas interativos

Bases de dados semi-estruturadas, XML

XSLT. Sub-linguagens. Processamento Estruturado de Documentos 2003 By jcr XSL XSLFO XSLT. XPath. 11 de Setembro de 2003 jcr - ped2003-1

Comandos em C (cont.)

Gestão e Tratamento de Informação 1º semestre

Programação Procedimental

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 04 Algoritmos e Programação Estruturada

Aula 3: Algoritmos: Formalização e Construção

Oracle Database 12c: Introdução ao SQL Ed. 2

Otimização do código. Compiladores Cristina C. Vieira. Compiladores 2012/2013

Projeto de Banco de Dados

Interpretação e Compilação de Linguagens de Programação Semântica CALCI com Ambiente

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Unidade 7: Documentação de Código A Importância dos Comentários Prof. Daniel Caetano

Projeto de funções e instruções condicionais

Programação Estruturada Prof. Rodrigo Hausen Condicionais e Laços

Folha 4.1 Análise sintática descendente

INE BDNC. Bancos de Dados XML

Abaixo iremos pormenorizar cada um de seus atributos:

XSLT e recursividade estrutural. Gestão e Tratamento de Informação DEI IST

Prova 1 PMR3201 Computação para Automação 1o. semestre 2016 Prof. Thiago de Castro Martins

Programação WEB I Funções

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

Preparação. Na página do curso, fazer download do arquivo LabAula.txt; No EasySQL,

Fundamentos de Programação

Gestão e Tratamento de Informação 1º semestre

Introdução ao SciLab. SciLab O que é? Onde obter o programa:

Gestão e Tratamento de Informação 1º semestre

PRIMEIROS PASSOS COM PYTHON. Prof. Msc. Luis Filipe Alves Pereira 2015

Oracle Database 11g: Introdução à Linguagem SQL Novo

Linguagem de Programação I. Aula 08 Linguagem C: Arrays

Programação de Computadores

Conceitos de Linguagem de Programação - 2

Introdução ao Scilab

Modelos de Sistemas Casos de Uso

Transcrição:

Lista de Exercícios - XQuery 1 Descreva pelo menos 3 (três) diferenças entre XPath e XQuery. RESPOSTAS: - XQuery é uma linguagem com maior poder de expressão do que XPath - XQuery usa XPath para construir suas consultas - XPath recupera apenas porções de um documento XML, enquanto XQuery permite formatar como será a saída (XML, HTML ou outros formatos) 2 Uma das expressões mais importantes da XQuery é a expressão FLWOR (For Let Where Order by Return). Qual a diferença entre LET e FOR? Dê um exemplo de uso de cada um deles e explique o que será produzido como resultado. RESPOSTAS: - FOR faz iterações a cada sequência de entrada, enquanto LET não faz essa iteração, limitando-se a designar um valor de entrada único para uma variável. - LET serve para definir valores para variáveis for $i in (1, 2, 3) <output> {$i </output> RESULTADO: <output>1</output> <output>2</output> <output>3</output> let $i := (1, 2, 3) <output>{$i</output> RESULTADO: <output>1 2 3</output> 1

3 Considere o documento XML abaixo. <receita> <paciente> <nome>ana Maria Marina</nome> <idade>7 anos</idade> </paciente> <medico>dr. Juca</medico> <data>20/10/2001</data> <medicamentos-receitados> <medicamento uso="interno"> <medicamento uso="externo"> <posologia>aplicar no braço 1x ao dia ao deitar</posologia> </medicamentos-receitados> </receita> 2

Escreva o resultado gerado por cada uma das consultas XQuery abaixo, quando executadas sobre o documento acima. a) b) c) d) Consulta {for $m in doc("receita.xml")/receita/medicamentos-receitados/medicamento where $m/@uso="interno" $m <medicamento uso="interno"> {for $m in doc("receita.xml")/receita/medicamentos-receitados/medicamento {$m/nome {let $m := doc("receita.xml")/receita/medicamentos-receitados/medicamento {$m/nome for $m in doc("receita.xml")/receita/medicamentos-receitados/medicamento ($m/nome, $m/posologia) <posologia>aplicar no braço 1x ao dia ao deitar</posologia> 3

for $p in doc("receita.xml")/receita/paciente $p e) f) <paciente> <nome>ana Maria Marina</nome> <idade>7 anos</idade> </paciente> let $m := doc("receita.xml")/receita/medicamentos-receitados/medicamento <num-med>{count($m)</num-med> <num-med>2</num-med> 4 - Segundo a seguinte estrutura XML: <Funcionario> <Nome> <Endereco> <Bairro> <CEP> <Cidade> <Estado> <Telefone> <Profissao> <Salario> </Funcionario> </Nome> </Endereco> </Bairro> </CEP> </Cidade> </Estado> </Telefone> </Profissao> </Salario> a) Levando em consideração que o arquivo funcionario.xml tenha 1000 registros, projete as seguintes consultas em XPath: Selecionar o segundo funcionário //funcionario[2] Selecionar o último funcionário //funcionario[last()] Selecionar todos os funcionários que tenham o salário > 5000 e < 10000 //funcionario[salario > 5000 and Salario < 10000] Selecionar o nome de todos os funcionários que tenham a profissão de Analista de Sistemas //funcionario[profissao="analista de Sistemas"]/Nome 4

b) Projete as seguintes consultas em XQuery: Selecionar todos os funcionários que tenham o salário > 5000 for $f in doc ( funcionario.xml ) where $f.salario > 5000,00 $f Selecionar o nome dos funcionários que tenham o salário > 5000 e < 10000 e que tenham a profissão de analista de sistemas, exibindo o resultado em ordem alfabética for $f in doc ("funcionario.xml") where $f/salario > 5000,00 or $f/salario < 10000 and $f/profissao = "Analista de Sistemas" order by $f/nome $f/nome Criar dois novos tipos estruturados em XML chamados EXECUTIVO e FUNCIONARIO, no qual se o salário >10000 então será um EXECUTIVO caso contrário será um FUNCIONARIO for $f in doc ("funcionario.xml") if ($f/salario > 10000) then <EXECUTIVO>{$f/*</EXECUTIVO> else <FUNCIONARIO>{$f/*</FUNCIONARIO> Gerar um arquivo HTML que através do XQuery liste todos os 1000 funcionários do arquivo funcionario.xml <html> <body> <ul> { for $m in doc('funcionario.xml')/funcionario <li>{$m/*</li> </ul> </body> </html> 5