• Nenhum resultado encontrado

DIInCX: Uma abordagem para descoberta de restrições de integridade semântica implícitas em dados XML

N/A
N/A
Protected

Academic year: 2021

Share "DIInCX: Uma abordagem para descoberta de restrições de integridade semântica implícitas em dados XML"

Copied!
166
0
0

Texto

(1)

DIInCX: Uma abordagem para Descoberta de

Restrições de Integridade Semântica Implícitas em

Dados XML

Florianópolis – SC

2007

(2)

UNIVERSIDADE FEDERAL DE SANTA CATARINA

PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA

COMPUTAÇÃO

Khaue Rezende Rodrigues

DIInCX: Uma abordagem para Descoberta de

Restrições de Integridade Semântica Implícitas em

Dados XML

Dissertação submetida à Universidade Federal de Santa Catarina como parte dos requisitos para a obtenção do grau de Mestre em Ciência da Computação

Prof. Dr. Ronaldo dos Santos Mello

Orientador

(3)

DIInCX: Uma Abordagem para Descoberta de Restrições de

Integridade Semântica Implícitas em Dados XML

Khaue Rezende Rodrigues

Esta Dissertação foi julgada adequada para a obtenção do título de Mestre em Ciência da Computação Área de Concentração Sistemas de Computação e aprovada em sua forma final pelo Programa de Pós-Graduação em Ciência da Computação.

________________________________ Prof. Dr. Mario Antônio Ribeiro Dantas Coordenador do curso Banca Examinadora

________________________________ Prof. Dr. Ronaldo dos Santos Mello

orientador ________________________________

Prof. Dr. Frank Augusto Siqueira

________________________________ Profa. Dra. Renata de Mattos Galante

________________________________ Profa. Dra. Carina Friedrich Dorneles

(4)

AGRADECIMENTOS

Pensei em diversas formas de iniciar esta seção, pensei em diversas pessoas que poderia agradecer, e acho que um bom começo para este capítulo é iniciar por quem me me acompanhou desde o inicio dessa caminhada de aprendizado, minha família. Não tenho como agradecer com palavras aos meus pais, o seu Inácio e a dona Marta, que sempre me incentivaram e ajudaram de todas as formas, inclusive abrindo mão do único carro para que eu pudesse chegar a tempo nas aulas que coincidiam com o horário de trabalho. Com meu pai aprendi a ter paciência, às vezes comigo mesmo. Gostaria de agradecer aos meus avós, o seu Ivo e dona Iolanda e a minha “dindinha” Ivani. Agradeço ao meu avô por me ensinar que o conhecimento é a única coisa que permanece sempre conosco. Com minha mãe e minha avó aprendi que nem só de conhecimento se faz o mundo, sem pessoas com corações tão grandes como os delas o mundo seria racional demais. Obrigado!

Gostaria de dedicar um parágrafo inteiro para agradecer à minha esposa Cris, que não só faz parte da minha família mas com quem formei um nova família. Agradeço pela compreensão a minhas ausências em muitos momentos. Espero que os obstáculos que tive durante o andamento de meu curso de mestrado não a desencorage a prosseguir na área acadêmica e a realizar o dela! Te amo Pequena!

Agradeço ao meu orientador Ronaldo pela amizade e confiança nessa jornada. Suas contribuições e críticas fizeram com que esta dissertação se tornasse realidade. Agradeço também aos membros da banca pelas sugestões e críticas.

Agradeço a todo o grupo de banco de dados da UFSC pelas sugestões. Desejo sucesso a todos! Não poderia deixar de agradecer à minha segunda família, meus amigos, pelo incentivo quando nem tudo ocorria no tempo que esperava. Aos meus amigos Rodrigo e Aguirre, amigos do início ao fim do mestrado, agradeço pelas palavras de incentivo quando o cansaço batia.

Gostaria de concluir agradecendo a todas as pessoas que me ajudaram de alguma forma durante o desenvolvimento deste trabalho. Obrigado!

(5)

SUMÁRIO

LISTA DE TABELAS... 9

LISTA DE ABREVIATURAS E SIGLAS ... 10

RESUMO... 11 ABSTRACT ... 12 1 INTRODUÇÃO ... 13 1.1 Hipóteses de pesquisa... 15 1.2 Objetivos... 16 1.3 Justificativas ... 17

1.4 Organização dos capítulos... 18

2 RESTRIÇÕES DE INTEGRIDADE E SUAS CATEGORIZAÇÕES ... 20

2.1 Restrições de integridade no modelo relacional... 21

2.2 Taxionomia para RIS XML... 23

2.2.1 Faceta Quanto ao tipo de limitação imposta... 27

2.2.2 Faceta Quanto ao alcance ... 28

2.2.3 Faceta Quanto à forma... 29

2.2.4 Faceta Quanto ao momento da verificação ... 30

2.2.5 Faceta Quanto à ação a ser executada ... 31

2.3 Aplicação da Taxionomia... 32

3 MINERAÇÃO DE DADOS ... 34

3.1 Mineração de regras de associação... 35

3.2 Mineração de regras de associação na descoberta de RIS... 36

4 TRABALHOS RELACIONADOS... 40

4.1 Restrições de integridade no modelo de dados XML... 41

4.2 Abordagens de descoberta de informação... 48

4.3 Sistemas de informação que se utilizam de RIS... 52

5 A ABORDAGEM DIINCX ... 55

5.1 Fase de Pré-processamento... 58

5.1.1 CDX-Tree - Complete Domain XML Tree ... 59

5.1.2 Regras de Pré-processamento... 65

5.2 Fase de Descoberta ... 70

(6)

5.2.2 Etapa de Mineração de RIS ... 76

5.3 Fase de Conversão... 80

5.4 Categorias de RIS’s XML descobertas... 83

6 ESTUDO DE CASO ... 86 7 CONCLUSÃO ... 103 7.1 Contribuições... 104 7.2 Trabalhos futuros... 106 7.3 Considerações finais... 107 BIBLIOGRAFIA ... 109 ANEXOS ... 118

(7)

LISTA DE FIGURAS

Figura 2.1 – Taxionomia para RIS XML. ... 25

Figura 2.2 – Fragmento de documento XML... 27

Figura 4.1 - Categorias de RIS propostas em FAN & SIMÉON (2003)... 43

Figura 4.2 – Taxionomia para RIS proposta em JACINTO et al. (2002a)... 45

Figura 4.3 – Taxionomia para RIS proposta em HU & TAO (2004)... 46

Figura 4.4 - Taxionomia proposta em LAZZARETTI & MELLO (2005). ... 47

Figura 5.1 - Visão geral da abordagem DIInCX. ... 57

Figura 5.2 - Classes e propriedades da CDX-Tree. ... 60

Figura 5.3 - Propriedades estruturais da CDX-Tree... 61

Figura 5.4 - Sub-propriedades da propriedade hasValue. ... 62

Figura 5.5 - Classes nodeElement e treeElement. ... 63

Figura 5.6 - Classe rootTree. ... 63

Figura 5.7 - Exemplo de instância da classe rootTree... 63

Figura 5.8 - Classe collectionNode. ... 64

Figura 5.9 - Exemplo de instância da classe collectionNode. ... 64

Figura 5.10 - Classe leafNode. ... 64

Figura 5.11 - Exemplo de instância da classe leafNode... 65

Figura 5.12 - Exemplo de construção da estrutura hierárquica da CDX-Tree. ... 66

Figura 5.13 - Instância XML (a), trecho da instância CDX-Tree correspondente (b) e instância collectionNode (c). ...67

Figura 5.14 – Exemplo de RIS’s especificadas em SWRL. ... 74

Figura 5.15. Representação gráfica da estrutura hierárquica da CDX-Tree. ... 77

Figura 5.16 – Exemplos de regras de associação descobertas... 80

Figura 5.17 – Tradução de regra de associação para RIS quantificada... 82

Figura 5.18 – Tradução de regras de associação para RIS em SWRL. ... 83

Figura 6.1 – Estrutura completa do domínio de instâncias XML... 88

Figura 6.2 – Exemplo de instância XML. ... 89

Figura 6.3 - Trecho da instância CDX-Tree... 90

Figura 6.4 - Exemplos de conceitos leafNode... 93

Figura 6.5 – Representação gráfica da estrutura hierárquica da CDX-Tree. ... 95

(8)

Figura 6.7 – RIS descobertas relacionadas a conceitos enumerados. ... 97

Figura 6.8 – RIS descobertas relacionadas a conceitos constantes. ... 98

Figura 6.9 – RIS descobertas relacionadas à cardinalidade. ... 98

Figura 6.10 – Quantidade de RA’s descobertas por Relevância mínima. ... 100

Figura 6.11 – RA’s descobertas com Relevância Mínima 50%... 101

