introdução marcus vinícius carneiro teixeira. tópicos abordados criando um banco de dados...

Post on 16-Apr-2015

110 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

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.

top related