introdução marcus vinícius carneiro teixeira. tópicos abordados criando um banco de dados...
TRANSCRIPT
Introdução
Marcus Vinícius Carneiro Teixeira
Tópicos Abordados
• Criando um Banco de Dados
• Definindo um Schema XML
• Carregando um Objeto XML
• Recuperando Objetos XML
Criando um Banco de DadosTamino Manager
Criando um Banco de Dados
Bancos de dados criados no Tamino
Criar novo banco
Definindo Algumas Características
O Tamino permite ao
usuário definir características operacionais
do banco para melhor
gerenciamento de sua
estrutura.
Mensagens
Mensagens são emitidas indicando a situação do processo realizado.
Podem ser: informações, avisos, erros
ou erros fatais.
Inicializando o Banco de Dados
Iniciar banco
Definindo umSchema XML
Schema Editor
Tamino Schema Editor
Schema
Propriedades físicas
Propriedades lógicasPermite criar esquemas
XML de acordo com as
especificações do Tamino.
Definindo um Doctype
Doctype define o
elemento raiz das instâncias
XML
Exemplo de Schema XML
Definindo o Schema no Tamino
Conexão com o banco para a definição do XML Schema criado
Carregando umObjeto XMLInteractive Interface
Carregando um Objeto XML
Necessário definir o
endereço (URL) do banco e a
coleção onde será
armazenada a instância
XML.
Documento gerado como resposta
O Tamino XML Server sempre gera respostas em forma de documentos XML bem formados.
RecuperandoObjetos XMLInteractive Interface
Usando XQuery (Tamino)
Define-se o endereço do
banco e a coleção
destinada à consulta.
Expressão de consulta
XQuery
Construtores Possibilitam criar novos elementos para compor o
XML recebido como resposta
Query<banco-dados>
Disciplina com {1 + 3} turmas
</banco-dados>
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>
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>
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>
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>
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>
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>
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
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.