ATUALIZANDO BANCO DE DADOS OBJETO RELACIONAL ATRAVÉS DE VISÕES XML

Documentos relacionados
CONSULTANDO VISÕES XML DE BANCOS DE DADOS OBJETO-RELACIONAIS

Reformulação de Consultas em Sistemas de Integração de Dados baseados em XML

Administração de Banco de Dados

Programando em SQL. Triggers, Stored Procedures e funções. Profa. Késsia Marchi

ATUALIZAÇÃO DE BANCOS DE DADOS OBJETO-RELACIONAIS ATRAVÉS DE VISÕES XML. Wamberg Gláucon Chaves de Oliveira

Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve

Lista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I

Korth Silberschatz Sundarshan. Sistema de Banco de Dados, 5/E

Avisos. Sumário. Atividade em lab Aula 29. Atividade em lab Aula 29. Programando com SQL Triggers EXERCÍCIO LAB SP. Vista da segunda prova

Prof. Josenildo Silva

Revisão Banco de Dados

26/04/2017 Triggers no SQL Server: teoria e prática aplicada em uma situação real

Conteúdo. Integração de Dados, Web e Warehousing. Introdução. Introdução. BD Heterogêneos. Introdução. Introdução

Monitoria GDI. Aula Prática. OR (Aula 1)


BD Objeto-Relacional - Motivação

Banco de Dados I Introdução SQL

Linguagem SQL Restrições, Triggers e Views

Prova de Fundamentos de Bancos de Dados 2 a Prova

Sistemas de Informação e Bases de Dados 2012/2013. Stored Procedures e Triggers

Revisão de Bancos de Dados

U NIVERSIDADE F EDERAL DE P ERNAMBUCO

Oracle Objeto-Relacional. Pablo Vieira Florentino

8 Referências Bibliográficas

Restrições de Integridade Semântica

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 20. Escola Politécnica da Universidade de São Paulo

S Q L Asserções, Visões e Técnicas de Programação. Daniel Bordignon Cassanelli Fernando Luiz Grando Pedro Patitucci Finamore

O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Triggers(Gatilhos) Tiago Alves de Oliveira

Banco de Dados II. PL/SQL - Procedures -Cursor - Funções. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.

Usando Visões SQL/XML para publicação de Dados Relacionais

2 Instalando e configurando o ambiente de desenvolvimento do Microsoft SQL Server

Introdução XML. Vanessa Braganholo

U NIVERSIDADE F EDERAL DE P ERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA

Aula 06 Sistemas Embarcados LT38C

BCD29008 Banco de dados

Testes Automatizados com Banco de Dados

Curso: Banco de Dados I. Conceitos Iniciais

10g PRINCIPAIS SERVIDORES UNIVERSAIS

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

Unidade 1 Introdução

UERJ Oscar Luiz Monteiro de Farias 1. Bancos de Dados. Mestrado em Engenharia de Computação área de concentração Geomática

Fundamentos de Programação ORACLE: SQL. Prof. Walter Gima

Testes Automatizados e Bancos de Dados

Roteiro. SQL: Visões. Suporte de SQL para OLAP SELECT. Detalhando GROUP BY SQL DML CONTINUAÇÃO CONSULTAS AVANÇADAS. Consultas Avançadas Visões

Aula 01 Conceito de Banco de Dados e SGBD

Curso de Ciência da Computação

BCD29008 Banco de dados

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Consultas SQL. Andre Noel

Triggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

ACH2025. Laboratóriode Bases de Dados. SQL Oracle Asserçõese gatilhos. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

Gerenciamento de Dados e Informação Fernando Fonseca. Graduação

Definição da Sintaxe Abstrata de Potigol em XML

Apresentação da Unidade Curricular

Breve Histórico do Curso de Ciência da Computação

Oracle & XML. Gerenciamento de Dados e Informação. Oracle XML DB. Oracle & XML. Oracle XML DB. Oracle XML DB. Suporte Nativo a XML no Oracle

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

BANCO DE DADOS TRIGGERS (GATILHOS) Prof. Fabiano Papaiz IFRN

Banco de Dados. Professor: Marcelo Machado Cunha IFS Campus Aracaju

SQL Procedural. Josino Rodrigues Neto

Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve

Triggers em SQLite. Fernando Lobo. Base de Dados, Universidade do Algarve


Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g

