Materialização de visões XML - Saccol, Deise de Brum (2001)
A grande quantidade de dados eletrônicos disponível atualmente nem sempre pode ser representada com modelos tradicionais, principalmente devido à ausência de esquema no momento da criação destes dados. Neste sentido, modelos semi-estruturados têm sido propostos; uma das abordagens utilizadas é XML, uma linguagem para troca e representação deste tipo de informação. Entretanto, consultar dados semi-estruturados pode demandar processos de extração com alto custo. Uma das alternativas para solucionar este problema é a definição de visões sobre estes dados, e a posterior materialização destas informações. O uso de visões materializadas para dados XML ainda é pouco explorado. Uma das abordagens que podem ser utilizadas é o uso de sistemas de gerenciamento de bancos de dados relacionais para o armazenamento das visões. Desse modo, informação semanticamente relacionada (informação acerca de um mesmo domínio, possivelmente representada em formatos diferentes) pode ser agrupada em uma única unidade lógica, facilitando o acesso a estes dados por parte do usuário, e introduzindo alguma estrutura nos dados semiestruturados. Dessa maneira, o usuário final submete consultas diretamente sobre a visão materializada, evitando extrações contínuas de dados nas fontes XML. A materialização de dados XML exige a definição de um repositório de dados para o armazenamento destas instâncias. Utilizando-se a abordagem relacional, é necessário definir um mecanismo para a geração do esquema lógico do banco de dados. Consultar os dados nas fontes XML exige a integração destas instâncias. Neste contexto, integrá-las significa identificar quais instâncias de dados representam o mesmo objeto do mundo real, bem como resolver ambigüidades de representação deste objeto. O problema de identificação de entidades em XML é mais complexo que em bases de dados estruturadas. Dados XML, como propostos originalmente, não carregam necessariamente a noção de chave primária ou identificador de objeto. Assim, é necessária a adoção de um mecanismo que faça a identificação das instâncias na integração destes dados. Além disso, à medida que as fontes de dados XML sofrem alterações, a visão materializada deve ser atualizada, a fim de manter-se consistente com as fontes de dados. A manutenção deve propagar as alterações feitas nos dados XML para a visão materializada. Reprocessar todo o conteúdo da visão materializada é, na maioria das vezes, muito caro. Assim, é desejável propagar as mudanças incrementalmente, ou seja, processar apenas as alterações necessárias. Neste sentido, o presente trabalho apresenta uma proposta de técnica para armazenamento de dados XML em um banco de dados relacional. A proposta utiliza ontologias para a geração do esquema lógico do banco de dados. O problema de integração de dados é mostrado. O foco principal do trabalho está na proposta de uma técnica de atribuição de identificadores a instâncias XML, baseada no uso de funções Skolem e no padrão XPath, proposto pelo W3C. Também é proposto um mecanismo para manutenção incremental deste banco, à medida que as fontes XML sofrem atualizações.