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

26
Introdu ção Marcus Vinícius Carneiro Teixeira

Upload: internet

Post on 16-Apr-2015

110 views

Category:

Documents


4 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.