FESURV UNIVERSIDADE DE RIO VERDE FACULDADE DE CIÊNCIA DA COMPUTAÇÃO. Stored Procedures e Triggers

FACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação TRIGGERS. Prof. Erinaldo Sanches Nascimento

Professor Leonardo Larback

BANCO DE DADOS II SQL Básico. COTEMIG Gerson Borges

Sistemas de Informação e Bases de Dados 2012/2013. Restrições de Integridade em SQL

Introdução. O que é um Banco de Dados (BD)?

BANCO DE DADOS WEB AULA 9. concessão e revogação de privilégios. professor Luciano Roberto Rocha.

BANCO DE DADOS. Introdução. Prof. Marcelo Machado Cunha

Tabelas. Banco de Dados I MySQL

Oracle & XML. Gerenciamento de Dados e Informação. Oracle XML DB. Oracle & XML. Oracle XML DB. Oracle XML DB. Suporte Nativo a XML no Oracle

Banco de Dados II. Transações (Oracle) Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.

Sistemas da Informação. Banco de Dados I. Edson Thizon

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD

Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva.

Banco de Dados. Banco de Dados II. Característica fundamental de SGBDs. Abordagem SGBD x Processamento de Arquivos Tradicional

INE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago

Consultas sobre visões XML globais de Bases de Dados Distribuídas

Material Teórico. Procedures, Functions, Exceptions e Triggers. Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque

TRIGGER e SEGURANÇA. Prof. Edson Thizon

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

A linguagem SQL

Sérgio Koch Van-Dall

5a. Aula - XML

Modelo Entidade-Relacionamento (E-R)

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Integração de Dados. Processamento Analítico de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Prof. Dr. Ricardo Rodrigues Ciferri

3 Tecnologias Relacionadas

Atualização Automática de Web Sites Complexos

Introdução à Banco de Dados

Transcrição:

ATUALIZANDO BANCO DE DADOS OBJETO RELACIONAL ATRAVÉS DE VISÕES XML Mestrando: Wamberg Gláucon Chaves de Oliveira Orientadora: Profa. Dra. Vânia Maria Ponte Vidal Universidade Federal do Ceará Departamento de Computação Campus do Pici-Bloco: 910 60455-760 Fortaleza-CE-Brasil e-mail:{wamberg, vvidal}@lia.ufc.br Resumo O modelo XML (extended Markup Language) [1] vem se tornando um padrão para troca e integração de dados na WEB. Isto cria a necessidade de publicar dados, os quais estão armazenados em bases convencionais, no formato XML. A publicação desses dados é feita através do uso de visões XML. Atualmente, diversos sistemas têm proposto soluções para consultar bases de dados convencionais utilizando visões XML. Entretanto, com o intuito de tornar XML um padrão completo para representação de dados e compartilhamento de informações, deve ser possível não somente consultar, mas também atualizar estas bases de dados através de visões XML. Neste trabalho abordamos o problema de atualização de banco de dados objeto-relacional (BDOR) através de visões XML. Uma atualização da visão é simplesmente uma atualização que é especificada em uma visão XML, mas que deve ser traduzida em atualizações a serem executadas na base de dados. O problema de tradução de atualização da visão XML refere-se à questão de definir traduções corretas para atualizações submetidas através de visões XML. No enfoque proposto, utilizamos visões de objetos como interface entre a visão XML e as tabelas relacionais ou objetos relacionais do Banco de Dados. Palavras-chave: XML, Visão, Atualização, Objeto-Relacional. 1. Introdução Desde seu surgimento, XML vem rapidamente emergindo como padrão para publicação e integração de dados na Web. De forma que, muitos sistemas de integração de dados têm usado XML como modelo de dados comum para representar o conteúdo e a estrutura das fontes de informação. Além do mais, como a maioria dos dados está armazenada em bases de dados convencionais, isto cria a necessidade de publicar esses dados corporativos no formato XML. Uma forma geral de publicar esses dados é feita através do uso de visões XML. 107

