Categorias de Documentos XML - PowerPoint PPT Presentation

About This Presentation
Title:

Categorias de Documentos XML

Description:

... Objetivo discuss o de caracter sticas encontradas ou desejadas em BDs XML Nativos Estudo de Caso SGBD XML Tamino (www.softwareag.com/tamino) ... – PowerPoint PPT presentation

Number of Views:64
Avg rating:3.0/5.0
Slides: 26
Provided by: Ronal175
Category:

less

Transcript and Presenter's Notes

Title: Categorias de Documentos XML


1
Categorias de Documentos XML
  • Documento Orientado a Dados (DOD)
  • fracamente semi-estruturado
  • representação de dados mais homogênea e
    estruturada

ltenderecogt ltruagtBeira-Marlt/ruagtltnumerogt104lt/num
erogtltcomplementogtapto 203lt/complementogt
ltbairrogtcentrolt/bairrogtltcidadegtFpolislt/cidadegt
ltcepgt88010-600lt/cepgt lt/enderecogt ltenderecogt
ltruagtLauro Linhareslt/ruagtltnumerogt761lt/numerogtltbair
rogttrindadelt/bairrogt ltcidadegtFpolislt/cidadegtltc
epgt88040-900lt/cepgt lt/enderecogt
2
Categorias de Docs XML
  • Documento Orientado a Documento (DODoc)
  • fortemente semi-estruturado
  • representação fortemente textual

ltanunciogt lttransacaogtVendolt/transaçãogt, por
motivo de viagem,ltprodutogtautomóvel Gol I
97 lt/produtogt, cor azul, em ótimo estado de
conservação. Preço Rltprecogt9000,00lt/precogt.
Tratar comltcontatogtltnomegtPedrolt/nomegt
fonelt/fonegt99991111lt/fonegtlt/contatogt
lt/anunciogt ltanunciogt Atenção! Se você deseja
vender o seu veículo, nós realizamos o melhor
negócio. lttransacaogtCompramoslt/transaçãogt qq tipo
de ltprodutogtveículolt/produtogt. Ligue-nos
ltcontatogtltfonegt2340011lt/fonegt ou envie um
e-maillteMailgtlojao_at_bla.com.brlt/eMailgtltcontatogt lt/
anunciogt
3
Tipos de BDs para XML
  • BD estendido para lidar com dados XML
  • mais adequado a DODs
  • funcionalidades para tratamento de dados XML
    aplicadas a um BD com um modelo lógico e físico
    diferente
  • BD Relacional, BDOO, ...
  • pode apresentar um modelo lógico para dados XML
    ou apenas definir um mapeamento de um esquema
    lógico XML para o esquema lógico do BD
  • BD XML nativo
  • mais adequado a DODocs
  • gerenciamento específico de dados XML

4
BD XML Nativo
  • Suporta um modelo lógico para dados XML
  • requisitos mínimos
  • definição de elementos, atributos, PCDATA e
    ordem
  • Define um modelo de armazenamento físico
    proprietário para dados XML
  • Adequado a
  • docs XML fortemente semi-estruturados
  • mapeamento para BD relacional seria complexo!
  • aplicações que lidam apenas com dados no formato
    XML

5
BD XML Nativo - Características
  • Objetivo
  • discussão de características encontradas ou
    desejadas em BDs XML Nativos
  • Estudo de Caso
  • SGBD XML Tamino (www.softwareag.com/tamino)
  • Transaction Architecture for the Management of
    INternet Objects
  • servidor de dados XML desenvolvido pela Software
    AG

6
Coleções
  • Noção lógica de um conjunto de docs XML
  • a decisão sobre quais docs XML pertencem a uma
    coleção fica em geral a cargo da aplicação
  • flexibilidade quanto ao conteúdo da coleção
  • - baixo nível de integridade dos dados
  • em alguns casos, um esquema XML fixo pode ser
    associado a uma coleção
  • Consultas e atualizações podem ser direcionadas a
    coleções

7
Coleções - Tamino
  • 1 BD n coleções n esquemas com n tipos de
    documentos
  • tipo de documento definição de elemento raiz
  • novo doc XML inserido em uma coleção e válido
    para algum tipo doc
  • Docs sem esquema mantidos na coleção inoetc

tipos de documentos
8
Consultas
  • Suporte a pelo menos uma linguagem de consulta
    para XML
  • uso mais extensivo de XPath
  • uso de alguns dialetos da XQuery (tendência!)
  • Características desejadas para uma linguagem de
    consulta para XML
  • busca por padrões (análise de conteúdo textual)
  • consultas declarativas
  • resultados de consultas
  • doc XML, fragmentos de docs XML ou novas
    estruturas XML

9
Consultas - Tamino
  • Suporte a Xpath (chamada X-Query) e XQuery
    estendidos
  • Geração de docs XML como resultado

busca por padrão
10
Atualizações
  • Capacidades de atualização são variadas
  • possibilidade apenas de substituição de um doc
    XML completo
  • API DOM para atualização de nodos
  • linguagens de atualização declarativas
  • exemplo XUpdate (consórcio XMLDB)
  • XMLDB
  • consórcio de empresas responsável pelo
    desenvolvimento de tecnologias para BDs XML
  • tendência (?) XQuery como linguagem de
    atualização

11
XUpdate
  • Sintaxe XML
  • I / E de elementos, atributos e texto
  • A do conteúdo de elementos e atributos
  • Exemplo 1
  • (inclusão de um novo eMail para Maria)
  • Exemplo 2
  • (remoção do primeiro livro)

