![Page 1: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/1.jpg)
Introdução
Marcus Vinícius Carneiro Teixeira
![Page 2: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/2.jpg)
Tópicos Abordados
• Criando um Banco de Dados
• Definindo um Schema XML
• Carregando um Objeto XML
• Recuperando Objetos XML
![Page 3: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/3.jpg)
Criando um Banco de DadosTamino Manager
![Page 4: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/4.jpg)
Criando um Banco de Dados
Bancos de dados criados no Tamino
Criar novo banco
![Page 5: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/5.jpg)
Definindo Algumas Características
O Tamino permite ao
usuário definir características operacionais
do banco para melhor
gerenciamento de sua
estrutura.
![Page 6: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/6.jpg)
Mensagens
Mensagens são emitidas indicando a situação do processo realizado.
Podem ser: informações, avisos, erros
ou erros fatais.
![Page 7: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/7.jpg)
Inicializando o Banco de Dados
Iniciar banco
![Page 8: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/8.jpg)
Definindo umSchema XML
Schema Editor
![Page 9: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/9.jpg)
Tamino Schema Editor
Schema
Propriedades físicas
Propriedades lógicasPermite criar esquemas
XML de acordo com as
especificações do Tamino.
![Page 10: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/10.jpg)
Definindo um Doctype
Doctype define o
elemento raiz das instâncias
XML
![Page 11: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/11.jpg)
Exemplo de Schema XML
![Page 12: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/12.jpg)
Definindo o Schema no Tamino
Conexão com o banco para a definição do XML Schema criado
![Page 13: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/13.jpg)
Carregando umObjeto XMLInteractive Interface
![Page 14: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/14.jpg)
Carregando um Objeto XML
Necessário definir o
endereço (URL) do banco e a
coleção onde será
armazenada a instância
XML.
![Page 15: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/15.jpg)
Documento gerado como resposta
O Tamino XML Server sempre gera respostas em forma de documentos XML bem formados.
![Page 16: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/16.jpg)
RecuperandoObjetos XMLInteractive Interface
![Page 17: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/17.jpg)
Usando XQuery (Tamino)
Define-se o endereço do
banco e a coleção
destinada à consulta.
Expressão de consulta
![Page 18: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/18.jpg)
XQuery
Construtores Possibilitam criar novos elementos para compor o
XML recebido como resposta
Query<banco-dados>
Disciplina com {1 + 3} turmas
</banco-dados>
![Page 19: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/19.jpg)
XQuery
Expressões Semelhante a expressões SQL (SELECT, FROM,
WHERE...)
Queryfor $b in input()/bib/book
return $b/title
input() representa a coleção selecionada
Resultado<title>TCP/IP Illustrated</title>
<title>Programming in the Unix</title>
<title>Data on the Web</title>
<title>Technology for Digital TV</title>
![Page 20: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/20.jpg)
XQuery
Filtros Restringe o resultado através da cláusula where
Queryfor $b in input()/bib/bookwhere $b/@year > 1994return
<book>{ $b/@year }{ $b/title }
</book>
Resultado<book year=“2000”>
<title>Data on the Web</title>
</book>
<book year=“1999”>
<title>Technology for Digital TV
</title>
</book>
![Page 21: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/21.jpg)
XQuery
Filtros Restringe o resultado através da cláusula where
Queryfor $b in input()
where $b//book[@year=‘2000’]
return $b//book
Resultado<book year=“2000”>
<title>Data on the Web</title>
<author> ... </author>
...
</book>
![Page 22: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/22.jpg)
XQuery
Ordenação Ordena o resultado da consulta
Queryfor $b in input()/bib/book
sort by (title)
let $y := $b/@year
where $y > 1991
return $b/title
Resultado<title>Data on the Web</title>
<title>Programming in the Unix</title>
<title>TCP/IP Illustrated</title>
<title>Technology for Digital TV</title>
![Page 23: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/23.jpg)
XQuery
Junções Permite fazer junções entre documentos de diferentes
doctypes e coleções
Queryfor $b in input()/bib/book,
$a in input()/reviews/entrywhere $b/title = $a/titlereturn
<book>{ $b/author }{ $b/title }{ $a/review }
</book>
Resultado<book>
<author>
<last>Stevens</last>
<first>W.</first>
</author>
<title>TCP/IP Illustrated</title>
<review>One of the best books on TCP/IP
</review>
</book>
![Page 24: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/24.jpg)
XQuery
Busca baseada em texto Funções como: tf:containsText,
tf:containsNearText e tf:containsAdjacentText
Querydeclare namespace tf = “http://namespaces.softwareag.com/tamino/TaminoFunction”for $a in input()/bib/bookwhere tf:containsText( $a/title, “UNIX” )return $a/title
Resultado<title>Programming in the Unix</title>
![Page 25: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/25.jpg)
XQuery
Atualizando documentos Possibilita inserir, trocar, renomear ou deletar
nodos
Queryupdate delete input()/bib/book[editor/last=“Gerbarg”]
Resultado Todos os livros editados por Darcy Gerbard serão
excluídos
![Page 26: Introdução Marcus Vinícius Carneiro Teixeira. Tópicos Abordados Criando um Banco de Dados Definindo um Schema XML Carregando um Objeto XML Recuperando](https://reader036.vdocuments.pub/reader036/viewer/2022081602/552fc0f8497959413d8b49fc/html5/thumbnails/26.jpg)
XQuery
Queryupdate insert
<book year=“2002”><title>Designing XML databases</title><author> <last>Graves</last><first>Mark</first></author>
</book>into input()/bib
Resultado Um novo elemento book é inserido como filho do
elemento bib.