Nas aplicações baseadas em XML, consultas são submetidas às visões XML e traduzidas em consultas nas bases de dados. Entretanto, a maioria das aplicações proposta não efetua atualizações sobre visões XML. Objetivando tornar XML um padrão completo para representação de dados, compartilhamento e integração de informações, deve-se permitir não somente consultar, mas também possibilitar que usuários e componentes de aplicações atualizem estas bases de dados através de visões XML. Na arquitetura de três níveis de esquemas, as visões constituem esquemas externos que permitem ao usuário ignorar dados que não são relevantes as suas aplicações. Como uma visão é apenas uma interface através da qual os usuários acessam e atualizam o banco de dados, qualquer atualização especificada na visão deve ser traduzida em atualizações a serem executadas no banco de dados. O problema de atualização de BDOR através de visões XML é bem mais complexo que o relacional, pois, além de estruturas relacionais, o modelo objeto-relacional permite o uso de tabela de objetos, os quais possuem estruturas complexas, como atributos multivalorados (tabelas aninhadas), atributos estruturados e de referência. No nosso trabalho, propomos um framework para atualização de banco de dados objeto-relacional (BDOR) através de visões XML que utiliza visões de objetos como interface entre a visão XML e o Banco de Dados. O nosso trabalho está estruturado da seguinte forma. Na seção 2, relatamos alguns trabalhos relacionados. Na seção 3, apresentamos nosso enfoque para atualização de bases objetorelacional através de visões XML, bem como mostramos um exemplo do seu funcionamento. Finalmente na seção 4, apresentamos as contribuições e resultados esperados. 2. Trabalhos relacionados Na literatura, diversos enfoques para construir visões XML de bases convencionais têm sido propostos. Muitos deles [2,3,4] focam o problema de construir visões somente para consultar dados das bases de dados. Outros [5,6,7,8] também provêem a construção de visões XML que atualizam as bases de dados. Entretanto, todos estes enfoques limitam-se somente ao escopo de banco de dados relacionais, bem como as operações de atualização são bastante limitadas. O banco de dados Oracle 9i[9] possui ferramentas que possibilita a construção de visões XML que atualizam tanto bases relacionais como objetos-relacionais, porém é necessário saber como está representado o esquema do banco de dados, assim como a visão XML deve permanecer em um formato canônico definido pela Oracle. Portanto, apesar do grande número de pesquisas que focam o problema de construir visões XML que atualizem bases de dados convencionais, esse problema ainda não foi resolvido satisfatoriamente. 3. Framework para atualização do banco OR através de visão XML O framework proposto utiliza uma arquitetura de três níveis de esquema para atualizar as tabelas do banco de dados através de visões XML (Figura 1). No nosso enfoque, o processo de tradução é realizado em dois passos: 108

Visão XML XML Schema XQUERY SQL (1) Visão de Objeto Default EsquemadaVisão INSTEAD OF Trigger BD (2) Figura1 Framework de atualização de BDOR através de visão XML No passo (1), as atualizações Xquery [2] submetidas a uma visão XML são traduzidas em atualizações SQL na visão de objeto default (VOD), que é uma visão de objeto que possui estrutura compatível com a estrutura da visão XML. Assim, a tradução de atualizações na visão XML em atualizações na visão de objetos torna-se trivial. No passo (2), as atualizações na visão de objeto default são por sua vez traduzidas, pelos INSTEAD of triggers, em atualizações no banco de dados. Estamos desenvolvendo os algoritmos que geram automaticamente os INSTEAD of triggers da visão de objetos default a partir das assertivas de correspondências (ACs) 1 do esquema da visão de objeto default com esquema do banco de dados. 3.1 Exemplo Nesta seção utilizamos um exemplo para descrever cada passo do processo de tradução de atualizações em visões XML. Suponha o esquema do BD apresentado na figura 2 e que desejamos publicar os dados desse banco através da visão XML V, cuja estrutura dos elementos (tipos) está representada na figura 3. Por limitação de espaço, os tipos dos elementos complexos do XML Schema são indicados entre parênteses. Por exemplo, Tlivro é o tipo complexo do elemento livro. Livros_R ISBN x x x x x x x x Titulo x x x x Autores_R Nome ISBN (FK) Endereco Figura 2 Esquema do BD Livraria Figura 3 Esquema XML da visão V 1 ACs são tipos especiais de restrição de integridade utilizadas para estabelecer a correspondência entre componentes de esquemas [10]. 109