ltxupdateappend select//autornomeMaria/eMai
l childlast()gt ltxupdateelement
name"eMail"gtMaria_at_teste.comlt/xupdateelementgt lt/x
updateappendgt
ltxupdateremove select"/listalivros/livro1"/gt
12
Atualizações - Tamino
  • XQuery possui capacidades de atualização
  • insert, delete, rename e replace
  • Exemplos
  • update (inserção de autor)
  • for liv in input()/livro
  • where liv/titulo XML
  • do(insert (ltautorgtltnomegtJoão Silvalt/nomegtlt/autor
    gt)
  • following liv/autorlast())
  • update (alteração de eMail de autor)
  • for aut in input()/livro/autor
  • where aut/nome Maria Souza
  • do (replace aut/eMail with
  • (lteMailgtms_at_new.comlt/eMailgt))

13
Gerência de Transações
  • Controle convencional de concorrência e
    recuperação contra falhas
  • Granularidade de bloqueios
  • coleção
  • doc XML (bloqueio usual baixo nível de
    concorrência)
  • elementos

14
Gerência de Transações - Tamino
  • Conceitos de transação e sessão
  • várias transações podem ocorrer dentro de uma
    sessão
  • interrupção da sessão implica rollback de todas
    as transações pendentes
  • mecanismo de log e backup de dados
  • deadlock
  • transação mais recente tem prioridade
  • Granularidade de bloqueio é sempre o doc XML
  • existe um limite máximo de tempo para manter um
    doc bloqueado

15
Conectividade
  • Interface ODBC
  • conexão com o BD, execução de consultas e
    atualizações e exploração de resultados
  • Protocolos HTTP
  • acesso via browsers Web (alguns BDs)
  • Consórcio XMLDB
  • propõe uma API para BDs XML
  • manipulação de BDs e coleções execução de
    consultas Xpath e XUpdate acesso a resultados de
    consultas controle de transações

16
Conectividade - Tamino
  • Interface principal de acesso é HTTP
  • um servidor Tamino deve estar sempre associado a
    um Web server (domínio Internet)
  • define uma API que encapsula chamadas HTTP
  • criação e manipulação de BDs, coleções e docs
  • acesso http//ltnome_domíniogt/tamino/ltnome_BDgt/ltn
    ome_coleçãogtltcomando_API_HTTPgt
  • Outras formas de acesso
  • API DOM para Java
  • API XMLDB

17
Tamino Conectividade HTTP
18
Round-Tripping
  • Capacidade de recuperação integral de um doc XML
  • seqüência textual exata do doc
  • Precisão do round-tripping é diretamente
    proporcional ao poder de expressão do modelo
    lógico
  • BDs XML garantem pelo menos round-tripping a
    nível de elementos, atributos e seus conteúdos

19
Round-Tripping - Tamino
  • Duas formas de armazenamento
  • campo longo CLOB
  • utilizado em geral para docs XML sem esquema
  • índices de texto podem ser definidos
  • permite buscas por padrões
  • 100 round-tripping
  • formato nativo
  • esquema de objetos proprietário
  • índices sobre elementos e atributos podem ser
    definidos
  • garante round-tripping a nível de hierarquia de
    elementos

20
Integridade Semântica
  • RIs a nível de esquemas XML são limitadas
  • ordem hierárquica e restrições de cardinalidade
  • tipo de dado de elementos e atributos
  • valores permitidos
  • integridade referencial dentro de um documento
    XML (recursos do tipo ID/IDREF ou key/keyref)
  • Basicamente estas RIs são controladas em BDs XML
  • Carência de um mecanismo de integridade mais
    robusto
  • similar a BD relacional (checks, triggers, ...)

21
Integridade Semântica - Tamino
  • Definição de valores possíveis (fixos, defaults,
    enumerações, ...)
  • Integridade referencial controlada por funções
    de extensão (para cada caso indicado na trigger)

controles de integridade
22
Armazenamento
  • Docs XML in-natura
  • tratados como uma caixa preta
  • deseja-se preservar o texto do documento
  • indexação apenas textual (por palavra-chave)
  • Objetos DOM que representam os dados XML (
    usado)
  • armazenamento clusterizado de objetos
  • nodos próximos na hierarquia do doc XML são
    armazenados próximos fisicamente
  • através de uma busca em largura ou profundidade
  • facilita indexação e busca de uma hierarquia de
    objetos
  • apenas os elementos de mais alto nível precisam
    ser indexados
  • os demais elementos são buscados via varredura
    linear

23
Indexação
  • Indexação por valor
  • para elementos e atributos
  • Indexação de texto do doc XML
  • Indexação de estrutura
  • indexação de nodos do doc XMO associada a
    técnicas para localização de nodos filhos
  • facilita consultas em docs XML sem esquema
  • não se sabe quais elementos filhos um elemento
    possui

24
Indexação SGBD eXist
  • Índices são IDs numéricos para nodos, com uma
    numeração dada por uma busca em largura
  • supondo uma árvore sempre completa (nodos
    virtuais)
  • certas propriedades da árvore permitem calcular o
    ID de nodos filhos, pai, irmãos, ...
  • ex. maxFilhos 4 ? filhos de X ? ID(X)41,
    ID(X)44

0
livro
autor
4
preço
2
autor
1
3
XML BD
79.00
nome
nome
12
8
16
19
20
15
. . .
25
Referências
  • Tecnologia XML
  • http//www.w3c.org/xml
  • XML BD
  • http//www.rpbourret.com/xml/XMLAndDatabases.htm
  • SQL/XML
  • http//otn.oracle.com/tech/xml/xmldb/htdocs/sql_xm
    l.html
  • XMLDB
  • http//www.xmldb.org
  • SGBD XML Tamino
  • http//www.softwareag.com/tamino
Write a Comment
User Comments (0)
About PowerShow.com