LOGIN:

iMasters | Por uma internet mais criativa e dinâmica

Feeds

Sexta-feira, 12/11/2004 - 12:42 - Por Leonardo Grandinetti
Seções relacionadas:

Análise de Ferramentas de Armazenamento de Docs XML em SGBDs

Paralelamente à evolução do suporte dos sistemas gerenciadores de bancos de dados (SGBDs) comerciais no armazenamento de documentos XML, observa-se a crescente utilização das ferramentas que traduzem esquemas XML em classes das linguagens de programação orientadas a objetos. Adicionalmente, a especificação nível 3 do DOM propõe a representação das interfaces do modelo DOM em classes Java.

O mapeamento da estrutura da árvore de documentos XML para esquemas de objetos fornece o suporte para algumas abordagens de armazenamento de documentos XML. Um processo, comumente chamado de data binding (ligação de dados), consiste basicamente em acoplar alguma linguagem de definição de esquemas para XML em uma linguagem tipada existente, traduzindo tipos de documentos em uma hierarquia de classes ou tipos de dado. A sua vantagem é a possibilidade de traduzir os elementos do documento para tipos de dados ou para uma hierarquia de classes de uma linguagem existente.

O W3C [1] propõem um esquema de objetos para representar a especificação complexa do XML Schema e define o DOM como um formato padrão para a manipulação dos documentos XML.

Existem outras abordagens para armazenamento de documentos XML, que são usadas nas diversas ferramentas existentes. São elas: ferramentas que permitem o mapeamento de elementos e atributos XML para tabelas e colunas do banco de dados, exigindo comumente a intervenção do usuário; ferramentas que fornecem o suporte para a modelagem do esquema do banco de dados relacional usando a linguagem do XML Schema; ferramentas que suportam o mapeamento dos documentos XML para um modelo de objetos e o armazenamento também em sistemas de bancos de dados relacionais. Uma lista de ferramentas de binding encontra-se em [2].

Algumas ferramentas suportam o mapeamento de tipos de elementos complexos para classes e tipos de elementos simples e atributos para propriedades das classes [2,3,5]. Entretanto, as ferramentas que utilizam esse mapeamento classificam, de forma bastante simplificada, os tipos de elementos em classes ou propriedades da classe. Isso significa que tipos de elementos complexos com atributos ou tipos de elementos com conteúdo misto são mapeados como classes e tipos de subelementos e atributos do tipo caractere são traduzidos para propriedades das classes. Posteriormente, as classes podem ou não ser traduzidas para tabelas no SGBD relacional.

Os relacionamentos entre as classes são traduzidos para relacionamentos entre as tabelas. Adicionalmente, os atributos das classes podem ser traduzidos para tabelas, exigindo junções adicionais.

Esse tipo de ferramenta possui limitação na geração do esquema para o SGBD relacional, exigindo a intervenção do projetista, principalmente considerando esquemas de documentos ou tipos de dados mais complexos.

Outro problema que comumente também exige a intervenção do projetista é a determinação dos relacionamentos entre as tabelas geradas para o SGBD relacional. As ferramentas também não contemplam toda a especificação do XML Schema e limitam-se ao mapeamento dos esquemas dos documentos para o SGBD relacional. Outras questões envolvem: a geração de tabelas adicionais para atributos do tipo composto e/ou coleções das classes; a tradução de tipos de dados simples, incluindo as restrições; a limitação para o controle da ordem dos elementos do esquema do documento, dentre outros.

Suporte dos SGBD’s comerciais

O armazenamento de documentos XML comumente exige a especificação do mapeamento da estrutura do documento para o esquema do banco de dados. Atualmente, a maioria dos SGBDs comerciais fornece tais especificações, que são proprietárias, limitadas para o mapeamento das estruturas dos documentos XML e encontram-se embutidas no SGBD [6,7,8,9].

Outras questões também são identificadas em relação ao suporte dos SGBDs no armazenamento dos documentos XML. Embora os SGBDs suportem a criação de tipos de dados, o armazenamento dos documentos ainda se restringe predominantemente ao modelo relacional. Uma alternativa é a possibilidade do armazenamento dos documentos em colunas do tipo BLOB, com a utilização de regras fixas de mapeamento. Entretanto, há muitas diferenças entre os SGBDs baseados no modelo objeto-relacional. A maior parte dos SGBD OR herdam a extensão de objetos da tecnologia LOB e, portanto, possui limitações na definição dos tipos de dados.

Outra observação envolve a obrigatoriedade de especificação prévia do modelo de dados para o armazenamento dos dados do documento. Os documentos podem ser armazenados em tabelas e os fragmentos podem ou não ser armazenados em tipos de dados do tipo LOB. Paralelamente aos modelos de dados implementados pelos SGBDs, não existe um padrão para especificação do mapeamento da estrutura do documento para o banco de dados e suporte a uma linguagem padrão de consulta aos documentos XML.