(9)

LISTA DE TABELAS

Tabela 2.1 – Taxionomia vs. SGBD’s XML e linguagens de especificação de RIS. .... 33

Tabela 5.1 – Parâmetros de entrada para a abordagem DIInCX. ... 56

Tabela 5.2 - Conjunto de intâncias XML de entrada... 76

Tabela 5.3 - Exemplo de matriz de transações originada de instâncias XML. ... 78

Tabela 6.1 – Premissas adotadas na construção do domínio de dados... 87

Tabela 6.2 - Valores dos parâmetros de entrada utilizados no experimento... 89

Tabela 6.3 – Tradução de elementos/atributos para conceitos da CDX-Tree. ... 91

Tabela 6.4 – Valores discretizados de conceitos Quantificados. ... 94

Tabela 6.5 – Relevância dos conceitos presentes na CDX-Tree... 95

(10)

LISTA DE ABREVIATURAS E SIGLAS

HTML Hyper Text Markup Language XML eXtensible Markup Language RI Restrição de Integridade

RIS Restrição de Integridade Semântica RISi Restrição de Integridade Sintática OWL Ontology Web Language

DIInCX Discovery of Implicit Integrity Constraint from XML data CDX-Tree Complete Domain XML Tree

SGBD Sistema Gerenciador de Bancos de Dados SWRL Semantic Web Rule Language

DTD Document Type Definition W3C World Wide Web Consortium

XSLT XML Stylesheet Language Transform SII Sistema de Integração de Informação RA Regra de Associação

(11)

RESUMO

A Web tem sido adotada como uma grande fonte e meio para troca de

informações. No entanto, os dados presentes nela se encontram sob os mais variados modelos de dados, principalmente XML. Em função do amplo uso do modelo de dados XML, questões como a descoberta de conhecimento e a manutenção da integridade sobre dados XML têm crescido em importância. A descoberta de conhecimento é relevante no suporte a decisões, enquanto a manutenção da integridade visa manter este conhecimento consistente. Dada esta relevância, é proposta uma abordagem semi-automática para descoberta de Restrições de Integridade Semânticas (RIS) a partir de instâncias XML chamada DIInCX (Discovery of Implicit Integrity Constraint from XML data).

DIInCX define um processo que coleta informações sobre as instâncias XML, aplica um algoritmo de mineração de regras de associação com adaptações e traduz as regras descobertas para RIS’s especificadas na linguagem SWRL (Semantic Web Rule Language). A abordagem provê suporte a sistemas de manipulação de dados que desejam gerenciar RIS’s. Outra contribuição deste trabalho é uma taxionomia para RIS’s XML segundo os componentes de uma RI em bancos de dados. Esta taxionomia auxilia na avaliação de expressividade de linguagens de especificação de RIS’s XML e da robustez de sistemas que controlam RIS’s.

(12)

ABSTRACT

Web today is a very large data repository as well as a vehicle for information interchange. However, data on the Web are defined over many data models, mainly XML model. Because of the broad use of the XML data model, issues like knowledge discovery and integrity maintenance have been increasing in importance. Knowledge discovery is relevant for decision support, while integrity maintenance focus on maintain this knowledge consistent. Given such motivation, this work proposes a semi-automatic approach for discovery of XML Semantic Integrity Constraints (SIC), based on XML instances, called DIInCX (Discovery of Implicit Integrity Constraint from XML data).

DIInCX defines a process that collects information about XML instances, applies an association rule mining algorithm with proposed adaptations, and translates the discovered association rules to SIC’s defined in SWRL (Semantic Web Rule Language). The proposed approach provides a support to information systems that need to manage SIC’s. Another contribution of this work is a taxonomy for XML SIC’s based on the components of a database IC. This taxonomy aims at helping in the expressivity evaluation of XML SIC’s language specification as well as robustness evaluation of information systems that manage SIC’s.

(13)

1 INTRODUÇÃO

Cada vez mais a Web se torna uma grande fonte e meio para troca de informações. No entanto, os dados existentes nela apresentam alta heterogeneidade, estando distribuídos sob os mais variados formatos e modelos de dados, principalmente dados semi-estruturados. Dentre estes, destacam-se a linguagem HTML (Hyper Text

Markup Language) e mais recentemente, a linguagem XML (eXtensible Markup Language) (XML, 2007). No entanto, há uma relevante diferença entre estas: a

linguagem XML apresenta um maior poder de expressão, além de apresentar uma definição clara do conteúdo representado, enquanto a HTML foca em questões envolvendo a apresentação do dado (NAYAK et al., 2002). Este fato tem transformado a linguagem XML em um padrão emergente para troca e representação de dados semi-estruturados na Web.

Em função do amplo uso da XML, questões como a descoberta de conhecimento e a manutenção da integridade sobre dados XML têm crescido em importância (BUNEMAN et al., 2001; FAN, 2005). A descoberta de conhecimento é relevante no suporte a decisões, nas mais diversas áreas (BÜCHNER et al., 2000), enquanto a manutenção da integridade visa manter este conhecimento consistente (CODD, 1980). Por descoberta de conhecimento entende-se extrair tanto informação explicitamente declarada, através da estrutura ou regras inerentes ao modelo de dados, quanto informação implícita existente em fontes de dados. Por manutenção de integridade entende-se a garantia da consistência dos estados válidos dos dados e das possíveis transições de estado entre estes.

Por conseguinte, a fim de prover a garantia da integridade, é usual a definição de regras específicas ou Restrições de Integridade (RI). De fato, CODD (1980) destaca a importância das RI’s definindo-as como um conceito básico de um modelo de dados. Entende-se desta forma, que além de ter como função a manutenção de conhecimento, as RI’s por si só representam uma forma de conhecimento, uma vez que fazem parte do modelo de dados. Com isto, ressalta-se a importância das RI’s na definição de um modelo de dados baseado na linguagem XML. Por conseguinte, RIS’s quando observadas sobre dados semi-estruturados como XML, apresentam maior complexidade

(14)

do que sobre dados estruturados. Este fato se deve principalmente ao formato irregular inerente ao modelo de dados XML.

Em se tratando de RI`s, este trabalho distingue RI’s sintáticas de RI’s semânticas. RI`s sintáticas (RISi) consideram a garantia da consistência da estrutura, por exemplo, não deve haver espaços na composição do nome de uma tag XML. Enquanto, as RI’s semânticas (RIS) consideram o real significado do dado, por exemplo, uma estrutura em lista indicando uma ordem de relevância entre seus elementos. Considerando a alta importância das RIS, este trabalho foca no seu tratamento para dados XML, pois estas têm como finalidade a garantia da manipulação consistente dos dados XML relacionados ao domínio da aplicação.

No que tange à descoberta de conhecimento, a descoberta de RIS’s e sua posterior incorporação a esquemas de dados traria inúmeros benefícios, acrescentando semântica e um maior grau de consistência a modelos de dados. De fato, observa-se que a especificação exaustiva de RIS’s por um usuário especialista é um processo difícil, seja pela falta de conhecimento do mesmo a respeito do domínio ou pela grande quantidade de RIS’s a serem especificadas para o domínio a fim de torná-lo completo no que tange a sua manutenção de integridade.

Neste contexto, este trabalho propõe uma abordagem semi-automática para descoberta de RIS implícitas a partir de instâncias XML chamada DIInCX1. A abordagem proposta compreende um processo composto por três fases:

Pré-Processamento, Descoberta e Conversão.

A fase de Pré-processamento consiste na aplicação de um conjunto de regras cuja intenção é uniformizar e simplificar a estrutura de um conjunto de instâncias XML, removendo elementos ou atributos que não auxiliam no processo de descoberta de RIS. Esta fase é responsável por construir uma instância de um esquema conceitual hierárquico chamada CDX-Tree (Complete Domain XML Tree), que é especificada em OWL (Ontology Web Language) (OWL, 2007). Esta instância do esquema representa a estrutura simplificada das instâncias XML e serve de guia para as próximas fases da abordagem. O esquema conceitual CDX-Tree é discutido em detalhes na seção 5.1.

(15)

A fase de Descoberta é baseada na aplicação de um algoritmo adaptado de mineração de regras de associação. Os dados de entrada para o algoritmo são tomados a partir das instâncias XML e acessados através dos conceitos presentes na instância do esquema CDX-Tree. A fase é dita baseada em um algoritmo adaptado de mineração de regras de associação, pois a este são propostas adaptações que proporcionam a descoberta de regras de associação que possam ser traduzidas para RIS’s de menor complexidade.

