SEDNA SGBD XML NATIVO Sedna Open Source / Free (Apache License 2.0) Sistema de BD XML Nativo em C/C+ W3C Xquery Segurança de dados (users / roles / privilégios) Suporte a utf-8 Indices baseado em B-Tree Desenvolvedor API Java C C# PHP Python Ruby Delphi XML DB Drive pra Java Módulo de integração com Apache HTTP Server Suporte a SO Windows Linux Mac OS (Power PC / Intel) FreeBSD Solaris Comandos Básicos Iniciar e desligar o Sedna se_gov ( iniciar o Sedna ) se_stop ( desliga o Sedna) Criar e Executar Database se_cdb testdb ( cria uma base testedb ) se_sm testedb ( executa a base testedb ) se_smsd testedb (desliga a base testedb) Query via Linha de Comando [win:] se_term -query "let $a:=(3, 1, 7) return <result>{ max($a) }</result>" testdb [nix:] se_term -query "let \$a:=(3, 1, 7) return <result>{ max(\$a) }</result>" testdb se_term -file 1.xquery testdb se_term testdb Exemplo no Terminal se_gov se_cdb auction se_sm auction se_term –file load_data.xquery auction se_term –file <query>.xquey auction se_smsd auction se_stop Comparativo Sedna PostgreSQL SGBD nativo livre Objeto-relacional livre Oracle 10g Objeto-relacional proprietário Esquema utilizados nas definições dos documentos Sedna PostgreSQL Desenvolvido um novo esquema, com características diferenciadas com relação ao DTD e XSD É gerado dinamicamente a partir dos dados do próprio documento XML Produz sempre uma arvore Pode ou não ser validado por um DTD. Validação não influencia no mapeamento Armazenamento apenas em Varchar Oracle 10g Pode ou não ser validado por XSD ou DTD Pode criar table para acomodar os atributos informando no sistema o que será mapeado para OR e o que será em CLOB Armazenamento Sedna PostgreSQL Documento armazenado em sua forma nativa Utiliza arvore de acordo com a estrutura de cada documento Mapeado em um tipo XML baseado em Varchar Oracle 10g Possui tipo XMLType que mapeia os documentos XML de 3 formas: Não estruturado – documento todo armazenado em um CLOB Estruturado – É feito o mapeamento Objeto Relacional baseado em um esquema Híbrido – a combinação das duas formas Validação do Documento Sedna PostgreSQL Fornece a opção de validar ou não o documento a ser utilizado. Validação pode ser feita com DTD ou XSD Pode ser validado com DTD Oracle 10g Pode ser validado com DTD ou XSD Se não for validado com XSD apenas armazenamento não estruturado é permitido Evolução do Esquema Sedna PostgreSQL Não implementa uma evolução sobre XSD ou DTD Esquema dinâmico e particular do Sedna Permite que estruturas desconhecidas possam ser armazenadas e manipuladas Não implementado Oracle 10g Evolui esquemas XSD através do procedimento CopyEvolve() Transformações XLST são feitas como parte da evolução transformando documentos XML do esquema antigo no esquema novo. Formas de Indexação Sedna PostgreSQL Arvore B Utilizando a integração com dtSearch para trabalhar diretamente com valores de texto, podendo usar Xquery Arvore B GiST’s – aumenta a eficiência de consultas Xpath, transformando-as em SQL Oracle 10g Textual Índice baseado em função Arvore B Hierárquico Linguagem de Consulta Sedna PostgreSQL Xquery Xpath e por utilizar o conceito de tuplas, permite operações baseadas no modelo relacional Xpath XML/SQL Oracle 10g XSU (XDK) Xpath Xquery SQL e PL/SQL (quando mapeado para objeto - relacional) Interface de Acesso Sedna Java C Scheme Interface gráfica para gerenciamento Comando pelo terminal Oracle 10g Codigos XML/SQL Java C++ Via HTTP WebDev FTP API JDBC Interface 3 SQL Plus Enterprise Manager Console Interface 2 PostgreSQL Interface Padrão API para Java e PL/SQL Interface 4 Manipulação de componentes XDK em Java, C, C++ e PL/SQL Sedna Vantagem É livre Eficiente em manipulação de documentos sem esquema, e fortemente semiestruturado Permite a utilização de trechos de documento Consultas simples através de Xpath e Xquery Permite que um documento referencie outro Desvantagem Pouca documentação for a do site oficial Não restringe uma coleção a um determinado esquema Referencias Um estudo sobre Gerenciamento de Dados XML em SGBDs Objeto-Relacional em SGBD com suporte a XML, Maxiwell Salvador Garcia, Anderson Luiz Menezes, Clodis Boscaridi, UNIOESTE, Cascavel, PR Sedna [http://modis.ispras.ru/sedna/] acessado em Maio de 2009 Armazenamento de Documento XML,Vanessa Braganholo Um estudo sobre esquemas para documentos XML, Marcus Barbosa Pinto, Deise de Brum Saccol, CEULP/ULBRA, Palmas, TO Estudo comparativo de SGBD XML, Rafael Pialarissi, Londrina , 2005 Base de dados XML, Grupo Kybele, Universidade de Juan Carlos I