Conforme exposto anteriormente, algumas ferramentas possuem limitações na geração do esquema do documento XML. Além disso, a reconstrução do documento nem sempre é possível, porque os subelementos e atributos são mapeados para colunas de uma tabela no SGBD relacional, não havendo distinção entre os diferentes níveis de aninhamento e tipos de dados do esquema XML. A maior parte das ferramentas possui uma ligação com os SGBDs e permite que o armazenamento do documento XML seja customizado, desde que se utilize uma codificação adicional específica. Outra alternativa é utilizar as extensões XML nativas da próxima geração dos sistemas gerenciadores de bancos de dados.

Referências

[1] W3C (WORLD WIDE WEB CONSORTIUM). XML Schema Part 1: Structures .Disponível em: http://www.w3.org/TR/xmlschema-1/.
[2] BOURRET, R. XML-DBMS. Disponível em: http://www.rpbourret.com/xmldbms.
[3] ALTOVA XML SPY. ALTOVA CORPORATION. Disponível em: http://www.altova.com.
[4] SUN MICROSYSTEMS. Java Architecture for XML Binding (JAXB) Bindings Schema for JAXB Disponível em: http://java.sun.com/xml/ns/jaxb.
[5] CASTOR OPEN SOURCE DATA BINDING FRAMEWORK. Disponível em: http://castor.exolab.org.
[6] CHAUDHRI, A.; RASHID, A.; ZICARI, R.. XML Data Management Native XML and XML-Enabled Database Systems. Reading: Addison-Wesley, 2003.
[7] ORACLE CORPORATION. SGBD 9i. Disponível em: http://www.oracle.com/ip/deploy/ database/oracle9i.
[8] MICROSOFT CORPORATION. MICROSOFT SQL SERVER. Disponível em: http://www.microsoft.com/sql/.
[9] IBM SGBD DB2. IBM CORPORATION. Disponível em: http://www-306.ibm.com/software/data/db2/.

Todos os artigos de Leonardo Grandinetti

3 comentários publicados

  • 1. Analise de ferramentas

    Domingo, 14/11/2004, por Ricardo Arthur Engler Rizzi

    pode-se imaginar, um mundo inteiro utilizando dados, compartilhados e gravados, via xml, e sendo consultado por qualquer tipo de sgbd, não importando sua licença. Isso é futuro

    Responder comentário
  • 2. Muito bom!

    Segunda-feira, 15/11/2004, por Rogério Louzada

    Olá Leonardo. Infelizmente tenho encontrado pouco material sobre XML de qualidade. Mas queria lhe parabenizar pelo seu material. O artigo está ótimo! E torço para que venham outros. Estamos precisando de uma boa documentação em língua portuguesa.

    Responder comentário
  • 3. Integração é uma solução

    Segunda-feira, 13/02/2006, por Rosy Araujo

    Leonardo, mais uma vez você foi feliz no seu trabalho. Uma abordagem importante e atual. Continue assim e sucesso.

    João Batista.

    Responder comentário

Poste um comentário


Os textos publicados neste espaço são de responsabilidade única de seus autores (colunistas e leitores) e podem não expressar necessariamente a opinião do iMasters.

Sobre o autor

Leonardo Grandinetti é Coordenador de implantação de sistemas, Analista de Informática/Fumec, Auditor e Consultor de sistemas de informação, Pós-graduado em Gerência da Tecnologia da Informação, Mestre em Ciência da Computação, Palestrante e Membro do EAI Industry Consortium.


Indique para um amigo

captcha

TI SHOP Produtos iMasters

  • Lançamento: CD-ROM Treinamento Aplicado de SQL - Lançamento! Treinamento Aplicado de SQL - Aprenda a trabalhar com SQL com bancos de dados Oracle e SQL Server. São mais de 100 tópicos explicados por Mauro Pichilliani, um articulistas mais lidos do iMasters. Aproveite! Apenas R$ 69,90 no TI SHOP.
  • Lançamento: Livro iMasters "O Encontro de 2 Mundos"- Este livro conta com 56 crônicas de profissionais mais admirados e influentes do mercado brasileiro de Internet. Aproveite o preço especial para leitores do iMasters. Apenas R$ 40,00 e envio imediato!
  • DVD Curso Completo de Photoshop - Do conceito à finalização Lançamento! Curso Completo de Photoshop, em DVD, com mais de 230 aulas dividas em 4 módulos: conceito, básico, avançado e finalização. Apenas R$ 69,50 no TI SHOP - Frete com 50% de desconto
  • DVD Javascript Starter - Curso Completo Com mais de 9 horas de vídeo-aulas, é um curso completo sobre Javascript. Ideal para quem deseja aprender a linguagem. Apenas R$ 64,90 no TI SHOP - Frete com 50% de desconto!

2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.