A fase de Conversão é responsável por traduzir as regras de associação descobertas para RIS especificadas em uma linguagem de representação de conhecimento chamada SWRL (Semantic Web Rule Language) (SWRL, 2007). A SWRL foi escolhida devido ao seu alto nível de abstração, ao invés de uma linguagem de definição de RIS’s específica. Adotar linguagens de definição de RIS’s específicas tais como a DTD (DTD, 2007), XML Schema (XML SCHEMA, 2007) ou outras, é considerado um ponto negativo de trabalhos relacionados (NESTOROV et al., 1998; HACID et al., 2000; CASTANO et al., 2002; CHIDLOVSKII, 2002; LIU et al., 2004; HEGEWALD et al., 2006) conforme discutido no capítulo 4.

1.1 Hipóteses de pesquisa

Um desafio da comunidade de pesquisa atual é manter consistente os dados em formato XML, seguindo não apenas regras simples como formatos de dados primitivos, mas regras de negócio complexas, como atualmente é possível definir sobre modelos de dados estruturados. Estas regras de negócio complexas são usualmente definidas através de RIS’s e, no contexto XML, são consideradas por poucos sistemas de informação.

Este trabalho propõe uma abordagem para descoberta de RIS implícitas a partir de instâncias XML. O propósito é auxiliar no suporte a sistemas de informação, tais como Sistemas Gerenciadores de Bases de Dados XML (SGBD XML) e Sistemas de Integração de Informação XML (SII XML) que pretendam gerenciar RIS’s. De fato, a incorporação de RIS’s por estes sistemas traria inúmeros benefícios, como por exemplo, esquemas de dados mais consistentes.

(16)

1.2 Objetivos

Objetivo Geral

Este trabalho visa desenvolver uma abordagem capaz de descobrir informação implícita na forma de restrições de integridade semânticas a fim de complementar a semântica de fontes de dados XML pré-existentes.

Objetivos específicos

Os objetivos específicos deste trabalho são:

• Definir uma abordagem para descoberta de RIS’s implícitas. A

abordagem proposta define um processo que é capaz de descobrir RIS’s, a partir de instâncias XML em um mesmo domínio de aplicação. O processo consiste de uma técnica de mineração de dados conhecida como mineração de regras de associação e da análise da instância de um esquema conceitual hierárquico definido a partir da estrutura das instâncias XML;

• Buscar uma abordagem tão automatizada quanto possível. O processo adota como dados de entrada apenas as instâncias XML, pois parte da premissa de que a representação de RIS’s, envolvidas num referido domínio através de esquemas XML, é incompleta. Isto ocorre pela limitação de conhecimento do usuário especialista que define o esquema, ou ainda pela falta de expressividade de linguagens de especificação de esquemas. O usuário que interage com a abordagem apenas fornece parâmetros de entrada e seleciona, dentre as RIS’s descobertas, as mais relevantes para um dado domínio;

• Estabelecer uma forma de representação de alto nível para as RIS’s

descobertas. A representação das RIS’s descobertas através da SWRL e sua

adoção como linguagem para especificação de RIS’s objetiva representar as RIS’s em uma linguagem com alto nível de abstração. O propósito é obter alto poder de expressão e facilitar sua posterior tradução para linguagens específicas de definição de RIS’s;

• Elaborar uma taxionomia para RIS’s XML a fim de definir o escopo da

(17)

especificação de RIS. A partir do estudo de trabalhos relacionados, observa-se

que poucos trabalhos apresentam uma taxionomia completa para RIS’s XML, embora alguns apresentem poucas categorias. Não havendo uma taxionomia consolidada no contexto XML para delimitar a abrangência das RIS descobertas, é proposta uma taxionomia com base na análise dos componentes de uma RIS.

1.3 Justificativas

O principal objetivo deste trabalho é desenvolver uma abordagem capaz de descobrir informação implícita a fim de complementar fontes de dados pré-existentes com a agregação de semântica na forma de RIS’s. O foco da abordagem proposta são as RIS’s implícitas, uma vez que RIS’s explícitas representam conhecimento já presente no modelo de dados ou esquemas associados a instâncias XML. Já RIS’s implícitas representam um novo conhecimento que tem por função complementar a semântica de domínios de dados. Conseqüentemente, a abordagem se apresenta particularmente útil para fontes de dados sem esquemas, além de servir como complemento a fontes de dados que possuem esquemas definidos.

A abordagem proposta busca prover um melhor suporte a sistemas de informação no que tange a incorporação de RIS’s. De fato a incorporação de RIS’s pode trazer contribuições a sistemas de informação nas mais diversas áreas de pesquisa. No contexto do modelo de dados XML destacam-se SII’s XML (tanto de instâncias quanto de esquemas) e SGBD’s XML. Dentre as contribuições às áreas de pesquisa citadas, destacam-se: (i) uma maior consistência de esquemas de dados XML; (ii) sistemas de consultas mais “robustos”; e (iii) maior precisão na integração quando os dados estiverem acompanhados de RIS’s. Por exemplo, em sistemas baseados em mediadores para o acesso a fonte de dados XML heterogêneas, a análise de RIS’s pode evitar o acesso a fontes com dados irrelevantes para a consulta.

No entanto, no contexto de gerência de RIS’s sobre dados XML, ainda há diversas questões em aberto ou sendo trabalhadas, onde se destacam: (i) técnicas de mineração de dados (data mining) aplicadas a dados XML (tanto a sua estrutura quanto ao seu conteúdo) (NAYAK et al., 2002; BRAGA et al., 2002; GARBONI et al., 2006);

(18)

LOPEZ, 1997; EMBLEY et al., 1999; NAYAK et al., 2002; BRAGA et al., 2002; GARBONI et al., 2006); (iii) a incorporação e uso de RI’s na otimização de processos em SII’s e SGBD’s (REYNAUD et al., 2001; SCHÖNING, 2001; ERDMANN & STUDER, 2001; MEIER, 2002; CALI et al., 2002; DELOBEL et al., 2003; CRUZ et al., 2003; WIWATWATTANA et al., 2003; LETHI & FANKHAUSE, 2004; MELLO & HEUSER, 2005); (iv) problemas de decidibilidade e satisfabilidade sobre RI’s (ARENAS et al., 2002a; ARENAS et al. 2002b; FAN & SIMÉON, 2003; DEUTSCH & TANNEN, 2003); (v) o uso de RI’s na otimização de consultas (problemas de reformulação/decomposição de consultas) (DEUTSCH & TANNEN, 2003; MA & SCHEWE, 2003).

Os itens (i) e (ii) estão diretamente relacionados à abordagem proposta,

enquanto o item (iii) é relacionado com as contribuições da mesma. Embora os itens (iv) e (v) estejam fora do escopo da abordagem, ambos são discutidos na conclusão deste trabalho, na forma de trabalhos futuros. No mais, a fim de mensurar as RIS’s implícitas descobertas a partir da abordagem proposta, é apresentada uma taxionomia para classificar as RIS’s segundo os seus componentes, de acordo com SANTOS (1980).

1.4 Organização dos capítulos

Este trabalho está organizado da seguinte forma. O segundo capítulo apresenta a base conceitual envolvendo RI’s, necessária para a compreensão da abordagem proposta. Ainda neste capítulo é apresentada uma taxionomia para RIS sobre o modelo de dados XML e uma breve exemplificação de sua aplicação sobre linguagens de especificação de RIS’s e SGBD’s XML.

O terceiro capítulo apresenta alguns conceitos básicos relacionados à mineração de dados com foco na categoria denominada de mineração de regras de associação, empregada na abordagem. O quarto capítulo apresenta os trabalhos relacionados presentes na literatura que se relacionam com a abordagem. O foco do capítulo é apresentar o estado da arte no que tange RIS’s através das limitações e contribuições dos trabalhos relacionados.

O quinto capítulo detalha a abordagem DIInCX, seu conceitos básicos e o processo exemplificando o mesmo a cada etapa. O sexto capítulo apresenta um estudo

(19)

de caso ilustrando a abordagem. Finalmente, o capítulo sete apresenta as conclusões, realçando contribuições e trabalhos futuros.

(20)

2

RESTRIÇÕES DE INTEGRIDADE E SUAS CATEGORIZAÇÕES

Este capítulo foi baseado no artigo A Faceted Taxonomy of Semantic Integrity

Constraints for the XML Data Model, publicado no evento International Conference on Database and Expert Systems Applications (DEXA) (RODRIGUES & MELLO, 2007b),

o qual apresenta uma proposta para taxionomia de RIS para o modelo de dados XML. Esta taxionomia teve por base um estudo sobre RIS realizado sobre o modelo de dados relacional (alguns trabalhos relacionados são apresentados na seção 2.1) e XML (trabalhos relacionados são apresentados na seção 4.1), realizado a fim de definir a expressividade necessária para a abordagem DIInCX. Este capítulo apresenta alguns conceitos básicos sobre manutenção de integridade, discutindo-os a partir de conceitos para o modelo de dados relacional e semi-estruturado.