Figura 4 mostra o esquema da visão de objetos default Livros_V correspondente ao esquema da visão V. <<object view>> Livros_V <<object type>> Livro_Ty ISBN Titulo Autores <<nested table>> List_Autor_Ty <<object type>> Autor_Ty nome endereço Figura 4 - Esquema da visão de objetos default Livros_V Considere o seguinte pedido de atualização na visão V definido na Figura 5. O tradutor transforma a atualização XQuery em uma atualização SQL na visão de objeto default Livros_V mostrado na Figura 6. O processo de tradução de Xquery para SQL é facilitado, pois utilizamos a visão de objetos default Livros_V que possui a mesma estrutura da visão XML V. LET $as :=document("$vx")/livros/livro[isbn="4321"]/autores UPDATE $as INSERT <autor> <nome>oliveira</nome> <endereço>ceará<endereço> </autor> Figura 5 - Atualização Xquery Insert into (select A.* from livros_v L, Table (L.autores) A where L.ISBN= 4321 ) Values (autor_ty ( Oliveira, Ceara )); Figura 6 - Atualização na V.O.D A atualização na visão de objetos Livros_V é processada utilizando o INSTEAD of triggers apresentado na Figura 8, que traduz a operação de inserção na nested table autores da visão Livros_V. CREATE OR REPLACE TRIGGER Insere_autores INSTEAD OF INSERT ON NESTED TABLE autores OF livros_v REFERENCING NEW AS autore PARENT AS livro FOR EACH ROW BEGIN INSERT INTO autores_r VALUES (:livro.isbn, :autore.nome, :autore.endereco); END; Figura 8 - Tradutor para inserção de autores em Livros_V 4. Contribuições e Resultados Esperados As principais contribuições e resultados esperados são: a. Desenvolvimento de um middleware que implemente o processo de tradução de atualizações (Xquery) na visão XML em atualizações na visão de objeto default 110

utilizando o enfoque apresentado. Atualmente estamos desenvolvendo o algoritmo para a tradução de atualizações XQuery na visão XML em atualizações SQL na visão de objeto default. Como mostrado no exemplo, uma vantagem do nosso enfoque é que este processo de tradução é simplificado, tendo em vista que a estrutura da visão de objetos default é compatível com a estrutura da visão XML; b. Desenvolvimento da ferramenta para geração dos tradutores de atualizações definidas na visão de objeto para atualizações nas tabelas do banco de dados.os tradutores gerados ficam armazenados no banco de dados na forma de INSTEAD of triggers. Nesse contexto, já iniciamos o desenvolvimento da ferramenta proposta. Outra vantagem do nosso framework é que aumenta o grau de independência lógica, uma vez que alterações no esquema do BD não implicam em alterações na definição da visão XML, sendo somente refletida na visão de objetos default. Assim, no caso de evolução do BD, somente os INSTEAD of triggers da visão de objetos default serão redefinidos. É importante notar que nossa proposta não se restringe necessariamente ao uso de visões de objetos, podendo-se utilizar stored procedure como alternativa para a tradução de atualização na visão XML em atualizações nas tabelas do banco de dados. Referência bibliográfica [1] World Wide Web Consortium, Extensible Markup Language (XML) Version 1.0, W3C Recommendation, 1999. [2] Tatarinovi, I.; Ives, Z.G.; Halevy, A.Y.; Weld, D.S. "Updating XML". In Proceedings of SIGMOD 2001, Maio de 2001. [3] Carey, M. et al. Xperanto: Publishing object-relational data as XML. In Third International Workshop on the Web and Databases, Dallas, Texas, May 2000. [4] Fernández, M. et al. Silkroute: Trading between relations and XML. In Proceedings of the Ninth International World Wide Web Conference, 2000. [5] Tufte, K. et al. Efficiently publishing relational data as XML documents. VLDB Conference, September 2000. [6] Braganholo, V.; Heuser, C.; Vittori, C. Updating Relational Databases through XML Views. In: IIIWAS 2001, Linz, Austria, 2001. [7] IBM. XML Extender Administration and Programming, 2000. [8] Trupin, J. SQL server 2000: New XML features streamline web-centric app development. Msdn Magazine. [9] Oracle XML SQL utility for java. Oracle Corporation, 2001. http://technet.oracle.com/tech/xml/oracle_xsu [10] Lóscio, B. Farias. Atualização de múltiplas bases de dados através de mediadores. Dissertação de Mestrado, Universidade Federal do Ceará, 1998. 111