1 / 25

Categorias de Documentos XML

Categorias de Documentos XML. Documento Orientado a Dados ( DOD ) fracamente semi-estruturado representação de dados mais homogênea e estruturada. <endereco> <rua>Beira-Mar</rua><numero>104</numero><complemento>apto 203</complemento>

Download Presentation

Categorias de Documentos XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Categorias de Documentos XML • Documento Orientado a Dados (DOD) • fracamente semi-estruturado • representação de dados mais homogênea e estruturada <endereco> <rua>Beira-Mar</rua><numero>104</numero><complemento>apto 203</complemento> <bairro>centro</bairro><cidade>Fpolis</cidade> <cep>88010-600</cep> </endereco> <endereco> <rua>Lauro Linhares</rua><numero>761</numero><bairro>trindade</bairro> <cidade>Fpolis</cidade><cep>88040-900</cep> </endereco>

  2. Categorias de Docs XML • Documento Orientado a Documento (DODoc) • fortemente semi-estruturado • representação fortemente textual <anuncio> <transacao>Vendo</transação>, por motivo de viagem,<produto>automóvel Gol I 97 </produto>, cor azul, em ótimo estado de conservação. Preço: R$<preco>9000,00</preco>. Tratar com<contato><nome>Pedro</nome> fone</fone>99991111</fone></contato> </anuncio> <anuncio> Atenção! Se você deseja vender o seu veículo, nós realizamos o melhor negócio. <transacao>Compramos</transação> qq tipo de <produto>veículo</produto>. Ligue-nos: <contato><fone>2340011</fone> ou envie um e-mail:<eMail>lojao@bla.com.br</eMail><contato> </anuncio>

  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 ino:etc 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 XML:DB) • XML:DB • 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) <xupdate:append select=”//autor[nome=´Maria´]/eMail” child=”last()”> <xupdate:element name="eMail">Maria@teste.com</xupdate:element> </xupdate:append> <xupdate:remove select="/listalivros/livro[1]"/>

  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 (<autor><nome>João Silva</nome></autor>) following $liv/autor[last()]) • update (alteração de eMail de autor) for $aut in input()/livro/autor where $aut/nome = “Maria Souza” do (replace $aut/eMail with (<eMail>ms@new.com</eMail>))

  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 XML:DB • 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://<nome_domínio>/tamino/<nome_BD>/[<nome_coleção>]<comando_API_HTTP> • Outras formas de acesso • API DOM para Java • API XML:DB

  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. título mail mail 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)*4+1, ID(X)*4+4] 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_xml.html • XML:DB • http://www.xmldb.org • SGBD XML Tamino • http://www.softwareag.com/tamino

More Related