O termo manutenção de integridade refere-se ao ato de garantir que fontes de

dados se mantenham íntegras, ou seja, consistentes em seus estados possíves e transições entre eles. Por conseguinte, a fim de prover a garantia da integridade, é usual a definição de regras específicas, denominadas Restrições de Integridade (RI). SANTOS (1980) afirma que integridade é uma propriedade de um banco de dados que se refere à validade do seu conteúdo e à forma pela qual o mesmo foi alcançado. Ainda segundo o autor, uma restrição de integridade é uma regra que restringe o conjunto de estados íntegros e/ou o conjunto de transições válidas em um banco de dados. CODD (1980) define RI como um conceito básico de um modelo de dados. Entende-se, desta forma, que além de ter como função a manutenção de conhecimento, as RI’s por si só representam uma forma de conhecimento, uma vez que fazem parte do modelo de dados. RI’s quando observadas sobre dados semi-estruturados como o modelo de dados XML, apresentam maior complexidade do que sobre dados estruturados. Este fato se deve principalmente ao formato irregular inerente ao modelo de dados semi-estruturados.

Em se tratando de RI`s, é possível distinguir dois tipos não exclusivos: sintática e semântica (RODRIGUES & MELLO, 2007c). Elas são consideradas não exclusivas, pois diversos tipos de RI’s sintáticas apresentam aspectos semânticos. Por exemplo, uma RI que imponha uma ordem entre elementos pode possuir tanto aspectos sintáticos

(21)

(forma de definir uma estrutura em lista) quanto semânticos (um grau de relevância entre estes elementos). Desta forma, enquanto RI`s sintáticas (RISi) consideram a garantia da consistência da estrutura, as RI semânticas (RIS) consideram o real significado do dado. Considerando sua alta importância, este trabalho foca no tratamento de RIS’s para dados XML, pois estas têm como finalidade a garantia da manipulação consistente dos dados XML relacionados a um domínio da aplicação.

O trabalho de SANTOS (1980) decompõe uma RI segundo os seguintes componentes: (i) restringente - objetos de dados utilizados na especificação da restrição; (ii) restringido - objetos de dados sobre os quais se aplicam a restrição; (iii)

condição restritiva - expressão lógica a ser validada que relaciona restringentes e restringidos; (iv) pontos de verificação - momento de início da validação da restrição; e (v) ações de violação - ações a serem executadas após a violação da restrição a fim de

manter a integridade dos dados. A partir destes componentes, pode-se definir que a manutenção de integridade de dados é realizada através da validação em um ponto de

verificação específico, de um objeto restringido considerando uma condição restritiva

que compreende objetos restringentes e, por fim, executando ações de violação em caso de falha.

A seção 2.1 a seguir apresenta trabalhos relacionados no contexto do modelo de dados relacional que foram adotados como base para a taxionomia proposta. A seção 2.2 apresenta a proposta de taxionomia para o modelo de dados XML. Por fim a seção 2.3 apresenta, como forma de aplicação da taxionomia proposta, um experimento prático, que compara um conjunto de linguagens de especificação de RIS’s e SGBD’s XML.

2.1 Restrições de integridade no modelo relacional

A literatura clássica de banco de dados apresenta algumas categorias e propostas de taxionomias para RIS’s (CODD, 1980; SANTOS et al., 1980; ELMASRI & NAVATHE, 2003; DATE, 2003; SILBERSCHATZ et al., 2005), sendo este tópico já amplamente discutido no contexto de modelo de dados estruturados, especialmente o modelo relacional de dados. Um trabalho recente faz uma “aglutinação” destas propostas heterogêneas com o objetivo de propor uma classificação (LAZZARETTI,

(22)

2005).

Em SANTOS et al. (1980) é apresentada uma taxionomia baseada nos seguintes aspectos: origem - significando o agente que impõe a restrição (requisito natural imposto pelo modelo de dados ou pela implementação de restrições); substância - significando a propriedade de uma restrição e seus propósitos (transição de estados, intenção, etc.); forma da especificação - significando a forma com que a restrição pode ser considerada (explicitamente declarada, implicitamente presente no modelo de dados ou uma conseqüência lógica de outra restrição) e modo de aplicação - significando características dinâmicas de uma restrição (ativação manual ou ativação automática, estratégia de inspeção direta ou estratégia de inspeção indireta).

Em DATE (2003) é apresentada uma taxionomia que classifica RI’s conforme segue: restrições de tipo (domínio), restrições de atributo, restrições de variáveis de

relação (tuplas), restrição de banco de dados, restrições de transição de estados, restrições de chaves, restrições de integridade referencial, e restrições quanto ao momento de verificação (o momento que a RI é verificada). Em CODD (1980) esta

última categoria é chamada de “pontos de integridade”.

Em SILBERSCHATZ et al. (2005) as RI’s são classificadas em: restrições de

domínio, restrições de chaves, restrições de formas de relacionamentos e restrições de integridade referencial. ELMASRI & NAVATHE (2003) classifica as RI’s da seguinte

forma: restrições de domínio, restrições de chave, restrições de entidade e restrições de

integridade referencial.

O trabalho de LAZZARETTI & MELLO (2005) propõe para o modelo relacional as seguintes categorias: restrições de domínio (restrições de atributo,

restrições de tipo, restrições de tupla, restrições de banco de dados e restrições de transição de estado), restrições de chave (chaves candidatas, chaves primárias ou alternativas e chaves estrangeiras), restrições de integridade referencial, restrição de momento de verificação e restrições baseadas em eventos.

Através destes trabalhos observa-se que, mesmo no contexto do modelo de dados relacional, já amplamente consolidado, não há consenso em relação a uma taxionomia para RI’s. Entretanto, muitas categorias, como Restrições de chaves e

(23)

Restrições de integridade referencial, se mostram presentes em diversos trabalhos

denotando um consenso dentre a maior parte dos autores.

2.2 Taxionomia para RIS XML

Esta seção detalha uma proposta de taxionomia para RIS XML, descrita em RODRIGUES & MELLO (2007b). A referida taxionomia visa suprir a falta de uma taxionomia consolidada para RIS no modelo de dados XML. Seu objetivo principal foi servir como forma de mensurar a qualidade da abordagem proposta, definindo claramente as categorias de RIS capazes de serem descobertas por ela.

Há na literatura algumas propostas de taxionomias para RIS’s XML (PAVLOVA et al., 2000; JACINTO et al., 2002a; HU & TAO, 2004; LAZZARETTI & MELLO, 2005). Contudo, estas propostas se apresentam heterogêneas, com fraco embasamento teórico ou incompletas. A maioria das categorias presentes na literatura se apresenta restrita a um pequeno grupo de categorias do universo de RIS’s para o modelo de dados XML, tais como as que envolvem integridade referencial (BUNEMAN et al., 2001; ARENAS et al., 2002a; KLARLUND et al., 2002; DEUTSCH & TANNEN, 2003; FAN & SIMÉON, 2003; NENTWICH, 2005). A importância de uma taxionomia para RIS XML abrangente é realçada pela dificuldade de avaliação da expressividade de linguagens de especificação de RIS, assim como de sistemas que dêem suporte a elas. A maioria das categorias ou taxionomias propostas (BUNEMAN et al., 2001; ARENAS et al., 2002a; JACINTO et al., 2002a; DEUTSCH & TANNEN, 2003; FAN & SIMÉON, 2003; HU & TAO, 2004; LAZZARETTI & MELLO, 2005) tem por função delimitar o escopo de trabalhos específicos, não sendo o principal objetivo deles definir uma classificação abrangente. Cada trabalho foca em apresentar apenas as categorias de RIS relacionadas às características que aborda, como por exemplo FAN & SIMÈON (2003), que apresenta categorias de RIS’s envolvendo chaves e integridade referencial. No mais, uma taxionomia consolidada se demonstra de grande valia para avaliação do poder de expressão de SGBD’s XML, no que diz respeito à expressividade do seu sistema de gerenciamento de RI’s. Desta forma, as limitações de propostas presentes na literatura e a falta de um consenso com relação à classificação de RIS XML foram as motivações para a proposta de taxionomia para RIS XML, apresentada nesta seção.

(24)

A proposta de taxionomia para RIS’s XML (mostrada na Figura 2.1) distingue diversas facetas de uma RIS. O conceito de faceta, como um componente de uma

classificação facetada2 (RANGANATHAN, 1967), permite classificar uma RIS sobre diferentes pontos de vista, com o propósito de prover uma base para a avaliação de sua expressividade. As facetas propostas consideram os componentes de uma RI (SANTOS, 1980) e conceitos para o modelo relacional de dados (CODD, 1980) em sua definição. Por conseguinte, as categorias que compõe cada faceta são baseadas em taxionomias e conceitos para o modelo de dados relacional (CODD, 1980; SANTOS et al., 1980; ELMASRI & NAVATHE, 2003; DATE, 2003; LAZZARETTI, 2005; SILBERSCHATZ et al., 2005), além de contribuições de trabalhos relacionados no contexto XML (PAVLOVA et al., 2000; ARENAS et al., 2002a; JACINTO et al., 2002a; DEUTSCH & TANNEN, 2003; FAN & SIMÉON, 2003; HU & TAO, 2004; LAZZARETTI & MELLO, 2005). No entanto, a taxionomia é tão simples e consistente quanto possível, propondo apenas as categorias necessárias para atingir as contribuições propostas e suplantar as limitações dos trabalhos relacionados. De fato, uma taxionomia facetada analisada a partir dos componentes de uma RI se mostra uma boa escolha, pois permite distinguir as RIS’s com relação a suas principais propriedades. Propriedades estas que sistemas que pretendam dar suporte a RIS’s devem considerar.

2 A classificação facetada foi proposta por Ranghanathan (RANGHANATHAN, 1967) e argumenta que a

informação pode ser analisada sobre diversos aspectos ou propriedades, denominadas pelo autor de

(25)

1. Quanto ao tipo de limitação imposta. Considera restrições a valores de dados em um documento XML o Estado. Restringem o valor de um elemento atômico, atributo ou conjunto destes.

ƒ Estáticas. Impõem a mesma limitação a qualquer instância do documento XML.

Quantificada. Impõem uma limitação quantificável ao valor de um elemento ou atributo, ou a conjunto destes;

Qualificada. Impõem uma limitação qualificável ao valor de um elemento ou atributo, ou conjunto destes;

Existência dependente. Limita a existência de um elemento, atributo à existência de um elemento/atributo, conjunto destes ou de seus valores.

ƒ Dinâmicas. Impõem diferentes limitações a cada instância do documento XML; Quantificada. Idêntico à categoria Estática, aplicada a um contexto dinâmico; Qualificada. Idêntico à categoria Estática, aplicada a um contexto dinâmico;

Existência dependente. Idêntico à categoria Estática, aplicada a um contexto dinâmico. o Transição de estados. Restringem as transições de valores de elementos, atributos ou conjunto

destes.

ƒ Estáticas. Impõem a mesma limitação a transições de valores de elementos, atributos ou conjunto destes.

Quantificada. Impõem uma limitação quantificável à transição de valores de elementos, atributos ou conjuntos destes;

Qualificada. Impõem uma limitação qualificável à transição de valores de elementos, atributos ou conjuntos destes;

Existência dependente. Limita a existência de um elemento, atributo à existência de um elemento/atributo, conjunto destes ou de seus valores em um estado diferente do atual.

ƒ Dinâmicas. Impõem diferentes limitações a transições de valores de elementos, atributos ou conjunto destes;

Quantificada. Idêntico à categoria Estática, aplicada a um contexto dinâmico; Qualificada. Idêntico à categoria Estática, aplicada a um contexto dinâmico;

Existência dependente. Idêntico à categoria Estática, aplicada a um contexto dinâmico;

2. Quanto ao alcance. Consideram a distância hierárquica entre os nodos em um documento XML ou repositório XML, envolvidos na especificação da restrição ou sendo restringidos.

o Item de dado. Considera um único atributo ou elemento simples;

o Tupla. Considera um conjunto de atributos e/ou de elementos simples de um elemento complexo; o Elemento. Considera um conjunto de atributos e/ou de sub-elementos de um mesmo elemento

complexo;

o Documento. Considera atributos e/ou elementos simples de elementos complexos distintos. 3. Quanto à forma. Considera a notação utilizada para definir a restrição.

o Restrições baseadas em expressões booleanas. Avaliam um predicado retornando verdadeiro ou falso como resultado.

ƒ Simples. Consideram apenas um elemento/atributo; ƒ Composta. Consideram mais de um elemento/atributo.

o Restrições baseadas em regras condicionais. Possuem expressões booleanas embutidas, podendo ou não executar ações sobre o documento XML a fim de garantir a integridade semântica.

ƒ Simples. Considera somente uma estrutura condicional;

ƒ Composta. Considera mais de uma estrutura condicional (aninhamentos).

4. Quanto ao momento da verificação. Corresponde ao momento de início da validação da restrição. o Imediata. Valida a restrição no momento que uma operação ocorre sobre um dado; o Postergada. Valida a restrição em algum momento posterior.

5. Quanto à ação a ser executada. Considera o tipo de ação que a restrição executa ao ser violada.

o Informativas. Apenas informa a violação ocorrida executando uma operação de restauração do estado anterior (ROLLBACK);

o Ativas. Executa operações sobre o documento XML a fim de manter a integridade dos dados.

Fonte: Primária.

Figura 2.1 – Taxionomia para RIS XML.

Assim, na taxionomia apresentada, é proposta uma análise de RIS para os seguintes aspectos: (i) o tipo de limitação que a RIS é capaz de impor a elementos ou atributos – considerando o componente restringido de uma RI; (ii) o alcance da RIS,

(26)

isto é, a quantidade de nodos do documento XML envolvidos na especificação da restrição ou sendo restringidos – considerando os componentes restringente e

restringido; (iii) a forma como ela se apresenta, significando a sintaxe da especificação

da RIS – considerando o componente condição restritiva; (iv) quanto ao momento da

verificação da restrição – considerando o componente pontos de verificação; e (v) quanto à ação a ser executada após a violação de uma restrição – considerando o

componente ações de violação.

As principais contribuições da taxionomia proposta são: (i) flexível, por ser especificada como uma classificação facetada é facilmente extensível; (ii) maior abrangência em relação ao universo de RIS para documentos XML; (iii) apresenta um embasamento teórico para justificar os itens da classificação (baseado em propostas do modelo relacional com adaptações para o modelo XML e nas propostas existentes na literatura para o modelo de dados XML); e (iv) uma taxionomia que permite a avaliação da expressividade de linguagens de especificação de RIS XML e conseqüente comparação entre estas. No mais, a taxionomia proposta, conforme demonstrado nas seções seguintes, se mostra útil na avaliação de sistemas que dão suporte a RIS’s quanto à expressividade destes em termos de RIS’s.

As próximas subseções analisam a relevância de cada faceta e suas categorias, a fim de destacar as contribuições da taxionomia proposta, assim como limitações de trabalhos relacionados. Uma discussão mais detalhada sobre trabalhos relacionados se encontra no capítulo quatro. Ainda, a última seção deste capítulo apresenta uma análise comparativa de um conjunto de linguagens de especificação de RIS e SGBD’s XML com o suporte da taxionomia proposta. O fragmento de documento XML mostrado na Figura 2.2 é utilizado como base para os exemplos adiante. Ele representa um documento com dados sobre um professor em específico, pertencente a um banco de dados de professores de uma universidade.

(27)

<professor firstName=”John” middleName=”Albert” lastName=”Data” > <salary>1000.00</salary> <graduated> <university>SCFU</university> <degree>doctor</degree> </graduated> </professor> Fonte: Primária.

Figura 2.2 – Fragmento de documento XML.

2.2.1 Faceta Quanto ao tipo de limitação imposta

A faceta Quanto ao tipo de limitação imposta é relacionada ao componente de

uma RI denominado restringido. Seu objetivo é distinguir RIS’s que impõem restrições sobre o estado de um dado (categoria estado) de RIS’s mais complexas, que impõem limitações sobre transições de estados válidos de dados (categoria transição de

estados). A distinção entre restrições estáticas, que impõem a mesma limitação sobre os

dados e restrições dinâmicas, que são capazes de aplicar diferentes limitações, também é proposta. Estas categorias são relevantes para avaliar quão expressiva é uma linguagem de especificação de RIS’s em relação ao tipo de limitação que a linguagem é capaz de impor. A XML Schema, por exemplo, não é capaz de representar restrições dinâmicas, enquanto que a XCML (XML Constraint Markup Language) (HU & TAO, 2004) sim (Tabela 2.1). Assim, observa-se que a XCML é mais expressiva que a XML Schema com respeito a esta faceta. Por sua vez, o SGBD XML Tamino (SCHÖNING, 2001) é capaz de especificar restrições de estado, enquanto o SGBD XML eXist (MEIER, 2002) e Timber (WIWATWATTANA et al., 2003) não provem tal suporte. Desta forma, estes sistemas são pouco expressivos com relação a esta faceta.

A categoria estado é baseada na categoria domínio presente em propostas para o

modelo relacional de dados (ELMASRI & NAVATHE, 2003; DATE, 2003; LAZZARETTI & MELLO, 2005; SILBERSCHATZ et al., 2005), assim como trabalhos relacionados (JACINTO et al., 2002a; FAN & SIMÉON, 2003). A categoria chamada

transição de estados é principalmente derivada de taxionomias para o modelo relacional

de dados (SANTOS et al., 1980; DATE, 2003; LAZZARETTI & MELLO, 2005), sendo também discutida no contexto XML por LAZZARETTI & MELLO (2005).

A fim de comparar esta faceta com trabalhos relacionados, considera-se o seguinte exemplo de RIS: “O salário de um professor não pode ser reduzido e deve ser

(28)

maior que 900, caso o professor possua graduação” . Considerando o fragmento de

documento XML apresentado na Figura 2.2, observa-se que esta RIS depende da comparação entre um valor anterior e um novo valor do elemento salary, assim como da existência do elemento graduated para definir os estados válidos para o elemento

salary. Com respeito aos trabalhos relacionados, trabalhos como de FAN & SIMÉON

(2003) e JACINTO et al. (2002a), não são capazes de classificar adeqüadamente a RIS exemplificada, pois não distinguem RIS envolvendo transições de estado ou contextos dinâmicos. Em HU & Tao (2004), a RIS pode ser classificada como uma restrição

dinâmica (dynamic constraint) em relação ao tipo de limitação imposta (kind of imposed limitation), porém esta categoria não distingue transições de estado. Em

LAZZARETTI & MELLO (2005), é apresentada uma categoria para transições de estado, porém, não há categorias para distinguir RIS de caráter dinâmico. Segundo a taxionomia proposta, é possível classificar a RIS exemplificada como uma RIS de

transição de estados dinâmica quantitativa, capturando assim a sua intenção completa.

2.2.2 Faceta Quanto ao alcance

A faceta Quanto ao alcance considera os componentes de uma RI denominados restringido e restringente. Esta faceta distingue os elementos ou atributos que compõem

uma restrição (atuando seja como restringido ou restringente), quanto aos seus níveis de relacionamento (distância entre nós na estrutura hierárquica XML). Esta faceta é importante no suporte à avaliação de expressividade, pois ajuda a definir o tipo de relacionamento entre elementos, ou atributos XML, que a linguagem de especificação de RIS deverá dar suporte. Pelo mesmo motivo, é igualmente importante para SGBD’s XML, na definição de um sistema de gerenciamento de RI’s, indicando o nível de relacionamento permitido para elementos ou atributos XML envolvidos na especificação de uma RIS. Uma linguagem de especificação de RIS pode ser capaz de representar diferentes níveis de relacionamento entre os elementos envolvidos em sua especificação, para cada tipo de RIS presente em outras facetas.

A faceta Quanto ao alcance considera os diferentes níveis hierárquicos que

podem ser verificados por uma RIS para dados XML. Para tanto, categorias para o modelo relacional de dados (DATE, 2003; ELMASRI & NAVATHE, 2003) como

(29)

assim como trabalhos relacionados no contexto XML (FAN & SIMÉON, 2003; ARENAS et al., 2002a; JACINTO et al., 2002a; LAZZARETTI & MELLO, 2005) foram tomados como base.

Para fins de comparação desta faceta com trabalhos relacionados, considera-se o seguinte exemplo de RIS: “O nome de um professor não pode exceder 30 caracteres e

precisa ser composto por um título, primeiro nome, nome do meio e último nome”.

Poucos trabalhos apresentam categorias para classificar uma RIS como esta. Os trabalhos de FAN & SIMÉON (2003) e HU & TAO (2004), por exemplo, não possuem categorias com significado similar ao desta faceta. Em JACINTO et al. (2002a), é possível classificar a RIS em uma categoria chamada dependência entre dois nós de

documentos (dependencies between two document nodes). Entretanto, esta categoria

considera apenas o relacionamento entre dois elementos. De igual forma, os trabalhos de ARENAS et al. (2002a) e LAZZARETTI & MELLO (2005) não apresentam categorias adequadas. Em ARENAS et al. (2002a), a RIS pode ser classificada em uma categoria genérica chamada multi-atributo (multi-attribute). Em LAZZARETTI & MELLO (2005), o exemplo pode ser classificado em uma categoria chamada banco de

dados. No entanto, esta apenas distingue se o elemento ou atributo estão em um mesmo

nível hierárquico ou não. Segundo a taxionomia proposta neste trabalho, é possível classificar o exemplo de RIS na categoria denominada elemento, pois ela envolve atributos e um subelemento de um mesmo elemento complexo. Desta forma, demonstra-se que a faceta proposta é mais detalhada que os trabalhos relacionados, apredemonstra-sentando quatro níveis de relacionamento possíveis para elementos envolvidos na especificação de RIS’s XML.

2.2.3 Faceta Quanto à forma

A faceta Quanto à forma considera o componente de uma RI denominado condição restritiva e foi baseada em trabalhos que consideram aspecto similar ao desta

faceta (BUNEMAN et al., 2001; FAN & SIMÉON, 2003; HU & TAO, 2004). A principal contribuição desta faceta é permitir distinguir RIS quanto à notação adotada em sua especificação. HU & TAO (2004) comentam a importância desta faceta para linguagens de especificação de RIS, afirmando que uma RIS baseada em regras

(30)

RIS baseadas em expressões booleanas. Este fato é especialmente importante para o projeto de linguagens de especificação de RIS’s e como conseqüência, para SGBD’s XML no que diz respeito ao seu mecanismo de gerenciamento de RI’s. Isto por quê, a referida faceta representa como a RIS deve ser expressa pelo usuário e se é possível especificá-la na forma de expressões booleanas ou regras condicionais.

Embora alguns trabalhos relacionados abordem aspectos similares (BUNEMAN et al., 2001; FAN & SIMÉON, 2003), apenas HU & TAO (2004) considera tal faceta, sendo a faceta proposta neste trabalho baseada no trabalho de HU & TAO (2004). Entretanto, o trabalho de HU & TAO (2004) não considera as outras facetas abordadas pela taxionomia proposta neste trabalho. Uma discussão sobre diferentes tipos de notação e sua expressividade está fora do escopo deste trabalho. HU & TAO (2004) apresenta brevemente uma análise neste sentido.

A fim de exemplificar a faceta em questão, segue o seguinte exemplo de RIS: “O salário de um professor deve ser 5000.00, se o professor tiver doutorado como

título”. Esta faceta analisa um aspecto muito particular de uma linguagem de

especificação de RIS. Embora a maioria das RIS’s possa ser representada tanto através de expressões booleanas quanto de regras condicionais, é proposto que apenas as regras condicionais possam realizar operações de atualização a fim de manter um dado consistente. Contudo, o exemplo em questão pode ser definido como um gatilho (por exemplo uma trigger em um SGBD XML), que atualiza o elemento salary para 5000.00 quando o valor do elemento degree se tornar “doctor”. Desta forma, o exemplo dado é classificado segundo a taxionomia proposta, como pertencendo à categoria baseada em

regras condicionais simples.

2.2.4 Faceta Quanto ao momento da verificação

A faceta Quanto ao momento da verificação considera o componente de RI’s

chamado pontos de verificação. Esta faceta distingue o momento em que a condição

restritiva que compõe uma RI deve ser verificada. Considerando a proposta de DATE

(2003) para o modelo relacional de dados, são definidas duas categorias para esta faceta, chamadas: imediata e postergada.

(31)

transação, deve ser verificada em algum momento posterior à execução desta operação. Tal aspecto é reforçado por CODD (1980) que argumenta que alguns tipos de RI devem permitir que um dado passe por estados inconsistentes até alcançar o novo estado consistente. O aspecto considerado pela faceta em questão é relevante na avaliação de mecanismos de controle de transações em SGBD’s XML. O projetista de banco de dados pode definir quais categorias de RIS poderão ser tratadas como postergadas. Os SGBD’s XML Tamino e eXist, por exemplo, dão suporte apenas a RIS’s imediatas, não sendo capazes de representar RIS’s postergadas.

Um exemplo no contexto em questão é dado a seguir: “Dado que 80% dos

professores de uma universidade devem ter o título de doutor, se uma atualização sobre um conjunto de elementos do tipo professor é realizada, a RIS que garante esta consistência deve ser verificada somente após todas as instâncias do elemento professor serem atualizadas”. Na taxionomia proposta, este é um exemplo de RIS postergada, pois a mesma não deve ser verificada imediatamente após a atualização de

cada elemento professor, mas apenas ao final da operação completa. Nenhum trabalho relacionado no contexto XML considera tal faceta.

2.2.5 Faceta Quanto à ação a ser executada

A faceta Quanto à ação a ser executada considera o componente de uma RI

chamado ações de violação, e foi baseada em trabalhos sobre mecanismos de validação para linguagens de especificação de RIS XML (CLARK & MAKOTO, 2001; DODDS, 2001; JACINTO et al., 2002a; HU & TAO, 2004; LAZZARETTI & MELLO, 2005). A referida faceta considera o tipo de ação a executar quando uma violação de integridade ocorre.

Considere o seguinte exemplo: “Um professor com título de mestre não pode ter

salário menor que 4000.00”. Supondo que um professor receba o valor “master” em

seu elemento degree e seu salário não seja incrementado para 4000.00, duas alternativas podem ser adotadas: (i) uma operação de atualização é executada a fim de incrementar o elemento salary (RIS ativa); ou (ii) uma mensagem de erro é gerada e uma operação de

rollback é executada (RIS informativa). A execução destas alternativas depende do

(32)

SGBD’s XML.

Os SGBD’s XML Tamino e eXist, por exemplo, permitem a implementação apenas de RIS’s informativas. Por sua vez, os mecanismos de validação das linguagens de especificação de RIS XML XCML, XCSL (XML Constraint Specification Language) (JACINTO et al., 2002a) e XDCL (XML Domain Control Language) (LAZZARETTI & MELLO, 2005) também consideram apenas RIS informativas. Com relação aos trabalhos relacionados, nenhuma das taxionomias propostas distingue o componente de RI’s chamado ações de violação. Desta forma, a principal contribuição desta faceta é considerar as ações que uma RIS pode executar a fim de manter a integridade dos dados.

2.3 Aplicação da Taxionomia

A fim de exemplificar a aplicabilidade da taxionomia proposta, esta seção apresenta uma avaliação de algumas linguagens de especificação de RIS e SGBD’s XML. A Tabela 2.1 apresenta as facetas da taxionomia e sua aplicação em uma análise de expressividade com relação a RIS XML.

Com base na Tabela 2.1, destacam-se a linguagem XDCL e o SGBD Tamino como sendo os mais “robustos” linguagem e SGBD XML, respectivamente, com respeito ao suporte dado às RIS’s. Observa-se ainda com base na Tabela 2.1, que no contexto do modelo de dados XML, a maioria dos SGBD’s não considera RIS como forma de otimizar seus processos, ou consideram fracamente.

Vale observar que a consideração de todas as facetas pelas abordagens apresentadas é limitada. Por exemplo, poucas linguagens de especificação de RIS são capazes de especificar RIS’s envolvendo transações entre estados e/ou regras

condicionais compostas, categorias capazes de serem representadas na maioria dos

sistemas de gerenciamento de RI’s para o modelo relacional de dados. De fato, categorias como estas são a muito abordadas no contexto de modelos de dados estruturados. Assim, nota-se que o suporte dado a categorias como Quanto à ação a ser

executada e Quanto ao momento da verificação não é satisfatório no contexto XML,

estando na maioria dos casos restrita a RIS de ações informativas e validações

(33)

Tabela 2.1 – Taxionomia vs. SGBD’s XML e linguagens de especificação de RIS.

Quanto à limitação

imposta Quanto à forma Linguagem de especificação de RIS e SGBD’s XML Estado Transição de Estados Quanto ao alcance Expressão booleana Regras condicionais Quanto à ação a ser executada Quanto ao momento de verificação 1. XML Schema (XML

SCHEMA, 2007) Estática Não Elemento Simples Não Informativa Imediata 2. Schematron (DODDS,

2001) Dinâmica Não Documento Composta Simples Informativa Imediata 3. XCSL (JACINTO et al.,

2002a) Dinâmica Não Documento Composta Simples Informativa Imediata 4. XCML (HU & TAO, 2004) Dinâmica Não Documento Composta Composta Informativa Imediata 5. XDCL (LAZZARETTI &

MELLO, 2005) Dinâmica Dinâmica Documento Composta Composta Ativa Imediata 6. eXists XML DBMS

(MEIER, 2002) Não Não Não Não Não Não Não 7. Tamino XML DBMS

(SCHÖNING, 2001) Estática Não Elemento Simples Não Informativa Imediata 8. Timber XML DBMS

(WIWATWATTANA et al., 2003)

Não Não Não Não Não Não Não

*A categoria atribuída a cada trabaho representa a categoria mais abrangente suportada na faceta em questão.

Fonte: Primária.

Assim sendo, conclui-se que, no que diz respeito a RIS’s, as abordagens presentes na literatura para SGBD’s XML não se encontram em estágio maduro quando comparadas com soluções para modelos de dados estruturados. No entanto, nota-se que diversas soluções para linguagens de especificação de RIS têm surgido, assim como mecanismos de validação para estas, o que demonstra o interesse crescente da comunidade de pesquisa pelo tema em questão.

(34)

3

MINERAÇÃO DE DADOS

Este capítulo apresenta alguns conceitos básicos envolvendo a descoberta de informação através da Mineração de Dados. Estes conceitos são empregados na abordagem DIInCX. Ainda neste capítulo são apresentadas brevemente algumas técnicas de mineração dados, embora uma discussão mais detalhada possa ser encontrada na literatura, em trabalhos como AGRAWAL et al. (1993), AGRAWAL & SRIKANT (1994), GAROFALAKIS et al. (1999), BÜCHNER et al. (2000), BAYARDO (2004), CHI et al. (2005), dentre outros.

O avanço da tecnologia de armazenamento possibilitou o aumento da capacidade de dispositivos de armazenamento e conseqüente queda no valor destes. Este fato propiciou às empresas armazenar informação antes desperdiçada. De fato, o emprego de Armazéns de dados (Data Warehouse) (KIMBALL, 1996) popularizou o armazenamento de grandes massas de dados, mesmo em empresas com pouca infra-estrutura. O principal objetivo do armazenamento destas grandes massas de dados tem sido auxiliar no suporte à tomada de decisões. Entretanto, técnicas tradicionais de análise de dados não são adequadas para tratar volumes consideráveis de informação. Muitas vezes, o processo de análise destes se torna proibitivo quando analisado sob o fator tempo. Neste contexto, surgem então as técnicas de Mineração de Dados, como forma de analisar a um baixo custo de tempo, grandes massas de dados.

A Mineração de Dados (Data Mining) está usualmente inserida no contexto do

processo de Descoberta de Conhecimento em Banco de Dados (KDD - Knowledge

Discovery in Database) (AMO, 2004) e consiste na análise de conjuntos de dados a fim

de descobrir padrões de informação implícitos aos dados. Estes padrões de informação, descobertos a partir de dados, referem-se a distribuições probabilísticas e podem ser representados de inúmeras formas, como por exemplo regras de associação (RA) entre objetos de dados ou agrupamentos destes. A mineração de dados pode receber suporte de diversas áreas de pesquisa como: Aprendizado de máquina, Inteligência artificial e Estatística. KDD é um processo amplo, sendo a Mineração de Dados uma de suas etapas. Em geral, o processo em si é semi-automático, necessitando da intervenção de um usuário especialista.

(35)

No contexto de documentos semi-estruturados, a aplicação de técnicas de mineração de dados traz novos desafios. Em NAYAK et al (2002), a mineração de dados é discutida no contexto de dados semi-estruturados, sendo definido o termo XML

Mining. Segundo o autor, a XML Mining difere da mineração de dados tradicional, pois

consiste na mineração tanto da estrutura de documentos XML (esquemas como XML Schema e DTD) como de seu conteúdo (valores de atributos e elementos). Definição semelhante é dada por SNOUSSI et al. (2002) para a extração de informação sobre dados semi-estruturados.

Em GAROFALAKIS et al. (1999) e NAYAK et al. (2002) são apresentadas técnicas de mineração de dados no contexto do modelo de dados semi-estruturados, tais como: Mineração de RA’s, Mineração de árvores freqüentes, Classificação e Agrupamento. CHI et al. (2005) discutem técnicas de mineração de árvores freqüentes, traçando comparativos entre estas.

A seção 3.1 a seguir discute brevemente a mineração de RA’s. Embora diversas técnicas de mineração possam ser empregadas na abordagem DIInCX, é adotada a mineração de RA’s. Isto se deve ao fato da definição de uma RA apresentar semelhanças com a definição de uma RIS, o que propicia a tradução entre elas, conforme discutido na seção 3.2. Uma discussão mais detalhada das demais técnicas de mineração de dados está fora do escopo deste trabalho.

3.1 Mineração de regras de associação

A descoberta de RA’s é uma importante técnica da Mineração de Dados e tem por objetivo descobrir padrões freqüentes como relacionamentos e co-ocorrências entre objetos ou conjuntos de dados. Uma RA é um padrão descritivo que representa a declaração de uma implicação na forma X → Y. A mineração de RA’s possui importante papel nas organizações. Áreas como marketing e estratégia empresarial são um exemplo clássico, pois permitem que estas sejam planejadas pontualmente. Como exemplo de uma regra, que poderia ser descoberta a partir de um banco de dados de transações de uma loja, seria o fato de que 70% dos consumidores que compram o produto X, também compram, na mesma ocasião, o produto Y.

(36)

O problema denominado de mineração de RA’s, pode ser definido como segue (AGRAWAL & SRIKANT, 1994): Seja I={i1,…,im} um conjunto de m itens de dados. Seja D ={t1,…,tn} um conjunto de n transações de um banco de dados de transações. Cada transação possui um identificador único chamado TID e um itemset I (conjunto de itens). I é dito um k-itemset, onde k é o número de itens em I. Uma transação T contém

X, onde X é um subconjunto de I. O suporte de um itemset I é a fração de transações em D contendo I, por exemplo, suporte(I)={t ∈ D | I ⊂ t}/{t ∈ D}. Por sua vez, uma RA representa uma implicação da forma I1→I2, onde I1, I2 ⊂ I e I1∩ I2 = . A regra I1→I2 se faz presente no conjunto de transações D com confiança c se c% das transações em D que contêm I1, também contêm I2. A regra r:I1→I2 têm suporte s no conjunto de transações D se s% das transações em D contêm I1 ∪ I2.

Quanto aos componentes de uma dada RA I1→I2, o lado esquerdo da implicação é chamado de componente antecedente, enquanto o lado direito é chamado de componente conseqüente. Quanto aos componentes antecedente e conseqüente, este trabalho classifica-os ainda em simples e complexos. Por complexo antecedente/conseqüente significa que o componente é composto por mais de um item. Já um simples antecedente/conseqüente significa que este é composto por apenas um item. Por exemplo, a regra X → Y.Z, seria classificada como uma regra de antecedente simples e conseqüente complexo composto por 2 itens.

3.2 Mineração de regras de associação na descoberta de RIS

A mineração de RA’s é uma importante técnica empregada em diversas áreas do conhecimento. Na descoberta de RIS’s esta técnica é de grande valia pois, como comentado anteriormente, sua definição possui estreita relação com a definição de uma RIS. Esta estreita relação foi a motivação para a escolha desta técnica para descoberta de RIS’s na abordagem DIInCX.

Com respeito à definição de uma RIS XML, este trabalho aplica a definição de RI presente em SANTOS et al. (1980) para o modelo relacional de dados.

(37)

Onde Restringente representa um elemento ou atributo XML (objetos de dados),

ou ainda conjuntos destes, usados na especificação da RIS, e Restringido é o conjunto de objetos de dados sobre os quais se aplica a restrição. Condição restritiva é a expressão lógica a ser avaliada que conecta os elementos Restringente e Restringido da definição.

Conforme apresentado na seção 3.1, uma RA pode ser definida como uma implicação na forma a seguir.

Definição: Antecedenten → Consequenten (2)

Onde antecedente e conseqüente são conjuntos de itens (também denominados itemsets) de tamanho n. No contexto XML, um item é definido como um elemento ou

atributo XML. Cada RA pode ser descoberta através de um conjunto de transações T. Cada tn ∈ T representa um conjunto de valores de elementos ou atributos XML que pertence a uma instância XML. Um conjunto de instâncias XML pode ser representado como um banco de dados D (T ⊆ D).

Considerando que uma RIS pode ser compreendida como um subconjunto do conjunto de RA’s e, como consequência, pode ser descoberta através de um subconjunto T’, uma RIS XML descoberta pode ser definida como a seguir.

Definição: Condição_restritiva(Antecedente) → Consequente (3)

Onde o conseqüente corresponde ao componente restringido, o antecedente

corresponde ao restringente e a condição restritiva representa uma expressão lógica. Cada componente restringente presente no antecedente de uma RA possui uma correspondente condição restritiva que pode ser expressa na forma de uma expressão booleana, significando, com relação ao tipo de limitação imposta, uma restrição estática de um dos tipos a seguir:

• Restrição de existência dependente: a existência de um elemento depende da existência de um elemento/atributo, ou conjunto destes, ou ainda de seus valores. Como exemplo, um elemento professor – antecedente - obrigatoriamente possui um atributo degree – conseqüente - e seu valor não pode ser vazio;

(38)

• Restrição quantificada: o valor de um elemento ou atributo é maior que outro, um elemento que representa uma coleção de elementos tem sua quantidade de elementos filhos restringida pelo valor de um elemento, atributo, valor constante ou ainda outra coleção. Como exemplo, dependendo do valor do atributo degree

– antecedente, o número de elementos filhos do elemento course – conseqüente,

é limitado;

• Restrição qualificada: um elemento ou atributo possui seu valor restrito a um conjunto de valores ou seu valor é o mesmo de outro elemento ou atributo. Como exemplo o valor do atributo degree é limitado ao conjunto

V={“graduated”,”master”,”doctor”}.

Análogo à classificação dos componentes antecedente/consequente de RA (seção 3.1), este trabalho classifica a complexidade do componente condição restritiva de uma RIS como sendo complexa ou simples. Condições restritivas simples são compostas apenas por uma expressão booleana, enquanto condições restritivas complexas são compostas por um conjunto de expressões booleanas. Segundo a classificação proposta, a RIS X.Y→Z, teria sua componente condição restritiva classificada como complexa de tamanho 2. A mesma classificação se aplica ao componente restringido. Algumas vezes, é possivel decompor uma condição restritiva complexa em um conjunto de condições restritivas simples. Isto se dá localizando as condições restritivas simples que compõem a condição restritiva complexa no conjunto de RIS descobertas. Um exemplo de RIS descoberta a partir de uma RA (X.Y→Z =

X→Z ∪ Y→Z) é degree(“doctor”).position(“director”)→salary(“>=3000To<=5000”)

= degree(“doctor”)→salary(“>=3000To<=5000”)

position(“director”)→salary(“>=3000To<=5000”). A mesma observação se aplica ao

componente consequente e tem como único objetivo tornar as regras descobertas mais simples (podendo ser incorporadas por sistemas com mecanismos de gerenciamento de integridade mais simples) e legíveis ao usuário especialista. Vale ressaltar que decomposição apenas é válida em contextos onde a avaliação de ambas as RIS’s é tomada como atômica, ou seja dentro de uma única transação.

Com relação aos critérios de restrição usuais no contexto da mineração de RA’s, esta abordagem considera os conceitos de confiança e suporte. O critério suporte

(39)

representa a relevância da RIS descoberta, significando que quanto maior o suporte da regra, maior sua relevância dentro do domínio. Quanto ao conceito confiança, ele significa o percentual de vezes que um antecedente X na RA X→Y ocorre em T´ do tipo

X→Y, ou seja, o percentual de vezes que X provoca X→Y. A fim de garantir que a RIS

descoberta seja válida, o conceito de confiança deve ser obrigatoriamente 100%, significando que a RIS é válida para todo o domínio de dados. Uma tn ∈ T’ que não

respeite esta regra representa uma violação à RIS, invalidando-a. Desta forma, tomando como base que todas as RIS’s descobertas são baseadas em RA’s, descobertas a partir de um algoritmo de mineração de RA’s com confiança igual a 100%, pode-se afirmar que todas as RIS descobertas são válidas para o dado domínio.

Este trabalho define por RIS válida toda RIS que seja considerada verdadeira quando avaliada sobre todo o conjunto T de transações pertencentes ao domínio de dados tomado como entrada para a construção da CDX-Tree. Em contrapartida, uma RIS é considera inválida quando há no domínio de dados uma transação que a torne falsa.

Referências

Documentos relacionados

Discussion The present results show that, like other conditions that change brain excitability, early environmental heat exposure also enhanced CSD propagation in adult rats.. The

O CES é constituído por 54 itens, destinados a avaliar: (a) cinco tipos de crenças, a saber: (a1) Estatuto de Emprego - avalia até que ponto são favoráveis, as

 A alocação dinâmica é muito utilizada em problemas de estrutura de dados como por exemplo, listas encadeadas, pilhas, filas, arvores binárias e grafos ...  O interessante

empregado (CPF_empregado, nome_empregado, tipo_empregado , idioma, grau_técnico, tipo_engenheiro).

Adotam-se como compreensão da experiência estética as emoções e sentimentos nos processos de ensinar e aprender Matemática como um saber epistêmico. Nesse viés, Freire assinala

Caroa alunoa da Turma 12, Este questionário é um dos instrumentos que utilizaremos para analisar os resultados de nosso trabalho de campo do Mestrado em Educação, onde realizamos

A baixa taxa de desconto ao longo dos anos de produção do campo, para o cálculo da função objetivo, aliada a baixa produção de água que a locação de

Entre os objetivos específicos estão: comparar a estrutura espacial de anelídeos poliquetas dessas seis praias para os seguintes descritores da comunidade: