dissertação de mestrado - repositorio.ufpe.br · este trabalho foi apresentado À...

110
Pós-Graduação em Ciência da Computação “O GERENCIADOR DE CONSULTAS DE UM SISTEMA DE INTEGRAÇÃO DE DADOS” Por Thiago Alves Costa Thiago Alves Costa Thiago Alves Costa Thiago Alves Costa Dissertação de Mestrado Universidade Federal de Pernambuco [email protected] www.cin.ufpe.br/~posgraduacao Recife, Fevereiro/2005

Upload: tranhanh

Post on 03-Dec-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

Pós-Graduação em Ciência da Computação

“O GERENCIADOR DE CONSULTAS DE UM

SISTEMA DE INTEGRAÇÃO DE DADOS”

Por

Thiago Alves CostaThiago Alves CostaThiago Alves CostaThiago Alves Costa

Dissertação de Mestrado

Universidade Federal de Pernambuco

[email protected]

www.cin.ufpe.br/~posgraduacao

Recife, Fevereiro/2005

Page 2: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

� � ii

�� ������������������� ��������

������������������ ���������������������� ������

��������������

�������������������

��������������������������������������������������

ESTE TRABALHO FOI APRESENTADO À PÓS-GRADUAÇÃO EM

CIÊNCIA DA COMPUTAÇÃO DO CENTRO DE INFORMÁTICA DA

UNIVERSIDADE FEDERAL DE PERNAMBUCO COMO REQUISITO

PARCIAL PARA OBTENÇÃO DO GRAU DE MESTRE EM CIÊNCIA

DA COMPUTAÇÃO.

ORIENTADORA: ANA CAROLINA SALGADO

RECIFE, FEVEREIRO/2005�

Page 3: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

Costa, Thiago Alves O gerenciador de consultas de um sistema de integração de dados / Thiago Alves Costa. – Recife: O autor, 2005. xi, 97 folhas : il., fig., tab., quadros.

Dissertação (mestrado) – Universidade Federal de Pernambuco. CIN. Ciência da Computação, 2005.

Inclui bibliografia.

1.Banco de dados. 2. Integração de dados. 3. Reformulação de consultas. 4. Linguagem de consulta. 5. Integra I.Título.

005.74 CDD (22.ed.) MEI2007-056

Page 4: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

� � iii

���������� ��

������� � ����� ������ ����� ��� �� ����� � �!� ����� ��� ��!� ����� "���� �� "��� �� �����

#�������$�����������"������%�������%���������&��������� ��"����������������

������������"������'�����!����������"� ����������������������%�"��������������

�����������!������� �!�����(���������������"�"������#�����������"�����������"��)��

���� "��� ���"����� �����"�� *� ��"+���� ���,�"���� ��!� ��������"��� ������ ���� ��������!�

��-�������"����������������������.�������"�������"������"��)�����������"����

�����.������������

��/����""��01����!�����������"�.��!�������.��� �����������"���� ������������������

����������%������#����������������

��� ������������������������������ ������"������������������"���������������2����3����

���)����

4� �#����� �� 5�"���� ����� ���� 6��� '������ �� 6����� /"��"!� 7��������� ������!�

8���������!�0������7�� �!�9��������&��(�����"����:������/���"��/������6������"��

������;����������9��������&��(�����"������%��������������������������"� ������

������ �����"�2"����������3���

���� ������������ �����"��!� ��� �������� ��� ������ <����7�7�� =1����!� :������

/����!� >��� '���!� �?���� �� '������ �� ����� ��� '������� '����"�� ���� "����� ����

������������������"��"������������

4� �����>���0����6������&����������������"�(�� ��"������������������"��������

����<����������������"��������#��������(�������������������������"����������#������

�������(���������)��"����

������� ��� ����� ������ 7��"��� 7������ �� 0����6�2� ���� ��(�!� %�� �� �����"����

���"�� "�� ���� ����� ������� "��)�� ��� ������ �� ���+���� 0,���� 8����#��!� ��"@����

6��"��!�9��)�A����!�:�����6������9���"���7�������

������!��������������������������:@����������"��������(������������������

���"��� "�������������� �<��� ��"���� ��������������������%��� ���#��#���� �����#������

����������� ������ #��� ������� %��� �������� �")� ��� ����"��� #��� ���� ���������!� ���� "��"�

����������%������

Page 5: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

iv

Resumo

O principal objetivo da integração de dados é prover uma visão integrada de diversas fontes

de dados distribuídas e heterogêneas, transmitindo ao usuário uma ilusão de um sistema

centralizado e homogêneo. Um sistema de integração de dados fornece ao usuário um esquema

global que contém componentes que representam as entidades e relacionamentos das fontes

locais. Diversos são os desafios a serem enfrentados pela integração de dados. Um deles é a

reformulação consultas. Esta é um processo de um sistema de integração de dados que tem a

tarefa de reformular uma consulta do usuário sobre o esquema global em subconsultas para as

fontes locais.

Para viabilizar o processo de reformulação de consultas, um sistema de integração de dados

deve fornecer mapeamentos entre os componentes do esquema global e os componentes dos

esquemas das fontes locais. Deve-se escolher um enfoque para esse mapeamento. Os

mapeamentos mais utilizados são Local-As-View (LAV) e o Global-As-View (GAV). No GAV,

para cada componente do esquema global é escrita uma consulta sobre os esquemas locais. No

LAV, ao invés de escrever consultas que definem como as entidades do esquema global são

obtidos, são definidas consultas que descrevem como obter a extensão das fontes de dados a

partir do esquema global. A principal diferença desses dois enfoques está na capacidade de

evoluir com as mudanças nos esquemas das fontes locais e com o processo de reformulação de

consultas.

Nossa proposta consiste em definir e implementar um gerenciador de consultas para o

Integra. Este é um sistema de integração de dados proposto por [Lóscio03a] baseado em

mediadores que oferece uma visão integrada de dados distribuídos em diversas fontes de dados

autônomas e heterogêneas, de acordo com o enfoque GAV.

Palavras-chave: Banco de dados, integração de dados, reformulação de consultas, linguagem

de consulta, mediadores, Integra.

Page 6: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

v

Abstract

The main objective of data integration is to provide an integrated view of many distributed

and heterogeneous data sources, giving to the user the illusion of accessing a centralized and

homogeneous system. A data integration system supplies the user with a global schema that

contains components which represent local data sources entities and relationships. There are

many challenges that data integration has to face. One of them is query reformulation. The

query reformulation (process) is a process where a data integration system has the task of

reformulating a user query over a global schema to sub queries over local data sources.

To make the query reformulation process possible, a data integration system has to supply

mappings between global schema components and local data sources schema components. An

approach to that mapping must be chosen. The most commons mappings are Local-As-View

(LAV) and Gobal-As-View (GAV). In GAV, each global schema entity has a query over local

data sources schemas entities. In LAV, queries over global schemas define how the global

schema entities were obtained from the local (data) source. The main difference between these

two approaches is the capacity of evolving with the changes in the local sources schemas.

Our proposal consists on the definition and implementation of a query reformulation

model to Integra. Integra is a data integration system proposed by [Lóscio03a] based on

mediators, which offers an integrated view to distributed data in many heterogeneous and

autonomous data sources, according the GAV approach.

Keywords: Database, data integration, query reformulation, query language, mediators,

Integra.

Page 7: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

� � vi

���� �

������� ������� ���� � �

J�J�6�"��� ��������������������������������������������������������������������������������������������������������������������������������������������������������� J

J�K�<�"��"���������"� ��������������������������������������������������������������������������������������������������������������������������������� E

������� ������������ ������� �� �

K�J�������������5�"���� ����>�� ������������������������������������������������������������������������������������������������������ L

K�K���#��"�"��������5�"���� ����>����������������������������������������������������������������������������������������������������� M

K�K�J ��#��"�"����������������������������������������������������������������������������������������������������������������������������� M

K�K�K ��#��"�"������������������� �������������������������������������������������������������������������������������������������������������� N

K�K�E ��#��"�"��������������� �����������������������������������������������������������������������������������������������������������������������JD

K�E�>��������5�"���� ����>����������������������������������������������������������������������������������������������������������������JJ

K�E�J 6����������� ������������������������������������������������������������������������������������������������������������������������JJ

K�E�K :�������� ����������"� ������������������������������������������������������������������������������������������������������������JK

K�E�E B"���(� �����2���� ����������"� ����������������������������������������������������������������������������������������������JE

K�E�O '���"��� ����"��"���������������������������������������������������������������������������������������������������������������������JO

K�O�&��"��������"���� ����������������������������������������������������������������������������������������������������������������������JP

K�P�'�������.�������� ������������������������������������������������������������������������������������������������������������������������������������JL

������� ����� ������ ����� �������� �!

E�J�=�"� � ���������������������������������������������������������������������������������������������������������������������������������������������������������JQ

E�K� ����������� ����������������������������������������������������������������������������������������������������������������������������������������������KD

E�K�J &��+�"������7�A���������������������������������������������������������������������������������������������������������������������������KE

E�K�K ����������� ����������"�����7�A������������������������������������������������������������������������������������������KO

E�K�E &��"��������"���� �������������7�A�������������������������������������������������������������������������������KP

E�E������������ ������������������������������������������������������������������������������������������������������������������������������������������������KM

E�E�J :�������� ����������"�����0�A����������������������������������������������������������������������������������������������KQ

Page 8: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

� � vii

E�E�K ������"�������������������� �����������������������������������������������������������������������������������������������������ED

E�E�E ������"�������������������������� ���������������������������������������������������������������������������������������EK

E�E�O &��"���������������������#���0�A��������������������������������������������������������������������������������������EO

E�O� �������������2������������ ����������������������������������������������������������������������������������������������������������������EP

E�P�B�"��������#����������������������������������������������������������������������������������������������������������������������������������������������EP

E�P�J �������������������������������������������������������������������������������������������������������������������������������������������EP

E�P�K ���������� ���������������������������������������������������������������������������������������������������������������������������������������EM

E�L�:�������� ����������"��������������������-"�-�����������������������������������������������������������������EM

E�M�'�������.�������� ������������������������������������������������������������������������������������������������������������������������������������EN

������� �"�#�$������� ������ ��������� ��������� "%

O�J���#��"�"�����5�"������������������������������������������������������������������������������������������������������������������������������������OJ

O�J�J ������"��'���������������������������������������������������������������������������������������������������������������������������������OJ

O�J�K ������"����7��� ����6��"��� ����6�������������������������������������������������������������������������OK

O�J�E ������"�������?��� �����������������������������������������������������������������������������������������������������������������������OP

O�J�O ������"����5�"���� ����>���������������������������������������������������������������������������������������������������OP

O�J�P �����"������'��������3��� �������������������������������������������������������������������������������������������������������OL

O�K�R<S���������������������������������������������������������������������������������������������������������������������������������������������������������������PD

O�E�7�����������'�����"����������������������������������������������������������������������������������������������������������������������������PP

O�E�J 5�"��������'�����"������������������������������������������������������������������������������������������������������������������������PL

O�E�K G��"�����������"� �����������������������������������������������������������������������������������������������������������������������PL

O�E�E :������������'�����"� �������������������������������������������������������������������������������������������������������������PM

O�E�O 7��������������"�� �������������������������������������������������������������������������������������������������������������������LK

O�E�P '������������<�#������6��� � �����������������������������������������������������������������������������������������LE

O�E�L 5�"��������>���������������������������������������������������������������������������������������������������������������������������LP

O�E�M <2���������������������������������������������������������������������������������������������������������������������������������������������������LL

O�O�'�������.�������� �����������������������������������������������������������������������������������������������������������������������������������MD

������� ���&� �'�� �� �������������������� ������� �� (�

Page 9: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

� � viii

P�J�G�����������"������������������������������������������������������������������������������������������������������������������������������������MK

P�K����#��"�"�����������������������������������������������������������������������������������������������������������������������������������������ME

P�E�6����������������������������������������������������������������������������������������������������������������������������������������������������������MO

P�E�J ��"����������� ���������������������������������������������������������������������������������������������������������������������������������MP

P�E�K ��"��������������������������������������������������������������������������������������������������������������������������������������������MN

P�E�E ��"���������������������������������������������������������������������������������������������������������������������������������������������MQ

P�E�O ��"���������������������������������������������������������������������������������������������������������������������������������������������NJ

P�O�G��"������"��� �������������������������������������������������������������������������������������������������������������������������������������������NP

P�P�'�������.�������� ������������������������������������������������������������������������������������������������������������������������������������NL

������� �)�� �����*�����+�����, ��-���� �� !!

L�J�'��"������.��������������������������������������������������������������������������������������������������������������������������������������������������NQ

L�K�G���������"��������������������������������������������������������������������������������������������������������������������������������������������QD

�� ��.�����/�� ��� ���� 0�

Page 10: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

� � ix

1�������-������

������K�J�-���#��"�"���������������<2"�����C01����DEF$ ������������������������������������������������������N

������K�K�-���#��"�"����������������������<2"�����C01����DEF$ �����������������������������������������������������Q

������K�E���� >6&�����������������������������#��������������������������������������������������JJ

������K�O� ���������������� �������������"�����������������������������������������������������������������������������JE

������K�P�<2���������"��"����� ���������������������������������������������������������������������������������������������������������JP

������E�J� �������������� � � ������.�������#���������!����� ������.�������#������

���"�������������� �������������"��#��������"��������� ��� �����������������������������������������������KJ

������E�K�7�AT�<2��������T������!� T�'��"��� �����������������������������������������������������������������������������������KE

������E�E��������������� �� ������.�������#���������� �!����� ������.��������#�����

�����"������������ �� ��������"���������#��������"������.�������#���������� �������������KN

������E�O�0�AT�<2��������T������!��T������������ T�'��"��� �������������������������������������������������������KQ

������O�J���#��"�"�����&��"���5�"����C01����DEF ������������������������������������������������������������������������OJ

������O�K�<2����������������R-<�"�"H��������������������������������������������������������������������������������������OO

������O�E�<�#�����2����� �������������������������������������������������������������������������������������������������������������������ON

������O�O� �����������2���� ����������"�����������������������������������������������������������������������������������������PL

������P�J���#��"�"�����������������"1"������5�"���� �������������������������������������������������������������������MO

������P�K�>����������"�� ���������������������������������������������������������������������������������������������������������������MO

������P�E�>������������������#�����R-<�"�"H�������������������������������������������������������������������������ML

������P�O�>�������������������������"�R<S ������������������������������������������������������������������������MM

������P�P�>��������������������"���������������3��������������������������������������������������������MN

������P�L�>���������������>&U/� ���������������������������������������������������������������������������������������������MQ

������P�M�>���������������6U/� �����������������������������������������������������������������������������������������������MQ

������P�N�>����������������7�����������'�����"�� �����������������������������������������������������������NK

Page 11: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

� � x

������P�Q�>���������#V3�����������������������"� ���������������������������������������������������������������NE

������P�JD�>���������#V3��������������!�"��# ��������������������������������������������������������������������������NO

������P�JJ�:�����������"��� ��R<S����&S0�����������������������������������������������������������������������NP

������P�JK� ��"1"������5�"���� ������������������������������������������������������������������������������������������������������������NL

������P�JE�5�"��������������"���5�"�����$��������"��������������"���$� ���������������������������NL

Page 12: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

� � xi

1�������2���� ��

S����E�J�'��"�,������������� �����������������������������������������������������������������������������������������������������������EK

Page 13: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

1�

������� ����

���� ���� �

�3� 4 �5��� �

=���,�"��������!���������������"����������������������"����������"��"������

������ �����"+���� �� �������� �� ���#���� �� ������ �� ����=�� �����"�� W��!� )�

������ �����"������ ��� ����������(��� ��� ������� ���"��� ��"��"�� �� ��"��������<����

���"����������������������� ���������!�����������������"������%�"��!��������

����������"�!� �������!� �?����� � W��!� ��"��� ��"���� B� �������� ������"�� ��� ������� ���

��� �������������������"�����������#������?����������������"���������"���������� ��

�� �������� ��� ������"� ���� � ������� �� ��� ��� �� "��� �� ���"��� #��� ��%�� ��(��� ��

���������������������"���

=����� ���"�2"�!� ���"���� �� ��"���� �� �� ��� �3�� �������� ����� �������"�� ���

��������� ������ ��������� � ��� ��"�������� ��� ���"��� ��"����3���� �� �"@�����

C'��"��QO!�>����DJ!�7����DK!�7���"DE!�5���QQF�����"�����������"���)��2����������

�"�� �!� ���"�� �������"�!� �2��"����� �����.��� ������ ���������� ��� ���"���"�� ������

���"��!�������"��� �����������"�������"���� ���������������������"��������������

��� )� ��� �"��� ��������� ��� ����� ��������� ��� ���"���� �� ��"���� �� �� ���� ���

��"���������������������$���������")�����!������"�"����������"�����"�������������!�

���"���� ����������!� ���"���� �� ����������"�� �� ������ �� ��� �� ��������� ��

������� �!� �� ��$� ������ ������"��!� �����"�"�� �� ������"��� ������� �� ��� ���������!�

�����"�� � ��%�"��!� ��"��� ��"���$� �� ������"��� ���������� �� �������� ��� ��� �������

������"���������������

B�� ���"���� �� ��"���� �� �� ��� ������!� ��������"�!� ��� �������� ��?������

C���"�����QQF!�����������������#��"�"�������������"� ���<������������� ���$�

� ����������"��!� ���#��������� �����"�� � �� �2"������� ���"��� #���� ������"�� � ��

��#����"���G�� ������� "��� ������������"��������"��� ��� ��� ������� "���(��!�

������"�����!�"���-������������"��#���������"���"3��"�������������"��"����������"��-

���"����������"�����������������$����������"�����(!����#���������� �����������!�

��"����������(��������������"1���������������������������>��������!���������"��� ��

Page 14: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

2

���"�� ���"���"�� ������� ������"1������ �����!� "�� ������� "��� � ��"���� �� "����� ��

�������.��� ����������� �� ����"�� ��� �� ������"�!� ���)�� ���� ����� ��������� ��

��������"3�������������(������������������������������� �������������"����������

4� ��� �� ��������� �� ���"��� ?-��� �� ����� �� ��#���� ������� B� ��#���� ������ )� ���

��#����������������#�����������"������#����������"�����"��"�����������"�����

������ �� ���"��� �����$�� B�� ���"���� �� ��"���� �� �� ��� ����� ���� ����������� ��

����� ���� �� ����#��� �� ������"�� ��� ��������"��� �� ��#���� ������ ��� ���

��������"��� ��� ��#����� �� ���"��� ������� <2��"��� ���� ����#���� "��������!� � �� ����� ��

�������������7�A$�C �I���"�"����QLF������������������0�A$�C������QMF��=������#���

7�A!� ��� ��������"��� �� ��#���� ������ � �������� ��������.��� ������ �� ���"��� �������

������� ���%�"��� ����� G&5665&� C'��"��QOF!� &56&� C�����QLF� �� &<W�5&<� C&�����DKF��

�"��������#���7�A��9?����0�A!���������"��)����"������������������7�A��=���!����

��������"��� �� ���"��� ������ � �� ������ ����� ���.��� ������ �� ��#���� ������� ��%�"���

�����=������C>����DJF���G��I����C5���QQF��"����0�A����������#�����������"���

<�"��"������������"����������������������������7�����������'�����"����������"���

����"���� �����������������������������"������C01����DEF��<�������"����"���

����#���7�A� �� "��� ����� ���������� �� �"�� �� #��� ���� ������"� �����.��� ��� ���� �� ��

������"�������� �������"��� ����������"�����+����������7�����������'�����"����

������"�������"���� �������)��������1������������#���)��������?����������������

���������"������?���!���������?-��������������"�!������"3-���������"��������!�����������

������"���������"���������������?-���������,����������"���������������������?����

������"�"���

B����"�������"���� �������������"������C01����DEF!������5�"���!��"��"����������

�������������"������������.������,�"��������"���������"��"������"����3����"��)����

�������������������������������������"� �������"�,�������"��"��������"����

<��� �"� �� R60� C/�HQQF� ��� "���� �� ��� �� ��"���� ��� <�� C01����DEF!� "��)�� ����

������"����������R-<�"�"H� C01����DE�F�#���)��������������������"�� �����"��������

��� �� �������.��������"�� ���� ��#�����R60��B�R-<�"�"H� )� ���������������� "�"����

��#����������#��"�������#����������"����������

�� "���� �� ��� 7��������� �� '�����"�� )� ������2�� �� �����"�� �� ��������� ��

��������� ���� ��"���� �!� "��)����������� �� ������������!� ���"�� "�����!� ��� ���������

���� R<S� �$�%!��&� ����&� ��!"��"�$�� <�"� ��������� )� ������ ��� ������� ���

Page 15: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

3

��������"� ����"������������"����������"�������"���� ��������R<S�)�������������

�� ������"� ��� ������"��� R60� ������"� ��� �����"�� �� ��������� �� ��������� �� ��

������"�������"��� �������"������������������������������"����"������R<S�� ���$�R<S�

����3����������������������"��� ����������"�����R<S������"������������!���$�R<S�

)��������������������?#������� ���������"������"�������������$������R<S�)����

�����������������R60!�"��-������"�������������������������"�������� ��R60��

/������������R<ST�

J� &�����6���� ����������7����������������5��������������������T�R<S�

)� ��� ���� ��� ��������"� �� ��"���� �� ������"��� &���� ����!� �� ���?���� ����

�����"������������"���������"����������!�#�����" �����?�"��(�����R<SX�

K� ��� ���� ��� ���� ������ ������ ����� �������T������� ����"��"������R<S�

�����"�� ���!� ������� �� �������� ������"���� ������"� ���� ��������>���� ����!� ��

���������"������������� ������(�����������������X�

E� ��� ���� � �� ���� � ��� ������� � ��� � �������� ������������ � "���� ��

������������"�� �� ��������� Y� ���� ��� �� K�O�O$T� R<S� �"���(� ������"��� R60� ���

���������� ��"��"���������!�������������� "��� �������������"�R<S�������

��"�����������)������!������*��������������� �����������"���R60���

����������������"������.���������������"�� �T�

J� �����"� �� ���������� �� �� ��� ��������� ��"���� ��� ��������"� �� �� ������"��

�R<S$X�

K� <��������� ������������"� ����7�����������'�����"�������"�������"���� ����

���5�"���X�

E� 5�������"� ����������"1"������5�"�����

�3� 8��������������������� �

B�������"��������"?���"��"��������������T�

� ������� � �� 9� ��������� � ��� ��� �T� ����������� ����"��� �� ��"���� �� �� ��!�

���������.��!�����������������������������������#��"�"�����"���(��������"����

����� "����� G��)�� ������"���!� ������ ���"���!� ������ ���"���� �� ��"���� �� ��

�������"������������������#��"�"������?�������

Page 16: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

4

� ������� � �� 9� �� ������ � ��� � �������T� ����� ���"���� ������"� ��� ����#����

��?������� �� ������"�� �� ��#����� ���� ����� ��� ����#���� ���� �����"���� =�����

���"����"��)��� �����"���������"����������������������������"���������

����������#������������� ������!�� ��������"��������������"��������"���� ����

����������� ������������������� ����������������������� ����������"���

� ������� �"�9�#�$������� ������ ��������&� � �� T� ������ ���"���� ������"���� �

�#��"�"��� �� ��� ��������"��� �� ���%�"�� ������"�� ���� C01����DEF�� <���� ���"����

"��)���"������������� ��������������� ����������"��� ��������������������

���������"�����R-<�"�"H���R<S��

� ������� � �� 9� &� �'�� �� �������������������� ������� �T� ����� ���"���� ����

��"�����"�����������"���(��%��"���"��������"�����#��������������?��������

��������"� �� �� ��� ���"1"���� �� ��� ���"��� �� ��"���� �� �� ���� G��)��

�"������"������������������������"��������������������"1"������������"����

� ������� � )� 9� � �����*��� �� +�����, �� -���� �T� ����� ���"���� �����(� � �����"� �!�

���"���� �� �������.��� ��"��� ���� �� "�����!� ���"������.��� �� �����!� ������

�����".������"���������"������

Page 17: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

5

������� ����

��������� ������� ��

B������������%�"�������"���� �������)�������������� ����"����������������"���

�� ��� ��"������� �� ��"����3���!� "�����"���� �� ���?���� ��� ���� �� �� ��� ���"���

���"���(���������3�����<�������"��������������������������������")� ������"1�����

���������-��"��"������<�������"�����+������������W��!������.�������"���� ����

���������"������������������!����"��#�����������������"���������������"����T�

��� ����� �,����� �� ���"��� �� ��� �"���"�� �����"���!� ������ �������.��� ������ ����

���"����"��������������������������"���������"���������������

'�����2�����!�������������"��������"������������.������������������W ����<2��"���

��,��������"������������.������������������W��!�"�������'!���!�����(�����������C56>/DOF�

�����3�������"��"�����������!���������"����!�"�������"�����"���$!���(��!��C6�������IDOF�

�����3�������?��������2���� ���������������������������$�����"�����?�����#�������3���

���"���������������������&������#���#��������Z���)�����������(�!��������"�*�������+��������!�����+��

,�!�����������������������������(�����-����[��=�����������"��!��������"�!�)���(������������

� "�� ������"��<�"��"�"�!� ��� ��������������������,�"����� ���"��!� �������� ��(�����

�����������������"���������"������������2��� �����������*�������"����!�������������

���"��� �� ��"���� �� ������"��� ��� ������� �������� ���� &"����� &��������!� ������ ������"��!�

��"��� "��� ������!� #���� ��" �� ������ ��%�� *� ���"�� ��� &�""��� �� ���� ���� ������"��� ��

������"�������"�����������������#���" ���

����"�������� �����"�"�� �� ���� �� ��� ���"��� �� ��"���� ���� ��� )� �����"��� ���

���?������������������#�����������%���������"����"�������������"�����������"��C01����DJF��

>���� ����!� ����-��� �� ���?���� �� "��� #��� ������ ���"��� ������"��!� ��"������ ���� ��"�������

��"�������������������������.�����������B����?�����1����������������������#���������!�

"��)�� ����� �� ��#���� ��"����� ��� ��#���� �� ���� ��� B� ��#���� ������ )� ��

��#���� �� ���"��� �� ��"���� �� �� ��� #��� ��������"� �� ��"���� ������"��� ��� ���"���

��"��������������$��

�� ��������� ���"����"��� ��� ��"������� ���"���� �� ��"���� �� �� ��� �� ���"����

��"��������������������"?�����"����#������,�"����� ���"�����������"����� ��"���� ����

Page 18: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

6

��� � �� �"@������ �"��������"�!� �� ���"��� �� ��� �� ��� ���"��� �� ��"���� �� � ��

���"�����)-�2��"��"�������������������������"����

>�����*��"���(��"@���������"�����������"�������"���� ������!��������"�����

� �� �����"�� � �����.��� �����!� ������ ������� �"���.��� "�"�� ���� ��� #��"�� ����

��#������>���� ����!� ��� ���"��� �� ��"���� �� �� ��� "��� #��� ���� ���� �� ����"�"���

������ ��� ���%��"�� �� ���"��� ��"������ <���� ���"����"���� ����"�� � ��������� ��

���������������� �� ������ �� �� ��!� "�� ����� � ����� �� �� ")������ �� ��������"� �� ��

����������"���<����"�����!�������"��������"���� ���������#�������������������2������

��� ��������� ��� ��� �� ���"���� G��� ������.��� ����� ������� ���"���.��� ������2�� �

������"�������"�,���

��������������� ����"�.������ "���� ���"������ ��"���� ������� ��"?� �������� *�

������ ��"��� �� ���������� �� ����� ���� �� �������� �� ���"��� �� ���� �� �����

����������-���������.�����"?"�������������������"��#�����"����������������%��"��

��2�������"���"��)���������������������� �������"����G�����������������������������

"��)������������#���������������& ��������� �������������7�A$�C �I���"�"����QLF�����

������������ �0�A$� C������QMF�� <���� �������� �(��� ������"�� *� ����� ����� � ��

����� �� ��"������ ��#���������� ��� �� ��"������ ���"��� �������G��� ��������

�����������"���"���������������������������"�����������"��������"���� �������

#���)����������� �������������"�����#��������"���� ��������������"����������"���

�������G����������� �����?�������������������������"�������

������"�������"���� �������"��)������������(���������������"������������

������� ���"��� ��"����� #��!� �� ������ �� ��(��!� ����� ���%�"�� �"���(��� ������"���

��������������������"�����������"�.����������������������"���������������

<�"�� ���"���� ��"?� �����(�� ����� ������� =�� ���.��� K�K!� K�E!� K�O� ���"������� ��

�������!��#��"�"������������������?�������� ��"���� ��������=���� ��K�P���������

���������������"��������"���� �������������� ��K�L���������������������.����

�3� �� ���������������������� ������� ��

���"���������%�"����������"�������"���� �������)�����������������������

��"���� �����������������T����"�������"�����(�C���"�����QQF��=�����������"��!�

�����������"��� ���2"����������"���#����������"��� ����#����"���G���������"���

Page 19: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

7

������������"��������"����������������"���(���� �����"�����!�"���-������������"��

#���� �� ���"��� "3�� "����� �� ������"� �"�!� �����"��-��� "����������"�� ������������ ���

#���������������"��� ������"���� �����������.���� ���2"�������

=� ������� �"�����(!� ��� ��� � �� ���������!� ��"������ �� ��(����� ���

������"1����� ������ ����� ����������� >���� ����!� �� ������"�� � �� ���"�� ���"���"�� �������

������"1������ �����!� "�� ������� "��� � ��"���� �� "����� �� �������.��� ����������� ��

����"�� ��� �� ������"�!� ���)�� ���� ����� ��������� �� ��������"3���� ���� ���

��(������ �� ������� �"�����(� � �� ���� ���� ��� #���� �� ������"�� �����

��������� �������.��� ������� "���(��� �� ������� �"�����(� �������"�� )� �����

#���T�

� ���.�����������������������.�����������"��������������� ����#����"�X�

� B� "����� �� ������"� �� ������"�� )� ���� �����"�"�� #��� �� ���� �� "���(� �� ��

�����X�

� \� ������?���� ��� ��� ���?����� �� ���"��� ��"����� �������.��� #��� � �� ����"��

���"���"��������"�������!�"�������!��������.������"1������

��#���" �������������������#������ ����������������������� ��#��� ��?�

�"���(?-��� ������������!�������"����������2����������������!�#��������� �������

������������(�������?�����

�3� ��6������������������������� ������� ��

��� �#��"�"���� ��?������ �� ��"���� �� �� ��� � �� ����� ����������������� & �� ���T� �

�#��"�"������������!���#��"�"�����������������������#��"�"�����������������

�3�3� ��6��������������� ����

�� �#��"�"��� �� �������� ��������"� � ����������"��!� �������� ������ �� ��"����

������ ��� ��"�������� ����,�"����� ���"��� �� ��� �� ����������(� ��� ��#���� ��� ����

��� ��� B� ������ )� ��� �1���� �� ���"���� #��� ������� �� "�"� �� ������"�� �����"��� ��

���"����� ��"���� ���� )� �������?�������� ��������� ������� ������"�� ��� ���������"�� #���

��� �� ������ *�� ���"��� �� ��!� ����� ���"�� � ������ K�J�� <���� ���������"�� ����� ����

"��(������������������������"���������"�������"��)����"��"������������� ��

K�O�O$�� ��"��������"�!� ��� ��� �� �� ���"�� ������"� � �� ������"���� ��� ��� ����"��

Page 20: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

8

����������"�����������������#��!���" �!������"���������?�����

cliente 1 cliente 2 cliente m

tradutor 1

mediador

consulta

resposta

consulta

resposta

tradutor 2 tradutor n

servidor

dados 1

servidor

dados 2

servidor

dados n

consulta resposta

...

...

...

-������3��:���6��������������� ���3�;8<����������=1'�� %��>?�

��������!����"�����������"����"��������������T�

J� � �� ������� � T������������� ����������(��!������%!�����"������������

�������������������>���� ����!�������������"� �������"��������������� ��

������� ��������� ���"���.��� �����"�� ���� ������� �� �� �������� � ��

����������� ��)�� ����!� ������"��� �������� �������� ���"����"���� ��"��"�� ��

�������#������������"�����"��"���������������"�����������

K� �������� T� ��� �������� � �� ��(��� �� ��"����� ��� �� ����� ��� #��� �����

�����"�����������"�����������������

E� 4�������� T� � ���� �� ����#����� ��� ����������� ��� ��� ���� ��

�����"������������������"�������#�������������������,"���������"�����

O� � �����,���� T��������������� ��,"���������������������������������

�����.����

���#��"�"�����������������������"�����������"�������"���� ���������"��������

��� �,�"������ ������ �� ���� �"�����"�!� ���#����� C����"�QN!� /��QQF� ��" �� �����

���������������"�������#��"�"�������������������"��#����������������"���(����

��"���� ���������W����

�3�3� ��6����������������@���, ����

�� �#��"�"��� �� ����� ���������� ��������"� � ������� �"�����(�� =��� ��� ��� � ��

���������!� ��"����������(�����������������"1�������"��!������������������ �CW ���QPF!�

Page 21: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

9

C7��"QPF$!������� ������"�� ��#����"�� �� ���"����� ��"���� �� � ����������� ���������

������*�����"�������!���������"���������K�K��B����������������)����� ���"�����(����

�����#���#����������"�������"��������"�������"���� ����� ����������������(�.��)�

��� ���� �� ����� � ��"��� �� ��"��� ����.��� ���� �� ���� ���� �"�����(� "��)�� ��

��(�����"����"����������������������������

cliente 1 cliente 2 cliente m

servidor

dados 1

warehouse

dados

consulta

resposta

atualização

dados

servidor

dados 2

servidor

dados n

cliente 1 cliente 2 cliente m

servidor

dados 1

warehouse

dados

consulta

resposta

atualização

dados

servidor

dados 2

servidor

dados n...

...

-������3��:���6����������������@���, ���3�;8<����������=1'�� %�>?�

������������������������� � ��������������������� �#��"�"��� ������"�� �����"��� ��

������"1���� �� ��� ������"��"�� �� "���(�� ���� ���� �� *�� ���"��� �� ��� ��"�����

�C�����QM!�]����QPF$��G��"����� ��)��������!����"��#��������"���� ��"���������"��������

�����"��������.����������&��������!�)����������#���������"���(�.����

/������"�!��2��"��������"�")����������"��� ����������"1����������& �����T�

J� ��������A��� ����5�� T� �� ���"�,���� ������"1���� )� ����"���� )� ���"� ���

��������������� ���"����\���������������"�"�� ���"���!������(�#����������

"�����������"1�������"����������������������������"����X�

K� 4�������� � ���������T� ������ ��� ���"��� ������ � �� ������� ��� ��

������"1������������� ����"���(�.��������������"��"���(���")����������������

���"�����C]���QL!�'���QJF��

�������"�����#����"�������#�����"�")�������)����������"���(� �������"���

����!������%!�������������"�������������������"�������"���� �������������.����

���"��������������������������������������������������"�������������������

���������"����� ������������������"�������"���� ������T�

J� - ����������� ��� ���5��������� ��'��T� � ���"�� �� ��� "��� �����.�����

������ �� ���"��� �� ��"���� �� �� ��� ���������.��� #��� ����� ���"��� ����

Page 22: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

10

�������X�

K� - ����������� ��� � ��5������������T� � ���"�� �� ��� ��"������������.���

�����"��)����������������������������X�

E� - ����� ��� ��5����T� � ���"�� �� ��� � �� )� ��(� �� ��"������ �������.����

����������"�����(� ������ ��)�����������

��)���"���(� ������������������!�#������������"���(�.���������������"�����

��!� "��)�� �2��"�� �� �������� � ���"��� �� �� ������ �$� �� ���.��� �"�����(�� ��

�����������"���(�.������"���������#����������"���������������

�� �#��"�"��� �� ����� ���������� ������"� ��"����� �� ����"������ �� �������3���� �

�#��"�"��� )� ���� #���� �?� � ��������� #��� �� �������.��� ��"�%�� ������� "���(���

��)�!������#��"�"���)��#�������������"�����"��.��T�

� ���������"��#������ �����"�������"�������"���� ����������������������X�

� <2��"���������������+�������������������������"������"�����"����"���

����"��"���(�����������.��X�

� �������������"����#�������������.���"������������������������������!�����

�2�����!��������.������"1����������������������

�3�3� ��6������������:� :�����

>6&� �/���� ����� ��!�"���!�� �&�����$� ����� ������"��� ����� ��� �#��"�"��� �����"���(�

��� �����"������"�� �� ��� C������DK!� �����DE!� /����"���DK!� 8���HDE!� B��DEF�� ���

>6&�������"�����������%��"������������1���������$��'������"��������#�����������#���

��������"� ���� ������� �� ��"�������� � ������� ������ ��(���� ��� "���� �� ��������� #����

���������� �����"���������#������

6�����"�����"�����#����������� >6&�� �����"��� �������"����"�������������#������

���%��"��� �� �������S���� ��� ������"� )� �����"�� � ��� ����!� �� ���"��� ���� ��"��� ���

������"��� �� #��#���� ����� ��� >6&� #��� ��"����� �����"�� "��)�� �� ���!���� ���0!����� ��

������"����=�� >6&��������K�E!����������"�����1������������"���������1�/����

������-����!������������������"��)����/��+�������������!)�����>������"����"�������"������

��"���� �� �� ��� ��� �������� #��� � �� ����?�#�����!� ��� >6&� ?� �����"�� � #��#����

����������"�����"�?������"�������������>���"�!� >6&�� ���������(�.�����"��"�������"������

��"���� �� �� ��!� %?� #��� ������ ������ ����� "��� ����� �������� ��� ��"���� ������

Page 23: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

11

C8���HDEF��

DBLP

dados

artigo

artigo

Berlin

dados

área

membros projeto

nome publicações pessoas

Roma

dados

membros publicações

projeto

artigo autormembro

título

Projetos-BD

projetos

nome publicaçõesmembro

Stanford

dados

pessoas artigos

estudantes publicações

Paris

dados

direção membros

projeto líderes outros

-������3��B�&�4������������� ������� ������ �� ����6���3�

���������������"���������� >6&�� �T�

� /���������������"������������������������������������#���������� �!�

� ��� ������.��� �� ������ ������ ��� ��� >6&� ����� ���� ���"�� �� ����� ����"���� ���

�2�����!��������������������������"���������������������%?�������"������ >6&!�

� �����������������"���������"���������������1�������#��������������������

��������������#����������"���

�3� ���� �������������� ������� ��

<2��"��� ���"��� ������� #��� �������� ���� �������� �� ����"��� �� �� ��� ���"��� ��

��"���� �� �� ��� C0��HQQF�� <�"��� ����� "����� � �������� �� ��!� � ��������� �� ��

������"�!��"���(� �����2���� ����������"���������"��� ����"��"������<��������������� ��

��������"�����������.���������"����

�3�3� 4 ������������� ��

������"�������"���� �����������������������������"���������"�������!�#���

����������������"����������������"��������������")����������#�������B����������

����� ��� ������������"�� )� ������� �� ��*����� "������ ���#���� ��"����$!� �� #��� �������� ���

Page 24: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

12

��� �� ���"��� �� ��� ������ #��� � �� ������"��� ��� ��� ���?����� �� ���"���� �"���(-��� ��

"�������#�������������������������#���������������!���%���������"�����2�����!�

����.������������$�� ����"�������"���� ����������"�����������������#����������"�����

���%?�����������J��B���#����������"��)�������������������#�����������!�

��#���������� �����")���� ����"�����

B������������������ ������#�������������?����#�"�������T�

J� +������ ������6�������������������@����X�

K� ����� ���� �� ��� � �� �� ���"?"����!� ���+�"����� �� �� ������"���"�!� ���"�������

���#������������������������"�"����<�������� ��)�������"���"���"��"�(X�

E� $����� �� ���6������ ���T�������� �����������"������"������X�

O� $����� � � � ������� � ������ �� ��6����T� ������� � ���� �� �� ��#����

����������(�������������������"����"��������#�����������������#�����������

�3�3� �� ������ ������ ��������

B������������ "��� ������� ������"������?�������������"����� �� ���"��� ������ )� ��

��������� �� ��������� �� �� ������"���B� ������ � ��������� �� �� ������"� )� ����"��� ��

������ K�O!� ��� #��� ��� ���"��� �� ��"���� �� �� ��� ������� ��� ������"!� ��������� ����

������"�������������"�!��"���(������������"��������������������������������������

��������"��"�������

�� ������(�� � "��� �� �� ������"�!� �(-��� ������?��� ��� ��������� �� ������ �� ��

���"���������������<2��"�����������#����������������������� ����������������& �������

�������������� �0�A$� �� �� ������������ �7�A$�� B� ��������� �� ��������� �� �� ������"��

��������������������"�������#���!�������"����-�������������2�����"����0�A���

���������������"����7�A��

=��7�A!��������������"������#����������)������"����������"������������#�����

�����!� ������������ �������"��� � �2"��� ����� �� ��������"�� �������� ���"���������!�

���������� �������������������)����������������"������"�����"������������"���

��"�����������.�����(����������"���������������

���������������������������������������� ��������

J�\������"�"�������"��#������� ����"����� �������������"�����")��"����������"��������"����

Page 25: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

13

=��0�A!������)�������������������"��#��������������������������"�������#������

������� ����"���!�� ���������������"��#�������������������"�����2"��� �������"���

��������"�������#�������������'�������������"�!����������� ����������"��������

����)����"�"��������2���

����� ��� ��� �� ������������ ���� � �

� � � ��� ���� ������������ ���� � �

��� ������� ���� ��!������ ������������ ���� � ���

"#� ����� � ��� "#� ����� � ���

$ ��� ���� � ��������%�� ����� ���&������� �� ����

'�(*) + , - . /0) /1, ) 2 3 (4 ( +�5 + 6*, 5*78/ +5 9 : ( ; . / 4 ( + 4 / +�< (*) . 5 +

= - /*) ( 4 5>5 9 5 ? , @ 3 (4 5>? ( ) + , - . / +4 2 + . ; 2 A ,CB 4 / +

D EF GH EF GI JF EKLH EM JH

'�(*) + , - . / +8) ( +�5 + 6 , 5 78/ +5 9 : ( ; . / 4 ( + 4 / +�< (*) . 5 +

N OP QR OP QS TP OU

V OWTR

'�( ) + , - . / +8) ( +5 + 6*, 5 7>/ +4 / +�< ( ) . 5 +

-������3"�&��� ������� ������ �������� ������3�

�� ��������� �� �� ������"�� )� �� ��������� ����� ����� "������� &���� ����!� ��� "��?� ���

"��� ���������� ���'��"���� E��=���� ���������������� �������� �"�������� ����#����7�A���

0�A�����������.����

�3�3� �#�A��� ����<����� ����� ��������

/����� �� ��� ���������� "��������� ���"�� ������"�� ��������(��� ��� &S0� C6��"��QEF��

�������!�)����"������"��"��� ���������"��������������������������1����������!��������B�

����� �� ����"���(��� �� ������"�� )� ����(��� ���������������"�� �� �2���� ���� ������"���

<�"�� ����� )� ��� ������� �����"���� #��� ���������� �2"���"�� ���������� ��� ������"��

�"��������"�!� ������� ���������� � �������#��� � �� �2���"�� �� ������"��������.����

������"� ��2�����T� %��� �!� ���%�� �!� ����� �$� �� �� �����"��� � ���� ���� ��� �� ����� ���

G�������"�!����"���(�������������"������������������������"��������"�����������

���������������������� ��"����"���(�� ������"�� ��� ���"�2"��� ��"���� ������� ������

�����������"���������� ��������"���������T�

J�� '���� �� ���"��� �� ��� � �� �"@����!� �� �"���(��� ���� � �� "��� �������.���

��""��"���� �����?����� ������ ����� �����!� �� �"���(��� � �� ���� ������� ��"��� ��� ������"���

Page 26: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

14

�����!����"��#���� �����������"����������"�X�

K��������"�������������� �����������������"�����"����������������������!�����

�����"���������"����������������������"�X�

E���������"�!���������������"��������!����"���(�������"��� �������.�����������

"�������"������3�����������������������1����=�����"�2"������"���� ������!�

��������������"��� ��"����������"��)���������#������������(���" ����%��"����������

������.�����������������

�3�3" � ������� ���������� ����

G��"����!� ������ �� ��������!� � �� �1����� �� ���"���� ������������ �� �� ���"�� ��

��� #��� "3�� � "���� �� ������"��� �� ������ �� ��� � ���"�� ��� ��� ������ �� ���

�����������"����� ��"���� ����"��)����������"���� ������"� �����"����� ���"����

��������������������������

��� �2�����!� ��� ��� ���"������� ���� ������� ���� ����������� ����������#��#���!� ��

"��"��� ���� ������"��� ��� ������"� �� ��������� ���������� ������ ���� �� "��)�� �2"���� �

�?���� 8G60� �� ������"� ��� �����"��� �� ������"3-���� ��� ������ �� ��� �� ���"��� ��

��"���� ����������������������������������)�#�����?����8G60�)��������������������

����%�"������������"� ���������� ��������������������+�"���#��"�������������������

��)������!� �� �?�����8G60����� ���#V��"����"�!� ������"��� ������� �� �����������

�������������������2"����������������?����8G60�����"��������������"���(����

������ �� "������ B� ���"�� �� R60� ����� ��� �� �� �� "���� �� ��� ����� � "���� ��

����"��� ����"��"����!����"��#����?����"��3����#������&7>/�3��������"���������"�����

R60���"��)����"������������R60��

\������"�"���������������������"���"��"���������������������������"�������

��������"������"�������!���#��"��#������"��"�������3������"������,�������������

�������"��������#���"����������"������������������������"����������������

��������������������������������������������������� �������������������

"��"����>��������!����"��"����������������������������������������������������

������%���"�����2�����!�������������������������#������R60$��A���������K�P��=����

������������������������������"������?�������������������������2!��3����4��<�"��

� ����������������"��!��������"�������"��"������'�"��"�������������������"����

����"�� �� ���"��� �� � "��(� ��� � ��������� ���������� � ���"�� �&S0� C6��"��QEF!� BS0�

Page 27: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

15

C'""���DDF� �� RS���H� C'��������DJF$�� ��� ���"��!� ���� ��� ��(!� �������� ��� "��"����� ���

�����"��������������������������"����"������G����!�B�%�"�����<�����"���R60$��������

��� "��(��� ��� �� ����"�� �� �� �� ���"���� <����� ��� � �� ��"������ ����� ������ ��

��"������������?�����

X0Y�Z>[]\�^�_ `�aCb c�d�`�_ X0Y�Z>[]e�f b ^�d�g `�h�c`ie�j k ^�g c�l

[�c�aCm�ni^�d�g c�lo>piq

r�s t�u�v8w x�s�y r�s t8u�v�w x�s�z r�s t�u�v8w x�s�{

|~}i��� �i�i���

�i�[�`�h�c�l8� �0� �1�[�`�h�c�l�� [�`�h�c�l��

X0��q � `�j�^�_ `�l e���q e�j k ^�g c�l�o>��m�^�f � �>_ ^�ni^�d�g c�lo0piq

��l�m���f b c

[�`�h�c�l��� �

-������3��8<��� ����������� ���3�

�3" ������������������ ������� ��

<��� ������ �� ���-��� � ���"��� ������ ���#����� �� ?��� �� ��"���� �� �� ��� #���

�����"��������� �������"������������"���������������������"������������7�A����

0�A$!�������"���������������������"!�������"����#��"�"���!���"�����"����

5��������"�!�������"��������"���� ���������������������������������������"���

���"��� �� ��� ���� ��"��"���� ���� ��������6��� "��!� ���� �� ���������"�� � ������� ��

������������W ��������������������"���������������!����������"��������"���� �������

������"�����������%�"��������"��������"����������"��"����������-��"��"�����

B����%�"��G&5665&��5����)�!)����'�����!�"����)���������'!)������!��������$�C'��"��QOF�����

�������������������������&"�������)����������%�"���������������������������#�����

��?�������"���� ��������B����%�"��G&5665&���"?������������������#���7�A���"�����

��%�"���� �� ��"����� "�"�� ��� ��"��"����� #��"�� ��� ����-��"��"������ B� ���%�"��

G&5665&� �"� � �#��"�"��� �� ��������"��"����� ��� � ��"���� �� �� ��� �� �����

������ �� ��� ������ ���� ����.�� ��B<6� �6�+���� %7���!"�� �����$� #��� �����"�� � "���� ��

�������.��������%�"��� �"�-�����"�������"���������"��� "������� ���"����� ������� ��� �� �

���������� ����������"�������� ����G&5665&��"���(����������������"������������

Page 28: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

16

6&0��������������)����!���!"��"�$�C �I���"�"����QLF�����������"�������� �����������

��� ������"��� �� ������ �� ����� ���� ��� ������"��� �� ���"��� ������� �� ��������� ��

������"��"���(������G&5665&�)�0B:<0�C����"�����QMF!���� ����������������BS0�

�6�+��������&���!"��"�$� �����������B<6��>���"�� � ���� ���� "��"����� ������%��"����

���������!� �����"��� ��� ��� ��������� ����"��� �� �"�� �����!� )� ����������� ��� ���������

������"�����"��������"��"�������"��)�������%�"���#����������"������S�������"��"���

��������������������"!�����������"�������������������������������������!����������"�

�"���)������������"�������������

B�=������C>����DJF�)������"����������"���������"���� �����������.��������

���R60��B�=��������"?������������������#���0�A�����"���������"����3����!����������

�����"��"������� ����-��"��"������B�=������ "������������������"���#������")��

������"���#��������"������������� ����������"�������?���������������"����������

���"���� �� ��������� �� ������"� �"���(� ����� =������ )� �� R60-S0�� B� =������ �"���(� ���

�#��"�"��� ������ ����"��� �� �"�����($�� ��� �� ���"����"���� ����������� �� =������ )�

�������#����������"���������������"���������������<����2�����������"����������

����������?����#����������"��� ��)�������"���

B� �-R60� >"� 5�"���"���� &��"�� C7����DKF� )� ��� ���"��� �� ��"���� �� �� ��� #���

�����������������������"������,�"��������"����������W���������5�"���"��"��)����

������"�� ��� R60�� B� �-R60� �"���(� R60� ����� ������ �� ��"���� �� ���� ����� ����

�����.��� �RS���H!� R&����!� >B6!� &�R!� &B� !� R�����!� R&0$�� B� �-R60� �"���(� ���

�#��"�"����������>��������!����"������������.������������������"�����"������������

"�������������(��������������

�3� � �������*��� ����

=��"�����"����������������������������������������������"��������"���� ����

���� �� ��"���� �� �� ��� "��� ����� ��������� ��%�"���� ������� ��� ��� �� ��"���� ��

����������"����������"�����������"����3���!�"�����"���������?����������� �������

���"������"���(���������3�����

���������"��� �� �������� ��?������ �� ��"���� �T� � ����������"��� �� � �������

�"�����(�� =� ���"��!� �� ���"��� � �� ������"�� "�� ��(� #��� �?� ��� ������"� �!� ��

�"�����(!� ������ � ����������"�� ���������� ��� ��� "�"���� �� ��(����� ������

������"1���� �� ��� ������ ����������$� �� �� ������"�� � �� ���"�� ������ ������ ������"1������ � <�"��

Page 29: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

17

����������" ���������*���#��"�"���������"�����������"��������"���� ��������

���#��"�"��������������"������������"�������#��"�"���������������������"��

��������"�����(��G��)���������"������#��"�"������������"��#���)���#��"�"���

��������������

����� "��)��������"����������������������� � ������������"������������%�"��"����

������"�������"���� ��������B�������������"�����(���������"��*�������������!�

*���������� ����������"�!�*��"���(� ����������"����*�����"��� ����"��"�������

=�������������!�������������������"���������������#������������� ���

��������� ����������"��)����������?��������������������������������#����"��

��� ���%�"�!������������� �0�A$� ��� ������������ �7�A$�� >������� "��)�� �� ��� ���"�

�����"+����*��"���(� ����������"��#���"������"����"����������"���������"������������

�����"����������� ������!������"��� ����"��"�����"��)��)���������������������"��

���������%�"��"���

�� �����(�� ������ ������ ������ "������� ����������� ����� ������"��!�

���������"�!� �� ���%�"�� G&5665&� �7�A!� ���"��!� B<6!� 0����$!� �� =������ �0�A!� ������!�

R60!�RS���H$������-R60�>"�5�"���"����&��"���������!�R60!�RS���H$��

=�� ��12���� ���"���!� ���"������� ��� ���������� ������"��� �������� *� ��������� �� ��

������"���

Page 30: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

18

������� ����

�� ������ ����� ��������

������"����� ��"���� �����������3�����)"��������������������"���"����,�"������

�������������"����3������<���������"������#���������������������"������������

��"������ �� ���"��� �� ��� � ������� ��� ����� ��#�����>���� ����!� ������?��������

�������� ��� ������"� ������ ��� ��#����,����� �� �� ���"��� �� ��"���� �� �� ��� )� ��(�

��������?-�������������"���������������B������������"��� �������������"������?����

���������"����������"���������)���������������� ������ ����� ���������

B������������������� ����������"��������"����������"������������"��8�������

���"������������"��!�����������"��������?��������������#���������!�"��#��T�

� �9����")��������"�������"�X�

� �8�⊆��:�

� �8�����3�"�����������"����������������#�

B� ��������� �� ��������� �� �� ������"�� ��"?� ��"�����"�� ��������� �� ����#��� ��

������"����"�������#�����������������#������������B��������"�������������������

����.�������#����������� ����"������"���������.��������#����������"����������>����

����#����"���������� �������"��������"��"��!�� ����������������������0�A$�C������QMF�

��� �������������7�A$�C �I���"�"����QLF���

B��������������������� ������"����-�������������2�����"��������#���0�A�������

�������� �� �"�� �� ����#��� 7�A�� 5���� )� �2������ ����� ������� =�� 7�A!� ��� ��

��������"������#����������)������"����������"������������#����� �����!�������������

�������"�����2"��� ���������������"�������������"����=��0�A!������)�������������

������"�� #��� ������� ����� ��� ��������"��� �� ��#���� ������ � �� ��"���!� � �� �������

������"�� #��� ��������� �������"��� � �2"��� �� �� ���"��� �� ��� � ��"��� �� ��#���� ��

������Y����.�������������#�����������

<�� ���"���� �� ��"���� ������� ����� �2��"��� ��,����� ���"��� �� ����<���� ���"���

�������������������������������"����#��#���������"��������!������������������

Page 31: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

19

������T���������!����-������"���#�����������"�������?����� ��������������������"�����

����������&�����!����-��������"���#��������"�����%��������������������������������

�� ��"������ ������������������"� ���� ���"����������������.��� ����������#������

���� ���0�A$!������"��#������"����������%����������������������������������

��"������ ������!����)���������������"��� ����������"�������?�������������"�����

�� ���"��� �� ��� ���������� �� �� ������"�$� )� = -'�����"�� ��� ������"�� ���%��"����

C0��HDDF���

B�"��������#����� �������"���������"����"������"��"����& ��������� ������������������

�70�A$� C������QQF� �� �� ����������� �/�A$� C6�/����DEF�� <����� ����#���� ��������

���"����"������7�A���0�A��

=�� ���.��� ������"��� ������� ��������� ��� ����#���� 0�A� �� 7�A� �� ��� ����� ������"�����

��������������������� ����������"���>�����!�������������������#�������������"��������

��70�A�����/�A��!��������"�!����������"������"�����������������)����"����������� �����

������ �� ��� ������������!� ���"�� #��� )� ��� �#��"�"��� #��� ���� ����� ���"�� ����"��

��"�����"���

�3� C ���� �

=���� ������ �� ���?� � "����������� �� ������ �� ��� ����������� ��� ��#���� )� ���

���%��"��������.����'������������.���� ���������"����"�����������������(�����"��

����#���� ���� "��������"����"��� "��)���(�����"������#���!����)�� ������� �����?-����

#��$��������� ��)������������������"������T�

���J!�����!���$!�

������)�������� �����J!�����!������ �����"����"����������� ���

'�����"�� ����� ���� ����������� ��� ��� ������ �� ����������� ��� ���������!�

���������������������������������"�����%��"��������������"��������,�����������

8���$� �� ������ ����.��� ����� ��� ������"� ���%��"��� )� ��� ���"���� �1���� �� ���� ����

�2������������T�

*;$<=���J;$J<!���!���;$�<!�

���� �J!���!� ��� � �� �������� #��� ��������"�� ����.��� �� ������ �� ��� ��$J!���!$�� � ��

"����������?������������"�"���#�����������"�����"����"����B�?"����*;$<�)������������

������"� ���� �����"���������"� )�������%��"���� "����!� ����� "������� ���� �����

Page 32: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

20

�����?���� ���$��������?����� ���$� � �������������"�� #��"������ �� "��� �� ��"��� � ��

�2��"��������"��#��"�����������������#������������"�)������"����$�⊆�$J�∪�����∪�$���B��

��������≤!�≥!�<!�>���≠������������������������"��������� ��)��2�����������,�"�����

��������������������������������� ���������������������"���)��"��"�����(���������

�����"��� � �� ��(����� ��� ��� ����� �� ���� <2��"�� ��� ���������3���� ���"� ��"���

������,����� ��8���� �� ������"�� �� ����� �-���%�� �-%��� �� ��� ������ �� ��� ����������

�"��)���������������"�����%��"���$�C������QQF��B�����������2������T�

$����������"��������� ���������#������"�����������"����"���!����������T�

*;!���>�����<=��������;!���>�����<#�

�$����������"�*������.�������������!����?�!����"�������"����"���!�������������&���������

#�����������%����"����"�����!����?����������������"����������%��� ����"��������������������

"��)����"����"��!���T�

*;!���>������<=��������;!���<>��!����?�;!���>������<#�

�$�������������������"����$!����)����������� ���"��� �!����#���������������

���������LD����������������2����T�

*;!���>������<=��������;!���>�����<>��!����?�;!���>������<>������@�AB#�

$�������������������"����$!����)��������������"��� �!����#����������������

����:������� ���2����T�

*;!���>������<=��������;!���<>��!����?�;!���>�C���)�9<#�

�������������"� � ��������%��"���� ��������8���!� ������� ����������������������

�����#V��"��"��)�����������������#��#��������"�����"���-������� ���B������"���

����� ������������"�����������������)�������%��"����"����������"�������

���������������"�-����������

�3� $� ���:��:D�@�

=�� ����#��� ������������ �7�A$� �� ��������"�� �� ��#���� ������ "��� ���

���������3���� ������� ��#������� ���"��� ��������������"�!� ��� �� ���� ���� ���

��#���������!�"��������������"���#�����")�������"��������"��������!����������������

E�J��G���������"�������#������������"?������������������ �������������"����������

"�� ��� �� ���������� ����� ��"��� ��� �� ��#���� ������ �!� �"���(��� ������"�� ������ ��

Page 33: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

21

���"��������������"����#����������������#���� ����G&5665&�C7���-6����QMF�����8<:6<&�

C���QLF��

��� � ��� � ��� �� � �

��� � � ��� � � ��� � �� � �

� �0�   ¡¢

��� � � ��� � � ��� � �� � �

� �0�   ¡�£

��� � � ��� � � ��� � �� � �

� �>�   ¡¤

¥*¦ § ¨ © ª0«0¬ ­ ® ¯ «*­

° � �°�� � ° � �

°�± �°�± �

-������3��$� ���:��:D�@3��$��� ������*���� ���6������ ���E������ ������*���� ���6�������� ������ ������2��� �������� ��������6���� �������������� ��$3�

B��������������������"�����������"�������"���� ������!���"������������"�����

���7�����������'�����"�!�� ������#���������!�����#�������"������������"���<����� ��

������(�������������T�

�� ��� ����C&�����DKF�������"�������"���� �������'�)����"������ !��!���!�����

� �)�����*�����"�����!��2������������������������ ������������"��� !�

� ��)�����*�����)�!��!��2�������������������������������������"������B�����"�����

������������������#������"���(������"�������������������"��!�

� ��)����������!�����"��� ������

G�����������"���� ����������"������������T�

8�6������ ���T������������ �����#�������������������2����������������������

�������������2�����!������"� �����%�"��!���"��� ����������"����"�����"���$��'����

����� ������ �� ����� "������ ���� ��#����� ���������!� �� ����"��� � �������?� ������ ��

��"�����!��������"�!� ����������"��� ��"��� ����� ��"����� ������������� �!����������

"������� ������"���� � �� ���� ���B� ��#���� ������ "��)������ ���� ����� �� ��#����

��"����������#���������� ���

8�6���� ���T� � ����������������#�������"��"��)��)��2������������������ �$���

���������������������������B�����"��������")��������%��"����������������.�����

���"��� ������ �� �� ��� ����� ����.��� "��� ��� �����3���� ��� ��� ���"�� �����������"��

���������#�������"���($��

Page 34: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

22

4������� T����7�A!���������"���������������������"��"���� ����������"�

*������������������������������"������"���(���������������"��)�����������T�

� �� "�� ���� �� ������ "!� ��� ���%��"�� �� ����.��� ������ )� �������������� ���

������������������.������������ ������������"��������"+���������� ��"��

� ��� ����.������������������"������� ���"+�������#��� �� �������������� ���"��

������

� ��� ������"� ������ � "� ����������!� ���"����#��!� ��� "��� �� ���"+����� ��

��#���������!�� ���?�����"��.����

������� ������#�����������������������������"������T�

(J;$J<!���!�(�;$�<���";$<!�

���� ";$<� )� ��� ���� �� ������ �� (J;$J<!���!� (�;$�<� )� ��� ������"� *�� ������ �� ����.��� ��

��#���� ���"�� ����")�� ��� ���%��"�� �� ����.��� �� ���"��� �����$�� B� ���%��"�� �� "����"���

$J���$��⊆�$�� �� ���� �� ";$<� ���� ������� �?���� ��(��� �� ������ �� �� ������"��� >����

����!������ ��";$<����?������"��������� ����"�����������"��*��#�����������

��������������"������"�!���%�������2������E�JT�

8<��� ��3�T�&������������"�������"���� ������������������"�3�����"����������2!��3����4�

��%�����#������ �����������������������T�

F1: Filme1(título, ator, ano) F2: Filme2(id, título, ator, ano) F3: Critica3(id, crítica)

'������������#���������������������.��T�

Filme(título, ator) Crítica(título, crítica)

B���������������"���������#�������������T�

Filme1(título, ator, ano) � Filme(título, ator)

Filme2(título, ator, ano) � Filme(título, ator) Critica3(id, crítica),

Filme1(id, título, ator, ano) � Crítica(título, crítica)

=�"��#�������� �������)������"���������2�������3�������� �� �-����)������"�����

����4�������2!�����������E�K��������"�� ������� �������������(������������"�����������

#��� ����� ���?� �����"�� ���� � ��� �� � ������"� ����2;�-����>� ����>� �!�<� ���� � ������"�

����3;�-����>�����>��!�<��

Page 35: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

23

² ³

²�´

µ�¶C· ¸ ¹�º

²*»

µ�¶�· ¸ ¹�¼

³�½

µ�¶C· ¸ ¹¿¾

ÀCÁ Â*à Ä�Å0Æ1Ç*È É*Ê Æ*È

��

-������3��$�DF�8<��� 3�-F�-��E��F�������3�

�3�3� ��G������ �$�D�

��������������������#���������� �)� ����������"���������� �������%��"�����

���"+������������%��"����������� ���������������"���� $���

�� ���� �� "������� ���+�"��� � ��� ���"��� �� ��"���� �� �� ��� '� ^� � !� �!� ��!�

����������������������������������'����������������#�����"?��������������

����.�����������������")������.�������"�����"���#������"���*������.����� $��/�������

�!� ������������� #��� �� ���"�,�� � ������� �� �� ��#���� ������ ��B� ��#���� ������7�

���� ���"��� ���"���.��� � ������"�� �� ���� ���"�,���<2�����T� ������� �(��� #��� ��� ���� ��

)������� ����")���������������)����QD��

'������������!������������"���������'�#��#����������������� ��

�� ��� �"�� C&�����DKF���� ����� �� ��� �������� ��� '� )� �"�� ��"��� ���� �������� ���� ��!�

����������"�!���"������'������������������T�

� ��)����������������"��� !���"��)!����"���(�"��������"���.����� !�

� ��� �� ���� �� "� �� !� ��� ���%��"���� "����� "�� #����� "������ � "� )� �#������"�� ��

���%��"����"����������"������������"��������"��������!���"��)!�BD ggQ ⊆ ��

�������� ������ �������#��� ���"��� � ����������� ��!)D(��T� ������#�����������3���

��� �� ���"��� �� ��"���� �� �"���(��� �� ��#���� �����!� "���� � �� � �� �����������"��

������"���C7����QQF��

<�"?� �������"��#��!��������� ��� ���"������ ����� �����������"�7�A!� �����.��� � ��

�7������<��������"�����%�����.���� ���2"��� ���2��"������"���.��������#���������������

������������������������)���������>���"�"�����#��"����$��������"����������������

7�A� ���� ���� ����� �� �����!��� ��� ������ ��� ����������� E!��� C0��(�����DEF!� ��"�� )!� ���� )�

Page 36: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

24

���"���(���������,��������������!� ����������������������!�#���)���"���

��������������� �����������������������%��"����"����������"����������.���

�����������"��������������"����G�����������)�������������#������������������������

��������� �� �� ������"�� ��� 0�A!� ���)�� "�(� � ����"���� �� � �� ����� �����������

���"���.�������#�����������

�����������������������������"���.������ �����"�����������������������"�������

7�A!�����������"����� ��"��.������#���������"����#�������#���������� ��%��2����������

"��������������������"��������������"����������"�������C:�����DKF��=����������!��

���������� �����������������"����"�����������������"�������������� �����?������������

���"���.�������"��������������������������

�3�3� ���� ������ ����� ��������� �$�D�

����������� �����7�A�)��������������"��������%��"����������"�������������"���������)�

�2������!� ��������� ����� �����"��� ��� �"������ ���� ��� =�� 7�A� �� ���� �� ��

��#���������� "��?���� ������"� ������ �� ���"��� �������"� �����!� ������ ����� ��"���$��

>��������!�#�������������"�)������"�������"��!������������"������������"���������

����������� �T�

J$ 5��"������#��������.�����" �������������"�!��

K$ >�����������������.���������.���-����.��!�

E$ :����������������"����������"���������"����������

���������������2������������������� ��������� ����������"�����7�A��������2������

E�K���

8<��� ��3�T�'������������#�������������2������E�J��&���������������"�����������

#������������ ����"�������������������!T�

Q(título):- Filme(filme, ‘Matt Damon’)

B� ���"��� ��������� ������� �� ������.��� � ���� ������� �� �����"�� #��� ��� )� �����"�

�����������"�����2�#���)����� �����J����K�������!�����2������������������"T�

Q1(título):- Filme1(id, título, ‘Matt Damon’, ano)

������3T�

Q2(título):- Filme2(id, título, ‘Matt Damon’, ano)

�������������"��!�����������#����J�������"����T�

Page 37: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

25

1. título = Brothers Grimm, The

2. título = Ocean's Twelve

3. título = Bourne Supremacy, The

4. título = Jersey Girl

���K�#��������"����T�

1. título = Eurotrip

2. título = Ocean's Twelve

3. título = Stuck On You

'������2�^��J�∪��K����������"�� �������"+����$!�"��������������"�����������"��T�

1. título = Brothers Grimm, The

2. título = Ocean's Twelve

3. título = Bourne Supremacy, The

4. título = Jersey Girl

5. título = Eurotrip

6. título = Stuck On You

��� ���"+���� )� ���"����� ���� ��� ��� ���� "����"���� =����� �2�����!� ���������� #��� ��

"����"�� "�"���� ���"���#��� ��� ���"+���� �� )����� >���� ����!� �� ������6���!F�� 5���(�� ������

����������(���������"��

�3�3� ������������������ ������ �� �� �$�D��

B� "������ �� C'��DKF� ������"� ��� �����"��� ��� �����"�� ��� ���%��"�� �� ������"��

�����"�� ��� ������"�� �����"��� � ��� ���"��� �� ��"���� �� �� ��� �� ����� ���� ��

����#��� 7�A�� �� ��������� ���"����"��� ����� �����"��� )� ��������� ������ � ������"� �� ��

��#����������"������������������������#������������"�������"������������"��B������"���

)� ��(� �� ������� ���� ������"�� *#����� �2"���� ���"���"�� �� ���"��!� �2������� ��

�����.������+�"�����2������������#����������"����������

&������'�^�� !��!����������"����� ��"���� ������!� ����������������������

�������������������������"�����������#���������� �� �"�����������"��!��������"���

��")���������������"��7� ;�<���2��� �����$����������������"�������#���������� #�G��

�2��� ��)����"������������������"������������ �#���)�������"��������<����2��� ��)��

���"����"��� ���������� ����� �����"���� B� ���"�� �� ����������"�� )� ����� ���"���

�"��������"�T� �7� ;�<�)� ��������� �����2��������� �� � ������"� �����"�"�� )� �����"�� ��

������������������

�� �2��� �� � ������"� �� ���?���� �� ��#���� �����"��� ��� ������� ��� ��"���(��� ��

Page 38: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

26

������"�������.������+�"������"������������"�������#���������� �����)���?��������(���

�����)�#���������.������+�"������"������������"������ ������������"�������������������

��"����� �� �����(� ������ � ���� �� ������� !� ���-��� ��?-�� ��� ����� � ������"� �7� ;�<��

������*�������"������������5����)����"������������T�

J� :��������-���������"�"��������������/������������������/9�������"��)���

������������� $��>���"-����8��������"���������"��

K� '���"�1�-����?��������������� ������������9����������"��������C7�����QLF$���

E� :�"���-�������������"���������"��7� ;�<�������������� ����"�����������"��

� ���(�������������?��������������� ���������

7��"�-��� ������ "������ #��� �� �����"��� )� �����"�� �� #��� �7� ;�<� )� �#������"�� ��� ����

������"������#���������� ��

B�"������%�"��)���&<W�5&<���%��!���G�����"�!���!�'!��"������%��!����$�C&�����DKF�"�����

��%�"���� �� ����������� �� ��������"�� ��� ����� ���������� ����� #��� �����"�� �� ������

��"������"��*�����"����������"����3������������"��G����B�&<W�5&<�"�������#��"�"���

��"������ ���� ��� ���"��� �� ����� �� �������� �� ���+�"��� #��� �"���(�� ��"�������

���"�����V���� G��� ��"������� � �� ������� ��� ��� ��� �� �����3���� �� ����� ���� ���

��.��� �WE'� �R60!�R60�&����!�:>��&$$����� ������"� �� ���?���� )� ����� ��� ���

���"�� �� ������"� #��� �������� �� �������� � ������"� ������-��� "��)�� �� �%G�'�%�

!)������!�!������&5=���$������������������������� ����#����"���������?�����'�&5=���

)�������"�������"���� ������������������������#���7�A��B�����������"�������

������"�������&5=���)�����"�"���������������"�������T�

J� 8<����� � ��� � ������� -� � ������"� )� �2���� �� ����� ���� �� ���"���.��� ��

��"����������#���������X�

K� 4������A��� � ���� �������� �� ���� -� ��� ?"����� � ������"� �2���� � ��

�"�����(���"��)����"�����(� �����������������#���� ���������"�������2�����

���������"��X�

E� 4������A��� �������������� ����-���������"�����(�����������������!���"��������

�� �"�����(� �� )� ��#������� <�"�� ����� �������� ��� ��� �� ���"��� ������ �� ���

��(���������������������

O� �5����� ����� ��������<������� -�#���� "��� ���������������!�#��� � �� ������"���

����������"!�� ���"�����(�!��������"��2����)������"������������������

Page 39: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

27

��������"��&S0������"����������"�����������"����������

B� ���%�"�� &56&� C�����QLF� ����3� ��� ������ ��"������"�� � ���"��� �� ��� ��"������� ��

��"����3����� B� &56&� ��"?� �� ����� ���� �� ����#���7�A�� B� ���������� �� ������"�� ��

&56&�)����������#�"�����������"��T�

� �� ������ ����� �������� -���"����������"�� ���"����������"����� ������� ��#���

� ����#����������������������*�������"����"������������������������������

����� ���� ��������� ��� ����(��� ���������"�� �� #��� �� ���?���� ��#����"���� 5���� )�

���"�� ����������� � ������"� �� ���?���� �2������ ��� "�������� ��������� ��#����

���������������"����������"������������.�������������X�

� &��� � ��� � ������� -� �� ������� ��������"�� ����"�1�� ��� ����� ��� ��������� ��

�������.��� ��#����"������ ������"� ����������B�������������������� "��� ����T�

���������� ����������"�����������"������"��!��������"� ���������������"��

��� ��"�!� %��� �� �� �����"��� �� ������"��� ���"��� �� ��(�����"�� "�����?���� ��

�����"��X�

� #�A��� � ��G����� � � ���� � ��� � ������� -� �� "�������� ��������"�� �2����� ��

����������"�� ������ �� ���"�,�� ��� ������ �� ��� ��� �(��� ��� �"���(� ��

���+�"�����������"X�

� 8<����� �-��������"�!���"����������������"���2���"����������������"�%?��"���(���

B�� ������ �� ��������� �� ��������� �� ������"��� ��� �����.��� �� ������ ��� �?�����

����������������)������?.�������"���C�����QLF��������� ���������������������������,�����

����?�������������"�������������"�!����)������"�����"���#������"�!����%��"������"���

��?�������

�3� 1 ���:��:D�@�

B������������� �0�A$��������������"��� ������������ ������"���#���)����"�����7�A��

<��� �������� ��� ��#����� �2���"��� �� ���"��� ����� ���.��� �"�����(�� ������ �������

���"���� �� ��#���� �� ���� ��� =�� 0�A!� �� ��������"�� �� ���"�� �� ��� "��� ���

���������3�������������������"������#����������������!������"���� �������"�������

� ������������� ��� ���6����� ��������.�������#��������$��A���������E�E��

Page 40: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

28

Ë�Ì>Í Ë�Ì*Î Ë�Ì*ÏÐ Ð Ð

Ë�Ñ�Í Í Ë�Ñ�Í Î Ë�Ñ�Í ÒÐ Ð Ð

Ó*Ô�Õ Ö ×ÙØ

Ë�Ñ Î�Í Ë�Ñ Î Î Ë�Ñ Î ÒÐ Ð Ð

Ó Ô�Õ Ö ×ÛÚ

Ë�Ñ Ï�Í Ë�Ñ Ï Î Ë�Ñ Ï ÒÐ Ð Ð

Ó*Ô�Õ Ö ×ÙÜ

Ý8Þ ß�àCáCâ¿ã�ä�å æCçCãCå

è�Ì>Í Íè�Ì>Í Î è�Ì*ÎCÍ

è�Ì�é�Íè�Ì*é Î

-������3��1 ���:��:D�@3��$��� ������*���� ���6������������ E������ ������*���� ����6��������� ������ ������2$��� �� ���������� ����6���� ����������*���� ���6������ ���3�

������ ����������"�����������������#�������������������2�������������"������T�

(;$<���"J;$J!�HJ<!���!�"�;$�!�H�<!��2>�###>���>�

����(;$<�)������� ���������"J;$J!�HJ<!���!�"�;$�!�H�<�)����������"�* �������������.�����

��#�����������B����%��"����"����"���$J���$��^�$��B��?"�����"�;$�<!��I�2>�3>###>!!�� ������.���

����#������������+!�+�I�2>3>###>�!�� �����"���.���������"�;$�<��

B������� #��� $J���$�� ^� $� ��������� #��!� ��� 0�A!� �� ?"���� "� � ������"� ����

�����������"��"������"����"��$����"������$��

8<��� � �3�F� '�������� ��� ��"��� ���"��� �� ��"���� �� ������ ������� ��%�� ��#���� ������ )�

��������������2�T�

Filme(título, ano, diretor, gênero) Americano(nome) Crítica(título, crítica)

B������ �T�����"�����������")�����)�������(����������"�����������������"���

��JQLD������"��� �-�������")�����"��������(�����������JQQD��

&������ #��� "����� ��� ���"��T� �J$�2!� ���"���� "�"����!� ���� �� ���"����� �� ���)���

������������(�����������JQLD����K$�3!����"�������"��������(�����������JQQD��=��

0�A!��1��������������������������"���������������"����1�����T�

F1: V1(título, ano, diretor) � Filme(título, ano, diretor, gênero), Americano(diretor), ano > 1960, gênero = ‘Comédia’ F2: V2(título, crítica) � Filme(título, ano, diretor, gênero), ano > 1990, Crítica(título, crítica)

B�������#������� ��� ���"��J�2� �����"��� ����.�������� ��������!�� ��� ���� ��3��

���"��K������"�������.���������� �-���!�����������E�O��

Page 41: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

29

ê ë

ê>ì

í�î�ï�ð ñ ò

ó�ô

í1î8ï�ð ñõ

ö>÷�øCùCú�û�üþý�úþû#úCý�ÿ ü������

ó

-������3"�1�DF�8<��� 3�-F�-��E��F������� ����F�������3�

�3�3� �� ������ ����� ��������� �1�D�

=������#���0�A!����"��������� �������"���������.���#���� �������������������#����

������ �� �� ������"�� �� ���?���� � �� ������� �������� �� ����� ���� ����� ��#����� ��

��������� ����������"�����0�A���"?����"���"�����������������������������������

������"����������.��!�#��������"����"����������������������?����"��� ��������������

�����+��������������������������������������������"������T��"���(� ����

������"�!����"��� ���������3���������������!���"���� ��������������������������

������ �� ��������� C/�DEF�� � 5���������"�!� �� �������� ���� ���� �����"�� ����� ��� �������

&���������������"��������������#����������$���������������������%��"�������.���

�������2!���!!�����������������#����� ������T�)���������������������!�����������

��������"����2!���!!�_�

=1�����������"�����������"���������������� ����������"�T����������.����#������"�����

���������.����2�����"�����"����

�� ��� ����C0��HDDF��:��������.����#������"��$��&���������������"�����������%��"����

���.����^�2!���!!�����������"��8����?������������� ���#������"��������������T�

� �8��������������������.������!���

� �8�)��#������"������

�� ��� ���� C0��HDDF��:��������.����2�����"�����"��$��&���������������"��������

���%��"�� �� ������.��� �� ���.��� � ^� 2!���!!�� �� ������"� �8� ���?� ��� ��������� ��

�2�����"�����"��������������T�

� �8��������������������.������!��

Page 42: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

30

� �8���"?����"������!���

� � ���2��"�������������� ���2!�"��#����8�⊆��2�⊆������2�� ��)��#������"����#�

B� �������� �� ��������� �� �� ������"�� ���� � ��� ����� �������� �� �����3���!� �� #���

���� ���� �2������ ����� ��� ������� ��� ���� �� ����"�� �� ������.��� �� ���"��� �� ���

�����!��� ���"����������� �������"������������"���������� ������"�������������"�

����������#�����������>��"�����!����-����(���#������"����������������"��������"��

�"�����(�� ��� ������"�� ������ �� ��#���� ������� S���� ��� ������"� �� ���?���� )�

�����������#���������!�����������������"�!����"�"�!���������"���������������������

��� ������"� �� ���?���� ��������� �� ������"�� �� ������"�������"����� ���"��� ������

B������������������� ����������"����0�A!����������������#��������2������E�E�T�

8<��� ��3"T�'�����������������"�������������#�������������2������E�ET�

Q(título, crítica):- Filme(título, ano, diretor, ‘Comédia’), ano ≥ 1950, Crítica(título, crítica).

G��������������"����������� �T��

Q´(título, crítica):- Filme1(título, ano, diretor), Crítica2(título, crítica).

B������� #��� � ���"��� �� �!�� ≥� 2JKB� � �� ���� ���!� ���"�� #��� ��� ��� �� ���"��� %?�

�"���(������������� ���B�������#���������������� ��� ��)��#������"��*�������"��������!�

������1���"���������������(������������JQQD�� ��)�!������������2����3�� ������������!�

���)�������������������

=�� ���"�2"�� �� ��"���� �� �� ��!� �1�� ������� �����"��� ����� �� ���������.���

�2�����"�� ���"��� #��� ����3��� ����������� ������"�� ���������� ��� ��� � ������"��

A?����� �����"���� ������ ��� �������� C0��HQL!� 0��HQL�F� �� :����� 5������� C>����IQM!�

S��QQF� ����� ������"��� ��� ���������� ������"�� �����-��� ��� ���.���� G��� �����"����

�������������������.����2�����"�����"������ �����������"�������"����������T�

�3�3� ��� �� �������� ����/��H����

B���%�"�����������"����������C0��HQL!�0��HQL�F�)��������������������"������?����#���

��"?����������������#�������������������"��#����������������"���"��*�����"��������

����������!��������������.�������������#��������������)������������������"����������)�

� ������"�T� �� �,����� �� ���������.��� �� ������"�� ���� ���� ��"�����"�� ���(��� ���

����������������"���������%�"�����������"����"����������#�������.������������

Page 43: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

31

������"������ �� �����%�"�������� �����%�"���� )� ���?"����#��� ����.�� � ������"��������

����!�������������"�*;$<T-��J;$J<!���!���;$�<!�����)���������%�"�����

>� ��� ������"��!� �� �����"��� �������� ��� ��� �"���� 5��������"�!� ���������� �?���

������$�)����������������%�"���������'�����������"��?����.���#���� ��������"������

��������� �� �����%�"���� �������"�� ���������� ������ �� )� ���"� ���������� ��� ��� ���"����� ���

�����%�"���� #��� ����� ���� �������� ���� �� �����%�"���� �������"�� �� �������� \� �����"�"��

��������#��������������������"����,�"����������3������������� �!��������"��������"���

��������������%�"����#�������������������������������%�"��������������=��������"�!�

��� ����� ���"�� �� ������"� )� ����!� ���������� ��� ��� �� �� ���������� B� ����� )�

���������"��)����"��"��������������������"?����"�����������"����

8<��� ��3�T�'������������#������������������������T�

Alocado(estudante, dept) Matriculado(estudante, curso, ano) Curso(curso, número)

'�������������.���2!�3!�4���L����2!��3!��4����L!�������"�����"�T�

F1: V1(estudante, número, ano) � Matriculado(estudante, curso, ano), Curso(curso, número), número ≥ 500, ano ≥ 1992. F2: V2(estudante, dept, curso) � Matriculado(estudante, curso, ano), Alocado(estudante, dept).

F3: V3(estudante, curso) � Matriculado(estudante, curso, ano), ano ≤ 1990. F4: V4(estudante, curso, número) � Matriculado(estudante, curso, ano), Curso(curso, número), Alocado(estudante, dept), número ≤ 100.

&���������������"��T�

Q(E, D):- Alocado(E, D), Matriculado(E, C, A), Curso(C, N), N ≥ 300, A ≥ 1995.

���������.���%!��!� !�����M����������!�������"�����"�!�������!��!�����!������!��!����!E������

=���������������!��������"���������������������������%�"�����������"��B������"��

)����"�����G���� E�J��B�������� ���������;%>��<� �������?� �����.���3� ��L!����"��#��� ����

�������� ��?"���������� ��� �����������"����B�������� ������������;%>� >��<� �������?� ��

���.���2!�3���L������ ��4�� ��)�����������������!����#����������������≥�2JJK����!��≤�

2JJB�� ����"����"����������"��"��$�� ������!������������ ����; >�M<��������?����� ��2������ ��

L� � �� )� ������� ���������!� ���#��� ��� ��������M� ≥� 4BB� �� !E����� ≤� 2BB� � �� ��"����"��

Page 44: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

32

��������"��"��$��

Alocado(E, D) Matriculado(E, C, A) Curso(C, N)

V2(E, D, C’) V1(E, N’, A) V1(S’, N, A’)

V4(E, C’, N’) V2(E, D’, C)

V4(E, C, N’)

2���� ��3��� ���I� �� �����H���3�

=�� ������� ����� �� �����"��!� ���� ������� ������"��� ������������ =�� �2�����!� �,����

������� �����������#������������������.���)��%��� ����2���3�����������T�

Q'(E, D):- V1(E, N, A), V2(E, D, C), A ≥ 1995.

��� ���?���� #��� ������ ��� ���� �� ��� �����%�"���� � ������"� )� ���� �� ���?����

�����"�����=�������"���&A/�C6�"�DJF!� �������"���������"���������!���������� ��������

����������%�"�����<�"��"�"�!������� ���1����?���������������������1�����"��"������

��"��"��� B� &A/� ��"���(� "��)�� �������� �� ���?����� �����"����!� ��� ������?���!� ���

���"����(�� �� ���"���.��� �� ������ �����"�� ��������?����� �����"������ '�������� ��

���?����� �����"����� ���")�� ����� ���.��� #��� ������� "���� ��� �����%�"����� #��� ��

���?����������"�������������

B������"���6���'���C �""�����DDF�������!�������������!������������#����������"���

&A/��B�����������"�������������"��� �������?����������?����������"�������������"��

=����������"���������"���6���'��!�����! �!���������!��6'>$�����������"���������

������ ��� )� ����������� ���"��� ��� ���%��"�� �� �����%�"����� ����� �� � ������� ����

������"���B��6'>��������������6'>�C �""�����DDF���������"���6���'��������������!�

������"�����"�!��� ���������������%�"��������������������?����������"�������������"���

&A/�� =� ������ �"�!� �� �����"���6���'��� ������� ���6'>� �� ���� �� ���������.��� ��

������"���<�� C �""�����DDF!� )����"���#����� �����"���6���'�������"� � �������������

�����"�������������������"���&A/���������"�����"���

B� "������ �� C/�DEF� ���"�� #��� ��� �����"���� ���� � �� ��������� ���"���.��� ��

��"�����!� "��� ����� ����3����� ����������� =����� "�����!� ����� ��"����� ��� �����"����

�����������������������������"������������.�����������"����������.�������������

������3����������������

�3�3� ��� �� �������� ������������5������

���)���������������"��������������������C>����IQM!�S��QQF�)������"���������%��"��

Page 45: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

33

�� ������ ����� ��"���� !(������ #��� �����"��� �� ������.��� �� ���.��!� ��� ��%!� ������ #���

���"�������������"�� "�������� ����.��������������� ���"����� "����������.����

>�����!� ����"�"���� ���?����� �2��"������� ��� ������.��� �� ���.��� ���� ����.��� ������� ����

����������� ������ ����������� ��������� ������� ������"��!� �"���(���������%��"����

���.����)�����������"������������� �����������������������������������)"�����

"�������� �����C>����IQMF�������)"�����%��� �-������� �����CB��DEF��

�� ��������� ��"���� ��� �����"���� ������ ��� ������ �������� )� ��� ����������

������"������� ������ ����������������� ����"�������� "��������������� ��������"����"��

�������"�� ��)�!����#�����"�������%����������!����������� �����"��?�������#��������

����������������.�����������"����B���������������������������������"���"���������2���

�2�����������

8<��� ��3)F�&������#���"��������������"����� �T�

V3(dept, c-nome) � Alocado(s-nome, dept), Matriculado(s-nome, c-nome).

'���"�1�-���������������������"�����%��� ��������������� �T�

Alocado(f1(dept, X), dept):- V3(dept, X). Matriculado(f1(Y, c-nome), c-nome):- V3(Y, c-nome).

5�"��"�����"�!�����������������"3��������������#���������������"����������;����>�!���<�

���2"��� ������ ��4�)����������������"��������������.����������������������������

���������� ����3� ����� �������.��� ������� �� ������� �� ���"��� <�� ��"�����!� ��� �(� ��

������"�T�

� ����� �������������")�����"����������;H>�����<����������������]X�

� ����� ����������������")�����"����������;H>�!���<�������� ��������]��

���������2�������#�����������������������Z�)�����������������?"����!����������

�����������������f1(dept, nome)��<������!����-��������������������������"�����?����

�2��"������ #��� ������ �� ������ �� �� ���.��� �� ������ ��������� ���������� � �� ����� ���

�������������������������

����������� ���������"��������������%��"�������.����)�����������#���������T�

� �������������������X���

� �������"����

8<��� � �3(T� &������ � ������"��� ��� ��� ���"���"��!� ��%��� ��"��"��� �� Z/���� ��

>��[���" �������!�

Page 46: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

34

Q(dept):- Alocado(s-nome, dept), Matriculado(s-nome, “Banco de Dados”).

������ ��4����������"����T�

{(CS, “Banco de Dados”), (EE, “Banco de Dados”), (CS, “IA”)}

���������������������������"����������"���"����T�

Matriculado: {(f1(CS, “Banco de Dados”), CS), (f1(EE, “Banco de Dados”), EE), (f1(CS, “IA”), CS)} Alocado: {(f1(CS, “Banco de Dados”), “Banco de Dados”), (f1(EE, “Banco de Dados”), “Banco de Dados”), (f1(CS, “IA”), “IA”)}

���������������"���������2"���.������������"�����������"�� ����%%��

�3�3" ������������ �� �� � ��� 6���1�D�

B� ���"��� �� ��"���� �� �� ��� G�I���� C5���QQF� �"���(� �� �����"��� �� ��������� �� ��

������"��6���'��������������������"������?��������������#������������������"���

�������B� ���������� �� ������"�� ��G�I���� ������.�� ��� ��������� � ������"� �"���(���

����!"��������������7�����!� C5���QQF��B�G�I���� "����������������"������������#��������

�����������������!�����!(��"�!��������!��������<��������������"�������"��#��������"����������

����������������"!��2���"�-������������"��"����!������������""��"���������"�����"�������

����������������������B����������"�����������������������"����G�I����� �T�

J� ����� � ���� ����������� ��-����"?����������"�����������")�����"���"�������

��"��������������"�������������B���������������)�������� �����+�"�����

���"�,�� �� ���"���� B� ������� � �� �������.��� ������ ����� �� ���"���� <����

�������.��� ����� ������ #��� ��� ���"��� � �� �������!� ���� �2������� �������"�!� ��

�"?������������"�����""��"���������������!�"������������"���������!���"�����

������.��!���"�����"��X�

K� �� ������ � ��� � �������� -� ��� ������"� ������ �� ��#���� ������ )� ��"������ ��

��������"������������� ����������"�!�#���)��������������"���6���'��X�

E� #�A�� ������ ��������-����"���(�����������"��"���������������"����������

��� ��� ����� �� �2���� �� ��� � �2���� �� ��� ��� ��������� B� �"���(��� "��� �

��������������������������!�������""��"�������������%����������������"���<���

"��)������(� �������������������������"���"�� �""�������"���� "�������

�2���� ���

Page 47: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

35

�3" $� ���:��:D�@��<�1 ���:��:D�@�

'�����������#���� "���������"�����������"������=��7�A��"��������������

��� ������"� "���-��������� ������2!� ���)�!� � ������� ��� ��#���� �� ���"��� ��� �

���� ���������� ��������������"�!����-������(�������#���������� �!���#���)����

"�������"�"��������2��

B�0�A!����"������"����7�A!�"���������������������������!������%!�?������"���

�� �� �� ����� �� �� ��� ���"�� ���� ����� ������2��!� ���)�� � "���� �� �������� ���

������"�"���-������"��������2��B�0�A����"��������������������� �������"���.�������

������������������"�,���

�3� #��� ���� 6����

��)�� �� 7�A� �� 0�A!� ��"���� ����#���� � �� ������"���� & �� ����� �� ������������������

�70�A$�����������������/�A$����������!���������������������"���������������

�3�3� $� ���:1 ���:��:D�@�

0����������������� ���� ���"���� ��������?���!����"��#���������.�������#����������

� �� ������������ �2"���"�� *�� ����.��� �� ���"��� ������� <2��"��� ��� �(.��� ��� ������

�������!� ��� ��#������� ���"��� ������� ���"3��������"���������� ���"����� ��"��� ��� �� ��"���

���� �� �� ��#���� ������� &�����!� ������ #��� ��� ������"��� ������� �� ��#���� "����� �

������������ �!��������������"���"����"������������"�������.����������������!���"��

������������������"���������(�.�������#����$�� ����2�����!������#�����������������

��(����"�������"����"��������������������,�������� �!���#��"����"�������������

�����������������!�����������!��������!���"�����"�����

=��0�A������7�A!���������.��������"�������������������������"�������������������

�������� �������"������0�A�"��������T�

(;$<���"J;$J!�H2<!���!�"�;$�!�H!<!��2>�###>���#�

���������.������0�A�"�"����������������#�������������")���"�����#���� ����" ��

������"������"��������"���Y���#���������� ��������"����2�����!�������� ��������#���

� �� "��� ���������3���� ��� ���"��� �����$��=��7�A!� �� �������� )� �������T� � ���"�� ���")��

�"����� � �� ������"��� ��� ��#���� ������ ��2�����!� ��� ���"�� ����� #��� � �� "��� ���

���������3��������������� �������$����������� �������"������7�A�"��������T�

Page 48: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

36

(J;$J<!���!�(�;$�<���";$<��

��� ������.��� �� ���"��� ������"�� ��� 0�A� ��� 7�A� "�(��� �����#V3����� �������"��

�����%?������=�� 0�A!� �� ��#���� ������ ���� ���"��� "���� ��� "����"��� �����"������ �����

�,�"��������"��!�������#��������� ����%������"���������������"�������"���� ���=��7�A!�

���� ��"��� ��!� "��� �� ����.��� �� ��#���� ������ ����� ���� ����.��� ������"��� ��� ���"���

�������������������"�����%��"���������������

>��������������������!�)�������"����70�A�� ����������������$�C������QQF��B�70�A�

)��������������������� ��#������������������2���������"�"����0�A�#��"����7�A!�

�����"����������.��� ���2����������#����� ��������"�������"�������"�������������"����

��������"�!���������� �����70�A�)����"��������"������T�

;$>�N<���"J;$J!�H2<!���!�"�;$�!�H!<!��

���������%��"��H2###H!�∩�N�^�∅���;$>�N<���������������%��� ��������.�������"�����

������������������"������������"������������"����70�A����������������2�����������

0�A���7�A��������"��#�����������.��������"������"�����������"������������������������

8<��� ��3!T�>������#���������� �T�

profDe(professor, departamento) cursoDe(curso, departamento) chefeDe(professor, departamento) prereqDe(curso, curso)

B������� ��� ������"�� ��� � ���� �� �����*��!� �"���(��� 70�A� ����� ��������� ��

������ �T�

prereq(C, C’) :- prerequisito(C, C’). prereq(C, C’) :- prereq(C, C’’), prereq(C’’, C’). prereq(C, C’’) � prereqDe(C’, C).

=��70�A!� � ������3���� �� ��#���� �����!� � ������� �� �� ���� ����� ���"��� �� �

������2������������� ����������"��� ����������0�A��<�"��"�"�!������)�����������

��������"��"������"������1����������������������������0�A������7�A!�70�A��"���(�

���"�����������������������2������#��������"���#��������� ��������������.�����������%�

������ ��������������.�������������������.������������"�!�"������"���"���������*��

→�* !�����*��)����������"����%��"������������#�������"����* �)����������"����%��"���

����������#���������������������������"���(������"���*��→�* �����������"���������

�� ��� ����� �!� ��� BG

DS qq ⊆ �� � 6������ �"����� ����� ���� �����"���� ��� C������QQ!�

0��(�����DKF��

Page 49: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

37

B����"�������"���� ���������������R60!�6�:&�C>��"���DEF!��"���(�70�A�����

������ �����������"����

�3�3� / �,:��:D�@�

�� ����� ������ ��� ���"���� �� ��"���� �� �� ��� )� ���������� �� ����� ���� ���

����#���� 7�A� ��� 0�A�� ��� ����"���� �� 7�A� )� #��� ���� � �� �����"� ������ �� ���

��#������������0�A��������������������#������������"�������"����������������

�� ����� ����� ����� ��#�����<�"��"�"�!� 0�A� ������"� ��������� ��� #������������� ��

��#�����������>��������!�"�������������������� �������.��������#������������� ��

�������"�� �� �����.���� <�� C6�/����DEF!� )� ������"�� ��� )��������� ����� ��� ��#V3�����

��������������"��������.�������#����!��������"��������.���������&��<���������"���

����#�������������� �/�A$!� ��� #��!� � ��"��� ������ ������&�!� )� ��������� �2"���� "�"�� ���.���

7�A�#��"��0�A������������"�!�/�A������"�� � ������ �� "�"������#����������#��"��

�����#����������!�����������&�������������������"����"������������

B�/�A�������������"��������"�������"���� ���������"�6��C9����DEF����"�6��

��"?� �� ����� ���� �� ������ �� ��� 8>6� ��&���"����������� ����� �����$� C6�/����DEF� �� ?�

�����"�� � ��� ���%��"�� �� �����"���� �� "��������.��� �� ��#���� ��� ����� ������� 6���

�������.������C9����DEF���

�3) �� ������ ����� �������������� �������� ������:� :�����

B� ����� ����� ��� ����������"�� �� ������"�� ��� ��� >6&� C������DK!� �����DE!�

/����"���DK!�8���HDE!�B��DEF�)�� ��������� �������������"����������� ��������"����������

��� ��� ������� ���+�"���� ����������� B� >6&� ������ ��� ��� ������"� � ��� ����� #��� �

����������������������(�������<�"���"��)�������������������"�����������(�������������

������"���S�������������� ����������������#�����(������!��������"��������)�

�����"��������������� �� ������"�� ����������������� �����"����'���������� "�������"��

� �����"3���������.���������"����������������!�#��#���������������"���������"�����������

����� ������"��� �����!� ������"��� �������� ��� �� ������ ����� ����� ������ ������"���

�����"��� ����2�����!���������K�E���'��"����K!��2��"�����������������"�������������������

���������!��'��������������/�� �����������"���������%�"��!�������������%�"�����������

� �� ����� ���� ����� ��� ��������� ��� ������"� ��� ����!!� ���� ��%� ���� ��� �������

"��)�������/�����������"��)����/��+��������� �������"��������2������$��

Page 50: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

38

&�������"������������������+�"��������?������������������"�!����"��#��T��

� B������"����������������������#������������������"�������"�����"�X�

� B� �����"��� ���� ������� ���� ���"��� �������� #��� �����"�� ��� ���������.���

�����"��� ������"� ��� ��� ������"� ��������?��� �� ����!� ������

��������"�����"�������������$X�

� <�����"��� ����� �� �����"��� ��� ���� ���� ���������.��� ���������"��!� ���� �2�����!�

������"�� ��� ������ #��� ����� ���� ��"�"�� �"���(�� �"��� �� ������ �2���"���

<2�������"��� ���"��� ��� CG"�����DOF� ���"��� #��� ����� �������3����� � �� �� �����

��������������������������"���������"����� >6&��

B� "������ �� CG"�����DO!� 8���HDEF� �������� ������ �)"���� �� �"���(� �� ��

��������� ���� ������"�� ��� >6&� �� ������� ����"�� ����������%��"���� �2�������"���

�"����� ���� ��� >6&� ��������"�� ������"���"�!� �� �((�� =�� �((!� ��� � ��

������� ���R60� �� ������ ��������"�� ����� ��#����� ���R60� &������ �� �����"��� ���

�"���(� �!� ����� ������������ ��� ���%��"�� �� �����"���� ��?"����� ��� ����������"�� ��

������(� ����������"��R60��

�3( � �������*��� ����

=��"�����"������������"���������������������")����������������� ����������"��

������"��������"���� ��������������������")����������������� ��������"����

#�����" ��������������������#����0�A���7�A��� "��)����������� ��������� ����

������"������������������������������>������"��������#���!�70�A���/�A!�����������"���

���������"���

=� ��������� �� ��� 7�A!� ���"���� �� ��"���� �� �� ��� ����� ������(��� ��� ���

���������"������"������������������������ ����������"���'�������7�A����������� ��

)��������"!��������������"����������"����B���%�"��������������"�������������� ��)�

�����"�� ��� ���%��"�� �� �����"�� �����"�� ��� ������"�� �����"��� � ��� ���"��� ��

��"���� ��������B������"������"���"��������������������"����"����������������������

������"�������#����������"������������������������#������������"�������"������������"��

�� ��������� �� �� ������"�� ��� 0�A� )� ���"�� ���� ������2� �� #��� � ��������� �� ��

������"�����7�A!���������0�A�� ���������������"��#�������������������"�����2"��� ��

�����"�����������"�������#����������Y����.�������������#�����������=��7�A!����

Page 51: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

39

�� ��������"�� �� ��#���� �������� )� �����"� ��� ������"� ������ ��� ��#����� �����!�

�������������������"�����2"��� ���������������"�������������"����

=���������� �����0�A!�����������������������"��������������������������"�

�� ���?���� ������ �� ��#���� ������ ��� ������"�� ������ �� ���"��� ������� >���� �����"����

���������� ������������ �� ��"��"��� ����� �����T� �� �����"��� ������� �� �� �����"��� ��

:�����5�������������������.��������������"����"��)����������"��!���������������

��������������!� ��6���'��� �� ��� "������ #��� ��"���� �� �����"���������� ��� �� �����"�� �

����3����������������

��� ���!� ������ ��������� �������� �������� � ��������� ���� ������"�� �����������

��� ��������������A�����#����������������������������"���� ������"�� ������ >6&�)� �

��������� �� �� ��� ������"� �� ��� ����� ������ ��"���� ������ ��� ��� ������� ���+�"����

���������!� � �� ����� �������?���� ������� ���� "���� ��� ������ �� >6&� ���� #���".��� ��

�����������

=�� ��12���� ���"���� ������� ��� ������ �� �� ���%�"�� 5�"���� �� ���� ������������ ���

�������������������� ����������"��������"���

Page 52: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

40

������� �"��

#�$������� ������ ��������� ���������

B���%�"������"�� "������)������������ ��������"� ����7�����������'�����"����

��� ���"��� �� ��"���� ���� ��� -� 5�"�����B� 5�"���� )� ��� ���"��� �� ��"���� ���� ���

������"�� ���� C01����DEF� ����� ��� �������� #��� �������� ��� ��� �� ��"���� �� ���

��"���������������������"���������"@���������"����3�����B������������������"���

5�"���� ��"?� ��� �"�� �� #��� ���� ������"� �����.��� ��� ���� �� �� ������"�� �� ���� �� ��

���"��� ����������"�����+����������������"������� ��)��������"���������#���

��������"�������%��"��������������"�����"��������#�����������������#���������� �K���

B� 5�"���� ����3� ��� ������� �� �� ��� �������� ��?������ � ��"���� �� �� ��!�

��������"���������"�����"�������"�����(���<���"��)���"���(����������������������

*��������"���������#V��"����G������������������������������(����"�������������"������

������"���

=��"�����"���� �����������������������������������������"�������"���5�"�����!�

��� ��"�����!� ������� �"���� �� 7��������� �� '�����"�!� #��� )� �� ��%�"���� ��������� ��"��

"�������

<�"�����"������"?������(��������������=���� ��O�K��"��������"���������������"���

� �#��"�"��� �� 5�"���!� �� ��� �� O�E� ���� ������������ ��� 7��������� �� '�����"�� ��

������������� "���������������� ��������� ����������"���!����� ���!������ ��O�O� �������

�������������.�����

���������������������������������������� ��������

K�����"��������!������������#����������"��)������#���������� ���

Page 53: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

41

-�����"3����6��������� ���������������=1'�� %��>�

"3� ��6��������� ���������

B�5�"����)�������"�������"���� ���������������"��W�������#��"�"��������"���)�

����������������������!�������������������������%��"��������"�����(� ��

���������������������������<2��"��������������������������������������"�#���� ����

���� �� ��� ������ ��� ��(���� �����"��� �� ������"������ ���#V��"����"�� �����"��� ��

���"����������.���������������������������������� ��������"��� ������#������

��������������"�����+����������#��"�"��������"���5�"������"?�����"����������O�J��

����������������������#�"��������"��T��������� �!�������������������� ����

��� �!�����������$����� ���4�������� �� �4���� �� ������������B���� ��G���

�����"���� �������"������������

"3�3� �������� ��

=�� ������"�� '����� �����"����� �� ���"��� �� ��� #��� ��"������ �� ���"��� ��

��"���� �� �� ���� <���� �����"�� �������� �� ���"��� �� ��"���� �� �������.��� ������ ���

��#����������"��!����������������"�������������������"�������"������������"����

�������B�������"��'�������"?����"���"�� ���������������������"����5�"���� ����

>��� �� ������������"����7��� ����6��"��� ����6����!� ���������������� ���.���

Page 54: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

42

������"����

B�������"��'�����)�������"������������������G���������������$�����������"��������

#������ ���"��������������

4����@����

B�����������)����1������������"��'������������?�������� ��"������������������"���

������"�� �� 5�"���� �� �� ��� �� ������"�� �� 7��� �� �� 6��"��� �� ��6������ &����

�1������ ���������������G��������

� 1 H���-�&��"����)��2"��������#���������"���#�����" ����"���������"�����

��"���� �� �� ��� ���� �� ��"��"�� �� ��"��� ��� ��#����� �� ���"��� "���(��� ��

>&U/���������������!�����"������$��B��������"��)��"������������"��(�������#����

� ���"������� ����"�������������"����B�������� ��"�����������7�����������

<�#�����'�����"�������������"����7��� ����6��"��� ����6�����X�

� J�������-�����������"������G�������)�"��(�����������"�������"������������"��

����������� �� �� ���"�� �� "��(��� ��� ��� ��"������ ���� ���"�� ��� ��� ����"��

�����������"����<�"�� ����"���������� ���"���)�R60�#��!���������������

���2������!����������������"�������������������������������"� �!�"������

��"���� ��������

- ����������� ��

��� ���"��� �� ��� ������"��� ��� ������"�� '����� � �� �� #��� "�� �� ��� ����� ���

����������(�����������"�������"���� ���& ����������"����"����3�������������"�������

���"����������"��������"������������"��'����$!��"@�����������������������"����"��

�����"�������"���� ������$�����+��������������������.������#V��"�������#���$��B�

���"��� �� ��"���� ���� ��� ���� "��� � ���"����"��� �� ����� "�"�� � �� ���� ��� ����

���"�!������� ����������"��%?��2��"��"�����"���.���������#����������"���������������"��

������������.���������������������������"������

"3�3� ����������$����� ���4�������� �� �4���� ��

B�� ���������� ��%�"����� ��"�� �����"�� � �� � ���� �� �� � ���"��� �� �� ������ �� ��

������"�������� ���B���1�������"�������"��� ���"��������������

Page 55: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

43

$������� �����8�6������ ��������

<�"���1����"�������� ����������������"���������?���������"���(� ������#������

���� ������������������������"������������"�� ��������������.��������"�������R60�

������!�/����""��01����� ��� C01����DEF�����@����������� ������"��� ��������R-<�"�"H��

G�"-��� �� ��� �2"��� �� �� <:� C'���MLF� ��� ��#����� R60�� B� �1���� 7��������� ��

<�#�����'�����"����������"������#�����2���"����������������?��������������#����

��� ����"�� R-<�"�"H�� <���� �1���� "��)�� "�"� �������.��� ���� ��#����� �� ���"���� B��

������"�����R-<�"�"H���� ���"�����������"���

��"��� � ���� �� ��� ����"��!� ������ ������ � �� �������� �����7��������� �� <�#�����

'�����"���T�

� <2"��-��!�"��)����������!�����#���� �R60�������$� "���� ���"�� �����#�����"?�

���������X�

� '�����"��>&U/������"��������#�����R60�������$��"��������"�X�

� G�����������������#�����#�����" �����R60�����������R-<�"�"HX�

� '��������������#����X�

� <!��������"�!���"���!�"��)��������"��!��������"��������� ���

<�"�������"���� �������������7�����������'�����"����6��� ���

� ���� ��K:8���L�

B����������������"����������R-<�"�"H�)����"��������"�����������"����"��"������

������"��� R60� ������"� ���� ��"���� ������"��� �� "����"���� =�� ������ R-<�"�"H!� ���

����������"��� ����� ���� �� "���� ��!�O�� ���� ������"�� ��"?� ���"��� ��� ��"��� ������"�$� ���

��)���!�������������"��������������"���������"�$��&���������"����T�

� 8�������-������"���%!����"�����%�� �̀J!���!���a!� �̀J!���!����a$!�)�������"�����

�����"����������%!�������%��"����"����"����J!���!�������������%��"��������.���

�J!���!� ���� ��� ��"��� ��������"� ��� ���%��"�� �� ������"��� ���� ��� ��"��"���

������2!�������"���"����"�������"����������"���������������������"��$�����

���"+���� �� ��� ��"��� )� ��� ������"�� ��"������ ��� ������"��R60� ���"��� '�

��"���"���"����"��� �̀J!���!����a�#����������������"����"������������"�"�"�����

"����"�� #��"�� ��� ���������"�!� #��� � �� )� ������"�� ���� ��"���� ������"��� ���

"����"��X�

Page 56: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

44

� ����� ����� � � ��M� -� ��� ����������"�� ��!�O�� ��"��� ��� ��"���� %� �� %2!�

����������#��������"+������%����")�����"+�������%2��5����)����"��������%!�%2!�

��!!���7$$!�������)���������������������"������!!���7$����������,������������

���?2������ ���"+���� ��%2� #�������� ���� ������� ������� ���"+���� ��%��=���

������R-<�"�"H!�����������"�����!�O��� ���2����������������������"��������

�� "�2"�� ��!�O��� �� ����� �����"��� �� ����������"�� ���� �� ��"���� ��"�����"��� )�

�����������"���%�������"���%2X�

� ����� ����� ��� �������-�������������"����)���!��!����"�������+�%2!�%3!� �̀22!�

���!��2!a!� �̀32!� ��!��3!a$!�����������#������"���%2� ���������� � ��"���%3� �� �̀22!� ���!�

�2!a��� �̀32!���!��3!a���������"�����"����"����������3������"�������"����%2���%3�"��

#�������������2�!�J≤���≤�!����#��#������"���%2�����"�������������������3�!�J≤���

≤�!����#��#������"�����%3��=���������R-<�"�"H!�����������"����������3����

� ����������"������������������"�����������"�2"����)���!�����������#��������"���

��"���� ��"�����"��� )� �������� � ��"��� #��� ���������� ��� � ��"���

�����������

B������� �� �2������ �� ��� ����� R-<�"�"H� �� ������ O�K�� ������ ������(�� #��� �

��"����(������")��������������"���� ��-�������"��)�����������������"���%�������

��� � � � �� �� ��� ������� � ��� �� �

������ �� � � � � � � � �� �

� � � �!� � � � � ��� � � ��"#� �

����$�

� � � %'&��

-�����"3��8<��� �������������K:8���L�

� ����� �����8�6�����

<�"���1���� "�������� ���� ���"���������������3����� ��"������������"�������#������

5�"��)!��(�������?��������"?"��������+�"�����������"��"�������������#����������"��������

�"���������#����� ����������"�������������"������������"�������"�����#�����

$���� ������ �����������4����� �

B�7�������'�����"����6��� ��)��������?�����������������������"��������#���� ��

������"��� �� �����"� �� �� �"������ ������"� �� ���� ��� ��)�� ����!� ��"�� �1����

"��)�� ���"����� ��� ���������� ��������� #��� ��� �� ����� ��"��� ��� ������"��� �� ���"��� ��

Page 57: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

45

����

$������� ������ �����������4����� �

<�"���1������"��������"���"��������7�����������<�#�����'�����"�����&�����������

���� ��)���������������"��������������7�����������<�#�����'�����"���������#����

�� ���� ��� <�"�� �1���� )� ���"���"�� �������?���� ���� �����"��� ��� ��#���� �� ���� �� �

�� �!������� ������������ �������"������������������"�������"���� ���

�5���� ������ �����������4����� �

<�"�� �1���� ����� �� ����"�� �� ������.��� �� �������.��� �� ��#���� �� #�����

������ �� ���"����6)"����� ����� ������������ � ���"�� �� ��� �� "����� �� ������"� � ��

����������"���1�����

"3�3� �������� �B���� �

=��"�� �����"�� � �� "�"�� �� #���".��� #��� ��� �������� *�� ����������.��� �� ��#����"��� ��

���?�����S����������?����������"�#����������������"���%�����������(!������"�������

��!� ������������������������ ���"��� ����!� �� ���"��� )� ��(��� ��������� *� ������"��

'�������"���!���7�����������'�����"����6��� �����?�������������������������� ��

����#����"��������?����������"����

"3�3" ������������������� ������� ��

=��"�������"��� ��"�"�������"�������������� ����������"�!���"���� �����������

������������ B� ��������� �1���� ��"�� �����"�� )� �� 6����� #��� ��� �����.�� ���

7�����������'�����"�� ��7��������������"����<�"����1����� "�"��������� ���������

��"�� �����"�!� �������� ������"�� �� ��"����� ���� B�"���� �1����� ������"��� � �� ��

7���������� ���������7����������������G����������

4���� ��

B�6�����)���(��!�����������������"������?���!������@-��������������"���!���

����������� ������"�� ������ �!�������� � ���"�������#��� ���?� ��(��� ��������� �

�� ��� �� ���������"�� �������� ��� ��(� ��������� �� ������"�!� �� �1���� ����?�

��"���������������"����G��������������������?���������2��������&�� ��O�E��

Page 58: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

46

B������1�������6������ �T�

� $������� �� ��� � �������� -� >������ �� �����"�� ��� ������"!� �� 7��������� ��

'�����"��������������"������������" �����������.���������?�����������������

��"� ������"�� �� ����� )� ��� � ���� 6U/� ��������� �!�����"�� ����� -� /��� ��

'���������"����6����$��<�"���1����"��)��)��������?�������������������"����

������#���".������"���(� ��� �� ����!���7�����������'�����"�� ��"�����������

7���������� ����� ��������7����������������G������������ ��"���� ��������

�� ������� ���������"�� ������� � �� ���"�� "��)�� )� "���� ��7��������� ��

'�����"���B�7�����������'�����"�����?���������"��������� ��O�KX�

� $������� ������- �����-������������"������7��������������"���)���"����������

��� G�������!� ������� ���������"�� �� ��������� ��� �����"���� ��)�� ����!� ��

7��������� �� ���"��� "��)�� ����"��� �� ���"��� ���� �� ��"��"�� �� �"������� ���

�"���������������������"�����(�����������G����������

$������� ��������,��

B�7��������� � ����� )� �������?���� ���� ��������� �� ���"�,�� #��� ��"?� ��(���� ��

�������=��"��������(�������������"�����������"���������#V��"���������3����� �����

������� "������ �� �?����� �� ������ ���������!� ����"���� �� ����"�"��� �� �� ������"��

��(���� �� "���(� ���� ���"�,�����)������!� ��7���������� ����� "��)�� ��"�����

��������"���������������#V3�������������"�������"��������"��������������������"��

�����������(������ ������

$������� ��� ������J���, ����

����������� "���� ��"���1���� )� ����"��� ���� ����������������B�7��������� �������

G�����������������")��������"�����(� ���������������")��"���(����

/�������� �,����� �� �4���� ��

��/�����'���������"����6���������������!�����"�������-�6U/$���(�������#����

������ ���� �� ����"������ ���������3�������� ����"������ ���������3���� ����������

5�"������� ���"���(������������������������� ����������"�����"��������12������ ���

"3�3� ������5������� ����� ��.����

��"����������� ����������������"������ ���������3���� ���C01����DEF�)� �������

����������T�

Page 59: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

47

� %+T����"������"������������"�������������+X�

� %�T����"������"�������#�������� �X�

� ��T����"������#���������� �X�

� %+#�T����"������%��"����"����"������"���%+X�

� %+#�T����"������%��"��������������"������"���%+X�

� %�#�T����"������%��"����"����"������"��������� ��%�X�

� %�#�T����"������%��"��������������"������"��������� ��%�X�

� �+#%T����"������%��"������"��������#����������+X�

� �+#�T����"������%��"��������������"�������#����������+X�

� ��#%T����"������%��"������"��������#���������� ����X�

� ��#�T����"������%��"��������������"�������#���������� ������

=1������������"���������������3���������������"������"�����"�����������3�����

��"��� ��"���� �� ���"��� �� ��� ��"��"�� �� "��)�� ��"��� "����"���� �����"���� ��

���������3���!���������������C&������"�QO!�A��DJF!�� ��"�������������������"���.�����

��"�������������������#�������+�"�������������������"�����������#����"�������

��������� ���� � ���+�"��� ����"���� ��������"��� ��������"��� ��#����� 5��"�����������

������"���"�����������"���������������3�������������������������"���������������"���

��"������������"�������#�����R-<�"�"HT�

� ������5�� ��� � ����� ��.���� ��� �������T� ���������� � ���������3���� ��"��� ���

��"��������#�������"��"����

�� ��� �"3��;������5������ ����� ��.��������������?T�'������������"����%2���%3����

����"��������������3����%2�≅�%3�����������#���%2���%3�� ������"�����"���#������"����

'�������������#������������O�O������2������������"��������������3����)��(���≅�

�(��2��

Esquema de mediação

Livro({título, editora}, {Livro_Capítulo}) Capítulo({título}, {Capítulo_Página}) Página({texto}, {}) Livro_Capítulo({Livro, Capítulo, (1,N)}) Capítulo_Página({Capítulo, Página, (1,N)})

Page 60: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

48

Esquema da fonte 1

Livro1({título1, editora1}, {}) Capítulo1({título}, {Capítulo1_Livro1}) Página1({texto1}, {Página1_Capítulo1}) Página_Capítulo1({Página1, Capítulo1, (1,1)}) Capítulo_Livro1({Capítulo1, Livro1, (1,1)})

Esquema da fonte 2

Livro2({título2}, {Livro2_Capítulo2, Livro2_Editora2}) Capítulo2({título2}, {Capítulo2_Página2}) Página2({texto2}, {}) Editora2({nome2}, {}) Livro_Editora2 ({Livro2, Editora2, (1,1)}) Livro_Capítulo2 ({Livro2, Capítulo2, (1,N)}) Capítulo_Página2 ({Capítulo2, Página2, (1,N)})

(*) +-, . /103234 576 8!9;:<) =?>*@ . /A032B4 5B6 C*D<EF) GA9H HI I

(<) +#, .<J /103234 576 8!9;:<) =?><@ .#K /A032B4 5B6 C*9<EF) G19#KH HI I

L<M'NF>AO;PQ9SR<OTPUO<RF) 9L<M'NF>AO;PQ9SR<OTPUO<RF) 9L<M'NF>AO;PQ9SR<OTPUO<RF) 9L<M'NF>AO;PQ9SR<OTPUO<RF) 9�VV VVXW<.W<.W<.W<.

L<M7NF>1OFPU9SRX9ZY .FGA= O\[L<M7NF>1OFPU9SRX9ZY .FGA= O\[L<M7NF>1OFPU9SRX9ZY .FGA= O\[L<M7NF>1OFPU9SRX9ZY .FGA= O\[

(<) +-, .#] ^ _B` _3^ _ 2B/Aa b 8!9;:<) =?><@ .#] ^ _3` _3^ _ 23/Aa b C*9<EF) G19#]H H H

L<M7N;>AOFPU9SRX9ZY .FG1= OcJL<M7N;>AOFPU9SRX9ZY .FG1= OcJL<M7N;>AOFPU9SRX9ZY .FG1= OcJL<M7N;>AOFPU9SRX9ZY .FG1= OcJ

d e d f1g h i1j1k d h�l m

d e d f1g h7n i1j1k d h1l mBn

d e d f1g h�o

H

/A032B4 5B6 L<R;) = .F, 9K

H

I

p h1q;i1o

d e d f�g h

d e d f1g hBn

d e d f1g h�o

d i r?d hBn

d i r�d h1o

d i r?d h

-�����"3��8�6�����<��� �

� ������5�� ��� � ����� ��.���� ��� ����������T� ���������� � ���������3���� ��"���

�����"��������"��������"�����"���#������"����

�� ��� � "3�� ;������5�� ��� � ����� ��.���� ��� ����������?T� '���������2�%2!�%9!� ��!!�

��7$$����3�%3!�%99!���!!���7$$��������������������"�����!�O�!�"��#���%2�≅�%3���%9�≅�%99�����

����"��������������3����%2#�2#%9�≅�%3#�3#%99�����������#���������"���%9����"���%2�)�

����"�����"���#������"��*������"���%99����"���%3��

=���2�������������O�E!��(��#�(��P ��-����# ��-�����≅��(��3#��(��P ��-����3# ��-����3��)����

�2������������"��������������3�����������"����

Page 61: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

49

� ������5������ ����� ��.������������� T���������������������3������"���"����"�����

��"��������"�����"���#������"����

�� ��� � "3�� ;������5�� ��� � ����� ��.���� ��� ������ ?T� '���������2� ��� "����"�� �

��"���%2� ���3� ���"����"��� ��"���%3!� "�� #���%2�≅�%3��������"����� ���������3����

%2#�2�≅�%3#�3�����������#������"����"����2����3�� ������"�����"���#������"����

=�� �2������ � ������ O�E!� �(��#������� ≅� �(��2#������2� )� ��� �2������ �� ����"��� ��

���������3������"����"���

�� ��� � "3"� ;������5�� ��� � ����� ��.���� ��� ������ � ��� ������� ?T� '��������

��22!���!��2!$�"����"�����������������"���%2�����32!���!��3!$�"����"���������������

��"���%3!� "��#���%2�≅�%3���∀�2�∈���22!���!��2!$�∧�∀�3�∈���32!���!��3!$!�J≤� ��≤�!��2�≅��3����

����"��������������3����%2#��22!���!��2!$�≅�%3#��32!���!��3!$�������������������"����"�����

���"+����� �����������"��� �� %2� �� %3�� &�� ��� ���"+����� �2� �� �3� �� ��"���� %2� �� %3!�

������"�����"�!�"3�������������������������������"�����"���#������"����"����"���

�2����3!!�J≤��≤�!���" ���2����3��� �����"+����������������"��!�����!���������"������������%�"��

�������������

=���2�����!���"����"����������"�����(���)���"����"���-������

� ������5������ ����� ��.����������, T� ���������� "����� ����������� ���������3����

��"���"����"����������"��������"��������"�����"���#������"���#���"3��������"���

��"��"����� ��������������"�����������!���������������������������������"��T����� ��

����������

�� ��� �"3��;1���� ?T�'��������$2���$3�������"����������#����R-<�"�"H�����������"��

�������������"��!��������������"��������"����"�$!�$2�$3�)�������� ����T�

�$�$3��)����"����"���������"���$2��

��$�$2��)������"�����"�����"�����������������"��$3���������-����$��

�� ��� �"3(�;���, ?T�&��$2�����$!�� ��������"����������#���!�"��#������∀$!�J≤���≤�!��

$�$Q2�)�����!�!���" ��&��$2��$3�������$!�)�������������"������$2���

�� ��� �"3!�;������5������ ����� ��.����������, ?T�&���2��"��������������"������

$2����"������$2��$3�� ���� �$!!� "��#���$!�)������"��!���" ���2��"���������������"��

�����$2��$3�������$!$-J!�#���)�������������������������$2��$3�������$!��

Page 62: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

50

�� ��� �"30�;���, ��5��� ?T�'��������/2���/3�����������������T�

� ��� � �T� /2� ^� $2�$3�� ���� �$!� �� /3� ^� N2�N3�� ���� �N!!� ���� $2� ≅� N2�� �� ����"��� ��

���������3���� /2� ≅� /3� ���������� #��� � ��"��� $!� �� N!� � �� ����"�����"��

�#������"����

� ��� � �T� /2� ^�$2�$3�� ���� �$!#�� �� /3� ^�N2�N3�� ���� �N!#�9!� ����$2� ≅� N2�� �� ����"��� ��

���������3����/2�≅�/3� ����������#����� "����"����� ��"���$!� ���� "����"���9��

��"���N!�� ������"�����"���#������"����

� ���� � �T� /2� ^� $2�$3�� ���� �$!� �� /3� ^� �N2�N3�� ���� �N!$-J!� ���� $2� ≅� N!�� �� ����"��� ��

���������3���� /2� ≅� /3� ���������� #��� � ��"��� $!� �� N2� � �� ����"�����"��

�#������"����

� ���� �"T�/2�^�$2�$3�� ���� �$!#�� ��/3�^� �N2�N3�� ���� �N!$�J#�9!� ����$2�≅�N!���� ����"�����

���������3����/2�≅�/3� ����������#����� "����"����� ��"���$!� ���� "����"���9��

��"���N2�� ������"�����"���#������"����

�� ��� �"3�%�;���, �������5��� ���������� ?T��������"������������%���≅�/��b!�

���������9�� ��"����"�����/�^�N2�N3�� ���� �N!����/�^��N2�N3�� ���� �N!$�J!�����������#���/��9�)����

�������������� ����"����"�����

=�� �2�����!� � ����"��� �(��#������� ≅� �(��3#�(��P%�����3#%�����#!���3� ���������� ����� ��

"����"������������"����(������?����������"�������"��K��

�� ��� �"3���;���, �������5��� �����������?T��������"������������%���%9�≅�/!�

������)��������������"�!�%���%9�� ����"������/�^�N2�N3�� ���� �%bb����/�^��%99�N3�� ���� �N!$�J!�

����������#���/�)������������������ �����"���%9��

=�� �2�����!� � ����"��� �(��� ≅� �/D"!�2#/D"!�P ��-����2# ��-����2# ��-����P�(��2#�(��2$-J�

�����������������"����(������?����������"�������"��K��

"3� K82�

R<S��$�%!��&�����&���!"��"�$�)���������������������"����������"���R60!�����

�� ����� ���� ��#����� ���R-<�"�"H!� ������"� ��� �����"�� �� ��������� �� ��������� ����

������"�� �� ��� "��� �� ��� �� ��"��� ���������� ������� *�� ���"���� R<S� ������� �

�����������"��������������"� ����"���������)������������������������"����������-

Page 63: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

51

��"��"������ G�� ��������"� �� "��)�� "��� � ��������� �� "��� ��� ����� �� ��"��"����

����������������������"�����"��R<S�������������������"���(���"������"�������"���

����"���� ��������������������������"����"����� �T�

� R<S� ����3� ��� ������� �������� ��� "��� �� �� ������"�� ��� ��"��� �����������

R<S����� � ��"��"�������?�#������R60�� ��"�"�!�������������� "��� �������

������"� R<S� ��� ��� ��"�� ��������� ������"�� ��� ���������� �����������"�� ���

������"����������"!�����"�������������"������"�"�X�

� R<S� )� ��� ��������� ���"� ��� � �?#���� �� � �� ��� �� ��"������"�� �������

>������"����"�� �� ���������� �� ������"�� ����"���!� RS���H� C'��������DJF� ����

�2�����!� #��� ���� �� ��"��� �� ���� �� ���?���!� R<S� "��� �� ��%�"���� �� ������ ���

������������������"����������"��5����)����"��������������"������� ���������"����

��������������"��������#V��"����"�����"����������"���!�������"�������������.��X�

� 9?� #��� R<S� )� ��� ��������� ���� ��� � R60!� "��-��� � ��"���� ��� ���� ��

���������� �� "�������� ��R60��0��������� �� "�������� ��R60� � �� ����������

��� ����������� ��"���� �� ������� �� �� ��� ������"�� R60� ��� #��#���� ��"���

����"�� �"�2"�!���"���������"��R60!� ��"�����"���$���������� "��(������ ������"�

R<S� ��� ��� ��������� �"��� �� ��� ���"�� �� ��� ����!� ��� ��������� ��

"�������� �� R60� ���� ���� ���� '���� �2�����!� ������������ �� ���� �� R&0G�

CWWW'DOF!� ��� �������� �� � WE'E!� ��� ������ �� �� ��&��������!� ������������

����� "��������� ��� ������"� R<S� �������"��R60$� ��� ��� ������"� ��� ��"��

����������

&������"����5�"���!��2��"������"��������"���� �������#����������������������

��������������������������������"������"�����"��"��������������������"� ����"������

���"���� B� ��%�"�� G&5665&� ��� ��� ��������� ���� ��� ���������� C8����QMF�� =�����

���%�"�!� � ��������"� ���� ��� "��"��� ���������� ��� ���%��"���� ���������� �����"��� ������

�������������"������"��������#�����������������"�����"��������"��"��������������

��� ��%�"��� #��� ���� ��"����� &�� ��� ������"� � ����� �� ��������� ���� ��� ��������!� ���?�

����(�����������"��������"���"��������"����

G��)�� �2��"��� ���"���� #��� ���� ���������� ������"�� ��� ������"��� R60� �����

��"����� "��"������B��-R60� C7����DKF� ����6�:&� C>��"���DEF�����3�� ��"���� ����

���������������������������������������� ��������

E��""�T�������E�����

Page 64: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

52

�,�"��������"����������������#��������R60��G������"���� ��������"�����"��������!�

����� RS���H� C'��������DJF�� B� =������ C>����DJF� ��� �� R60-S0� ����� ��������� ��

��"��� �����������?���������������"������"�����"��"������

����������������������(�����������"�����R<S��

� ���� �����K82�

�#��!�������"���������������"����?����������������R<S��0��������#���)������"�"��

#������������"�����������R-<�"�"H���"�%����2��!����"��#���R<S�����-����������������B�

������R-<�"�"H�C01����DE�F�)�����������������"�������"���� ��������������������

��"�� �����"��������������������.��������"��������#�����R60��

�� ���������� ������"��� � ��������"� �� �� ��� ������"� R<S� �������� ������ ���

��"������������"�����$!���������������"���"����"������������"�����!������������

���� �� �2�����.��� ��� ���"������� �� ���"+����� ���� ��"���� =1�� "��)�� ������� �������

������"�� #��� ��"������ ������� �� �����"��� � ��"��� ���� ��� �����"��� �� ���

��"���%�)������"���%9� �#���)��������%�"��)�����������������"�� ��!�O�����)��

����!� ������"�� ����� ������� ��"���� ���� �� ���� ��"���� ������������ ��� ��"���

���������� ���� ��� ��"��� %� )� ��� ��"��� %9� #��� )� ������ � %� "��)�� ��

����������"�� ��)���!����'���������"���������!�R<S��2��������������"��"��)����������

�����.��������!����#���������������"���������"��������������"����"��������"�����

B�������"���?����������������"�R<S�)���������"��������� ���B�������"��������� ��)�

�������������"����"������"����������"���������������������"�������"�������������"��

���������=1������������"�.��T�Zc[����������!�Z_[����(���������������3������Zd[����

���������������3������

B� ������"�� �� ����� �� &<0<'G� �� )� ��� "���� ���� �� ^� �<=G5Ge!� �GG:5/�G<d!�

:<�<:<='<_!�&<0<'Gd!�W8<:<_$!����T�

� <=G5Ge�)����"����"����%�������)�����������"���%������������"X�

� �GG:5/�G<� )� ��� ������"�� ��%�� ���"�,�� )� �� ����� �� ��� "����"�� � ��"���%�

��%����������������������������������"X�

� :<�<:<='<� )� ��� ������"�� #��� ������ � ����� �� �� %��� �� ��� ��� ��������

������"��������������������"���%�������"�������������%9��B�������"��

:<�<:<='<���)�������������^��=�6<!�6� d$!����T�

o =�6<�)����"����"����%�������������������������3���X�

Page 65: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

53

o 6� �)����������"��#�����������������"����"�������������������� ����

%��� ���B����"�,����6� �)����������"����"���!�J≤���≤�!����"���

%��B�������"��6� �"��)��"������"����"�!�������GG:5/�G<!���%��

�����)����������"����"���9!�J≤���≤�!����"���%9X�

� &<0<'G�)����������"���9!����#������������"����"��<=G5Ge����9�)�������������

�����"�����%������������������"�����������������%��

� W8<:<� )� ��� ������"�� #��� ����� ��� ��� � ������ ���������� ���� ������"�����

������"�� W8<:<�G� )� ������"�� ���� ��� ������"�� 'B6 �:<� ��� ��� ������"��

'B6 B&<!������G�^��'B6 B&<c'B6 �:<$!����T�

o 'B6 �:<�)����������"��#���������������������� ����"���"����"�����

����"�"�������������"��'B6 �:<�/�)����"�����/�^��=BG_!�Ge <!��J!�

�K$!� ���� =BG� M� ^� �"���c����$� )� ��� "����"�� �������� #��� ���� �

������ �!�Ge <�)����"����"��#����������"������������ ����2T��#��!�

���"��!� ����!� ������"$� �� ��!� ���� J≤� �� ≤K!� )� ��� ������"�� "����"�� ��� ���

������"������"�"���B����"�,����������"������"�"��)�������������"�"��

��2T��"����!���"����!�"�$X�

o 'B6 B&<� )� ��� ������"�� #��� ��������"� ��� �������� �� �1���� ��

������"��� 'B6 �:<� ��� ��"���� ������"��� 'B6 B&<�� ��� ������"��

'B6 B&<� ��^��Ge <!��J!��K!����!���$!�����Ge <�)����"����"��#��������

�� "���� �� �������� �� ��=>!� B:$� �� ��!� ���� K≤� �� ≤�!� )� ��� ������"��

'B6 B&<�������������"��'B6 �:<�����≥�K��

A��������"������"��"��������������"�R<S�"��)������2����������������

�������� ��)� ���"��"���(�����������"��&<0<'G�� �������������#��� ��"�����������

��������!��"���(-�����"����"��<=G5Ge���� ���������?-��� �������������#���� "����"����

��"��� ����� ���� ����������!� �"���(-��� �� ������"�� �GG:5/�G<�� �� ������!� �������

�2����������������������"�����R<S��

8<��� �"3�T�&������������"���0����!����"������������"����"���"�"��������� �T�

<SELECT ENTITY="Livro"> <ATTRIBUTE>título</ATTRIBUTE> <ATTRIBUTE>edição</ATTRIBUTE> </SELECT>

�������� ������ "������������������.������������������$��>��������!����-���

Page 66: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

54

���������������"���������"����������������B����������2������O�K��=�����������������

��"���0����!�������"���'��"���������"�������������<�"����=�"��#���������� ���

��"��� ����������<�"��!� "�������� ������"��:<�<:<='<�#��� ����� ������������?� �

%��� ����"������"���0����������"���<�"����B�������"��:<�<:<='<�"������"����"��

=�6<� #��� ����� �� ����� � �����3���� �� "��� ��� ��� ���� ������"��� 6� � #��� ������ ��

������"����"���"����"������"���#������������������"��������������=���2�����!��

��"���0����� ���?� ������ *� ��"���<�"���#������"����"��:<�f<�"�����0����� ����

�������"����"��5>f<�"�����<�"����

8<��� �"3�T�&������������"���0����!�����������������"���'��"������0������������������

��"�����������������0�����<�"��T�

<SELECT ENTITY="Livro"> <ATTRIBUTE>título</ATTRIBUTE> <ATTRIBUTE>edição</ATTRIBUTE> <SELECT ENTITY="Capítulo"> <ATTRIBUTE>texto</ATTRIBUTE> </SELECT>

<SELECT ENTITY="Editora"> <REFERENCE NAME="Ref_Livro_Editora"> <MAP ATTRIBUTE="REF_Editora">ID_Editora</MAP> </REFERENCE> <ATTRIBUTE>nome</ATTRIBUTE> </SELECT> </SELECT>

������"���.���� ����������&<0<'G!��������������"����������������������� ���

��� ���"��� �� )� ���"� �"���(��� �� ������"��W8<:<��B������� �� �2������ O�E��=���!� �(�����

�������� ��*���"���0������������������"��� ��"�"����^�g/������>���5b��

8<��� �"3�T�&������������"���0����!����#���"�"����^�g/������>���5bT�

<SELECT ENTITY="Livro"> <ATTRIBUTE>título</ATTRIBUTE> <ATTRIBUTE>edição</ATTRIBUTE> <WHERE> <COMPARE TYPE="EQUAL"> <ATTRIBUTE>título</ATTRIBUTE> <CONSTANT>Banco de Dados I</CONSTANT> </COMPARE> </WHERE> </SELECT>

B� 'B6 B&<� ��������"� ��� �������� �� �1���� ��"��� ������"��� 'B6 �:<� �� ��"����

������"��� 'B6 B&<�� =�� �2������ ��2�!� ������� ��"�� ��� ����� �� *� ��"��� 0�����

�������������"��� ���"�"����^�g/������>���5b������ ��h�E$��

8<��� �"3"T�&������������"���0����!����#���"�"����^�g/������>���5b������ ��h�ET�

Page 67: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

55

<SELECT ENTITY="Livro"> <ATTRIBUTE>título</ATTRIBUTE> <ATTRIBUTE>edição</ATTRIBUTE> <WHERE> <COMPOSE TYPE="AND"> <COMPARE TYPE="EQUAL"> <ATTRIBUTE>título</ATTRIBUTE> <CONSTANT>Banco de Dados I</CONSTANT> </COMPARE> <COMPARE TYPE="GREATER"> <ATTRIBUTE>edição</ATTRIBUTE> <CONSTANT>3</CONSTANT> </COMPARE> </COMPOSE> </WHERE> </SELECT>

"3� $������� ������ ��������

B�7�����������'�����"����5�"����)��������?�������� �����������������"������?���!�

���"������ #���� ���"��� � �� ��(��� �� ��������� *� ������"!� ���������� � ������"� ���

���������"�������������"��!������������������������"��������"��!���"����������������

�����3-������������?�����G�����������)�������(��"��)����"�������2�T�

+��� �� �T� �� ��������� ��� ��!������� "��(� ��� ������"� �� ���?������ ��� ��� ��������� ��

������"��������������"��X�

+��� ���T���:�)������������� �!���������������������������%��"����������"���������*2!�*3!����!�

*!$!� ����� �� ���������3����� ��"��� �� ��#���� ������ �� �� ��� ��#����� �� ���"��� ������

�������"��������� �������������������������$X�

+��� ���T��� ���!������������!�����������������"�������������"��"��������������"�X�

+��� �� "T� ������ �� ������� ��� ���� ������"!� �� "��"��� � "��(� ��� � ��������� ��

������"���������������������"�������������"�X�

+��� ���T������"������������"��"��������������"���������"���������"X�

+��� ��)T��������� ��������������������"�!� ��"��"����� "��(����R60����������

��������"�������"���� �X�

+��� ��(T� �� �!(������ �����%�*����� ������?.�� ������"���� �����"���� ������"�� �����!� #���

��"?��������"������!����������"������#���������� �X�

+��� �� !T� �� '!��"������ ��� ������ ��"���� ��� ��� R60� � ���� �� ��"��� � ������"��� ��� �

������"����

Page 68: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

56

�"��)�� �� "����� ���!� ������� ���"������ ��� ��������"��� #��� ����.��� ��� � ��

�"���(��������7��������� ��'�����"�� ����������� O�O$�� G��� ��������"��� � ���"����� �

������T�

"3�3� ����� �������� �������

��5�"��������������"�)��������?����������"���������������?������"��)����������?��������

�����"��� ��� ������"� �� �������� ����� ������"� ��� ������"�� R60� ���"���� ��� ���

��"������ �� ���"��� ������"��� �� ������"� �� ���?���� ���� ���� �����"�� ��� #��#����

�����������������"�#�����G��"�����'�����"��3������"���

Interface de consulta

Tradutor de

consultas

Reformulador de

consultas

Integrador de

dados

Bancos de dados relacionais

Tradução

XEQ - SQL

sut v1wXx y�z�{Relações - XML

Tradutor1

q1’

Bancos de dados OO

s!t vAw<x y�z�{XEQ - OQL

s!t vAwXx y�z�{Objetos - XML

Tradutor2

Documentos XML

s!t vAwXx y�z�{XEQ -XQuery

sut v1wXx y�z�{XML - XML

Tradutorn

rn ’

q1

r1q2 r2 qn

rn

Gerenciador das fontes

(q1, q2,..., qn) (r1, r2,..., rn)

Q R

Conversor para

esquema global

Ge

ren

cia

do

r de

co

nsulta

s

q2’ qn’r2 ’r1 ’

|u}�~*���7��1�7�B� � �1� � � ������ ��� �7� � }B� �B�

|u}�~*���7��1�B�7� � �1� � � ����� �'}�~� �B��� ��~S� �7� } � ~

��

-�����"3"�&� ���� �����<����� ����� ������3�

"3�3� +����� ������ ��������

'�����"�� �����"��� �� ���"��� �� ��"���� �� � �!� �������� ��� ����!� ������� �����

��������������"��������������"��������������������������"������"?�����"��������

���"������ ��"������"�������!�������"��� ��!�������"����������������������� ����

"��� �� �� ������"�� �� ���� �� ������(�� � ������2��� �� "��� ��������!� ������� ���

��������� ��"���� R<S� �������"� �� ��� �� O�E$�� R<S� )� ������ ��� ������� ���

��������"� ����"������������"����������"�������"���� ��������>��������!�������"��

��������������"������������������#��#����������������"��(�����R<S���

Page 69: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

57

"3�3� �� ����� ������ ��������

B�:������������'�����"��"�����������"���"����T�

J- 5��"������#����� ������"����������"�X�

K- 5��"������#�������"���� ����(��������"����������������"��X�

E- :����������������"������?������������"����(������"����������������"����

6�����������"�!��1����������������#������������������������� �������������"����

�����������"��������� ��%��������"�������������������!����������"����2!����!���!�"��

#������^���2θJ��3θK�����θ�-J��!!�����θ��)��������������?���O���������)��������������

���%��"��������"���������������3����������

#�&� ���� �

B�:������������'�����"���������"�����2���"������������������������ ���T�

� � �������� ������ �-��������"������?�����"������������"��"�����������"��

#����(��"��� �����R<S!�����������"������:������������'�����"�X�

� 8�6������������ �-��������"������?�����������������������������

��#���������� ��������"����)����"������:������������'�����"�X�

� ������5��� ��� � ����� ��.���� -� �� :���������� �� '�����"�� �������"� ��

����"���������������3������������������������"������?������������"��

������

B����������)����"�������"�3���"��T�

� 8������T��������"������?����)��������������������#���������� �X�

� 8����� �T� � ������"� �� ���?���� ������ �� ��#���� �� ������ )� ����� ���

��������� � ������"� �� ���� �� �����������"��� <�"� ������� #���� ���"��� � ��

��(��������������*��������"��0������������!�����������������"��!�

���������"����������)������X�

� 8������T���������"������������� ����������������������������"����

���"��K�)������������2��>��������!������������3-�������"�����"���

���������������������������������������� ��������

O�=��"��"�������1�������������������������� ���

Page 70: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

58

'��������� #��� R<S� ���� �� ��������"� �� ��"��"���!� ������"�� R<S� ����� ����

�������"�� "��������� ��� ��� ���%��"�� �� ���������"��� '���� R<S� ���� � ��"��"���

����?�#������R60!����������������������� ��)����(�������������� �����������#���

����"����������"����������"�������"�1���������"������"�"�������������"�!������-������

��� ���%��"�� �� ����"���� �� ���������3����� B� �����"��� #��� ���"��� � ��������� �� ��

������"��)�������"��������"���������������������

B������"�����)�������)���������������"����(������������*�������"�����#������

���� ��� �����������"����������"� ����� �����������"����������� ����������������

�����.��� �� ��������.��� � ������"� �� ���?���!� ����� ��� �����"���� ��)������P�������� ��

��)������PG������ �� �� ��������"�� �� ����� �!� �� �����"��� ��)������P�������� ������"� ��

����"���� �� ���������3����� ����������� � ���� �� �����"��� ��� ���������3����

������������ �� ����������"�� ��"��� � ��"��� �� ���� �� ����������� ��� ������"�� ��

����� �$����� ��"���� �������<�������������"��)� "��)�����"����� ��"����"��� ����� ��

"����

B������"��� ��!��P/���P �!������)��������"�����������������������������"��)��

�����"��������������3�����������������������"���������� �����������"�����������

��?�����������������"�������������"������������"�$��

B� �����"��� ��)������PG����� ����� �� ���"���.��� � ����� �!� ������� ���� "����"��� ��

����"�"���� <����"���� ��� "����"�� ��� ���"���.��!� �� �����"��� ������"� �� ����"���� ��

���������3���� � ���� �� �����"��� � ���������3���� ��� ����� "����"�� �� ���"�� ������ &�� ��

"����"���������"������������ �!����������������"��������)��������������

������!��������"���������(�P����������"���������"��������������3���������"����"�!�

������(�P%!������ ��"���� � ����"��� �� ���������3���� �� ��� ��"��!�5��!)����P �!������

"��������������������������#V3�����������.�����5��!)����P ��!����(������������

6�����"��������2�����������"�������������� ����������"����5�"����� ��)�!����

��"������"������������"��!�)�������?����������������"� ���"���(��B������"���)�������

��� ��"���� �����"���� �2������� #��� ��� ������ ��� R60� �� R-<�"�"H�� ��� ������"� R<S� )�

�������R60�������������"����(�)���������"��S�<:e��&��������T�

� ������������������"���������Z�[��<2T�S�<:e�&<0<'G��

� ������������"����"���������Z� [��<2T�S�<:e�&<0<'G��<=G5Ge��

� �� ����������� ���"�,�������������"�����"����"�������� � ���� �� ��7�;<��<2T�

Page 71: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

59

S�<:e��&<0<'G��<=G5Ge�"�2"�$��

� ��������������������"��������������������!�������������.���������;<!�

��"�!��;<!��������;<!����!������;<��<2T�S�<:e����������$��

� B����������(����� ������������"��������������"�� ���-�������������.��!��

��������.��!����"���.����������.�������������.��$������"�����

<2T�

Seleção S

<SELECT ENTITY="Livro"> <ATTRIBUTE>título</ATTRIBUTE> </SELECT>

Restrição R

<WHERE> <COMPARE TYPE="EQUAL"> <ATTRIBUTE>título</ATTRIBUTE> <CONSTANT>Banco de Dados I</CONSTANT> </COMPARE> </WHERE> S ΦΦΦΦ R <SELECT ENTITY="Livro"> <ATTRIBUTE>título</ATTRIBUTE> <WHERE> <COMPARE TYPE="EQUAL"> <ATTRIBUTE>título</ATTRIBUTE> <CONSTANT>Banco de Dados I</CONSTANT> </COMPARE> </WHERE> </SELECT>

>�� R-<�"�"H� �"���(���� ��� �������� �������� ��� ����"���� �� ���������3����� &����

����T�

� ����������������������������"���������������������� ��/�����P%����!��;<��

<2T� ���� ������� �I� ��(��#�(��P ��-����# ��-����!� � ���� ��/�����P%����!��; <�

��"�����(����

� ��������"�!� ��� ��������� �� ,�"���� ������"�� �� ������!� ������ � ���� ��

R����P%����!��;<��

� ������������������������������������� ��"�"�!����������������"���������

�� ������!� ������ � ���� �� /����P'!(����;<�� <2T� �� �� ������� � I�

� ��-����# ��-����P�(��#�(��$-J��-����!� � ���� �� /����P'!(����; <� ��"����

��-����# ��-����P�(��#�(����

Page 72: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

60

� ��������"�!� ��� ��������� � ��"�� � �� ������!� ������ � ���� ��

/����PM��P'!(����;<��

� ����������"�!������������������i���-���������������.�������"�����.�����

������"��������������

<2JT��(���i� ��-�����^��(��# ��-������

<2KT��(��# ��-�����Y��(���^� ��-�����

Algoritmo Reformule(Consulta, Fonte) {Consulta é a consulta do usuário em XEQ e Fonte é uma fonte de dados capaz de responder a consulta. Esse algoritmo é aplicado para cada fonte capaz de responder à consulta}

S := Consulta/QUERY/SELECT {Atribui-se a S o elemento SELECT da consulta em XEQ} L := nova consulta XEQ {Inicia-se uma nova consulta em XEQ que será a consulta

reformulada para a fonte} C := novo Caminho vazio {Inicia-se um novo caminho vazio}

Reformule_Selecao(L, S, Fonte, C)

Retorne L

Fim do Algoritmo

Algoritmo Reformule_Selecao(Consulta_Local, Selecao, Fonte, Caminho) {Selecao é um elemento SELECT de uma consulta XEQ. O parâmetro Caminho contém um caminho da entidade seleção raiz até a entidade da seleção atual. Ele é preenchido a cada chamada recursiva deste algoritmo. Para a seleção raiz, o caminho inicia vazio e, para cada subseleção, ele é alimentado com a entidade selecionada} {Adiciona-se ao caminho a entidade da seleção que está definida no atributo ENTITY} Caminho:= Caminho + Seleção/@ENTITY NS:= Caminho_Para_Consulta(Consulta_Local, Assertiva_Entidade(Fonte, Caminho)) {Para cada atributo filtrado pela seleção, encontra-se sua correspondência local e a adiciona na Consulta_Local.} Para cada A = Selecao/ATTRIBUTE faça Caminho_Para_Consulta(Consulta_Local, Assertiva_Atributo(Fonte, Caminho + A/texto())) {Para cada subseleção da seleção atual, executa-se recursivamente este algoritmo} Para cada S = Selecao/SELECT faça Reformule_Selecao(Consulta_Local, S, Fonte, Caminho) {Verifica se existe restrições na seleção atual. Se existir, ele reformula a restrição e a adiciona na Consulta_Local} Se (W = Selecao/WHERE) ≠ ∅ Então Consulta_Local:= Consulta_Local Φ Reformule_Where(NS, W, Fonte, Caminho) Fim do Algoritmo �

Page 73: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

61

Algoritmo Caminho_Para_Consulta(Consulta, Caminho) {Consulta é uma consulta XEQ, Caminho é um vetor de Entidades, Referências e Atributos} Caminho_Inclusao := Caminho {caminho de inclusão é igual ao caminho} {Se houver uma parte inversa no caminho, essa parte será adicionada à consulta passada no parâmetro e o novo caminho de inclusão será composto pela pelo primeiro elemento do caminho mais a parte não inversa do caminho} Se Parte_Inversa(Caminho) ≠ ∅ Então Caminho_Para_Consulta(Consulta, Parte_Inversa(Caminho)) Caminho_Inclusao := Primeiro_Elemento(Caminho) + Parte_Nao_Inversa(Caminho) Fim do se {Transforma-se o caminho em uma consulta XEQ e a unifica com a consulta passada no parâmetro} S:= Transforme_Consulta(Caminho_Inclusao) Consulta:= Consulta Φ S Retorne S Fim do Algoritmo�

Algoritmo Reformule_Where(Consulta, Where, Fonte, Caminho) {Where é um elemento WHERE de uma seleção XEQ} W := novo Elemento WHERE vazio {Atribui-se a E o primeiro subelemento do elemento Where} E := Where/primeiro() Se E for um Elemento COMPOSE Então W := W Φ Reformule_Composicao(Consulta, E, Fonte, Caminho) Senão W := W Φ Reformule_Comparacao(Consulta, E, Fonte, Caminho) ����Fim do Se

Retorne W�

Fim do Algoritmo Algoritmo Reformule_Composicao(Consulta, Composicao, Fonte, Caminho) {Composicao é um subelemento COMPOSE de um WHERE} C := novo Elemento COMPOSE vazio Para cada E = Composicao/* Faça Se E for um Elemento COMPOSE Então C := C Φ Reformule_Composicao(Consulta, E, Fonte, Caminho) Senão C := C Φ Reformule_Comparacao(Consulta, E, Fonte, Caminho) �������Fim do Se Fim Para � Retorne C Fim do Algoritmo Algoritmo Reformule_Comparacao(Consulta, Comparacao, Fonte, Caminho) {Comparacao é um subelemento COMPARE de um WHERE ou de um COMPOSE} C:= novo Elemento COMPARE vazio E1:= Comparação/primeiro() {Primeiro subelemento do COMAPRE} E2:= Comparação/segundo(){Segundo subelemento do COMAPRE}�

Page 74: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

62

{Se E1 for um atributo, então ele é reformulado e o adicionado ao COMPARE. Caso contrário, ele será uma constante e apenas adicionado ao COMPARE} Se E1 for um Elemento ATTRIBUTO Então C:= C Φ Reformule_Atributo(Consulta, E1, Fonte, Caminho) Senão C:= C Φ E1 ����Fim do Se

{Se E2 for um atributo, então ele é reformulado e o adicionado ao COMPARE. Caso contrário, ele será uma constante e apenas adicionado ao COMPARE} Se E2 for um Elemento ATTRIBUTO Então C:= C Φ Reformule_Atributo(Consulta, E2, Fonte, Caminho) Senão C:= C Φ E2 ����Fim do Se �

Retorne C Fim do Algoritmo Algoritmo Reformule_Atributo(Consulta, Atributo, Fonte, Caminho) {Atributo é um elemento ATTRIBUTE de um COMPARE} A:= novo Elemento ATTRIBUTE vazio C:= Caminho + Atributo/text() {Caminho para atributo da consulta de mediação} LC:= Assertiva_Atributo(Fonte, C) {Caminho para a correspondência local} {Cria-se o elemento ATTRIBUTE e como conteúdo define-se o último elemento do da correspondência local} A/text():= Ultimo_Elemento(LC) {Abaixo, faz-se uma verificação se o atributo local pertence à entidade da seleção atual. Se não for, ele especifica a entidade do atributo em ENTITY} GC:= Transforme_Caminho(Consulta) Se GC - LC ≠ ∅ Então A/@ENTITY:= GC - LC Retorne A Fim do Algoritmo

"3�3" $������� ������- �����

B�7��������������"���)��������?����������������������"���������������"��"���

�����������"���B���������������"�������� "��"����� )� ���"���� ������������>��������

���������"�����������"�!������������������"���������������")��������"�������

"��"����������2���� �������"���������"���

�� ������"� ����� ��� �� "��"��� ��"?� ��� ����"�� R<S� �� )� "��(�� ��� � ���������

�����������"�� � ���"�� ����� �&S0!� RS���H!� BS0!� ��"��� ��"��$�� B� "��"��� "��)�� ����

"��(�����������"�������������"�����R60�#���)�������"���������"�������5�"�����

B�������"������"��)���������"�����������������#����R-<�"�"H�����"���

>�������� ���������������%?����������������#�������R-<�"�"H!���������������

Page 75: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

63

���"����������������'������������<�#������6��� ���

"3�3� � �5��� �������8�6�������4����� �

B�'��������� ��� <�#���� �� 6��� �� "��� � "���� �� ������� ��� ��� ��������� ��

���"������������������������#���������� ���>�����������"������!��"��������"���� ��

������)����"�������������������"������������"��������������"����������#������

���� ��)� " �� ������2� #��"�� � "���� �� ��������� ���� ������"��� �������(��� #��� ��

'������������<�#������6��� ���(���"������������������:������������'�����"�!�

���)��"���������������

B������"��� �!(�����������������"������?���!������2������������"��� �!(����P���������

<�"������������ �����.���� ������"!� ���"��������� ��"���� ������"��#����������"��

������"������������"�������B������"��� �!�����P������!���������"����������"��R60!�

������"����������������������������"�R "�P�CWWW'DO�F��������"�����������"�

������"�������������"���'���"����������"���������"$���"���)�������"�����

���"��������� �������������"��"��)���������"��� �!(����P%!�����P���������>������

�� ������"�!� ��� ���� ���� ������� �� ����� �� �����������"�� "��)�� �� �����"���

'!���P%����!����

�� �2����� �� ������ ����� �����"���!� �"���(������ �� �������∪� ��� �(��� � ��� �� ��

���R60��B����������2������������"�T�

<2T��

Dados D1 <Funcionário> <nome>José da Silva</nome> </Funcionário> <Funcionário> <nome>Maria Euclides</nome> </Funcionário>

Dados D2 <Funcionário> <nome>João Victor</nome> </Funcionário>

���������������������������������������� ��������

P�R "���R60� "��0�����$�-�)���������������������"����������R60��

Page 76: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

64

D1 ∪∪∪∪ D2 <Funcionário> <nome>José da Silva</nome> </Funcionário> <Funcionário> <nome>Maria Euclides</nome> </Funcionário> <Funcionário> <nome>João Victor</nome> </Funcionário>

Algoritmo Converta(Consulta, Fonte, Dados) {Consulta é a consulta do usuário em XEQ, Fonte é o identificador da fonte e Dados é o documento XML retornado pelo tradutor}

S := Consulta/QUERY/SELECT {Elemento SELECT da consulta} {Documento vazio que será o documento convertido – documento resposta}

D := novo documento XML vazio

C := novo Caminho vazio

Converta_Selecao(S, Fonte, Dados, C, D)

Retorne D

Fim do Algoritmo�

Algoritmo Converta_Selecao(Selecao, ID_Fonte, Dados, Caminho, Convertido) {Seleção é um elemento SELECT da consulta do usuário em XEQ. Caminho é formado de forma similar ao que é formado no algoritmo Reformule_Selecao} CG:= Caminho + Selecao/@ENTITY {Caminho global} {Atribui-se a CL a correspondência da entidade da seleção atual} CL:= Assertiva_Entidade(Fonte, CG) {Caminho local} {Converte-se CL em uma consulta XPath e então faz-se a consulta ao documento e retorna um vetor de instâncias da entidade local} R:= Consulte_Documento(Dados, CL) {Para cada instância da entidade local no documento, converte-se essa instância para o formato da entidade do esquema mediação correspondente e a adiciona ao documento resposta} Para cada E = R/* Faça Converta_Elementos(Fonte, CG, CL, Convertido, E) {Execute recursivamente o algoritmo para cada subseleção} Para cada S = Selecao/SELECT faça Converta_Selecao(S, Fonte, Dados, CG, Convertido) Fim do Algoritmo�

Algoritmo Converta_Elementos(Fonte, CG, CL, Convertido, Elemento_XML) {Converte a instância Elemento_XML em uma instância da entidade de mediação. Isso é feito, verificando-se cada correspondência da entidade local com a entidade de mediação} EG:= Converta_Entidade_Mediacao(Fonte, CG, CL, Elemento_XML) {Navega-se no documento resposta até o local da entidade mediação} UEG:= Assertiva_Entidade(CL – Ultimo_Elemento(CL)) Elem:= Navegue_Ate(UEG, Convertido)

Page 77: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

65

{Adiciona-se a entidade ao documento resposta}

Elem:= Elem ∪ EG Fim do Algoritmo�

Algoritmo Converta_Entidade_Mediacao(Fonte, CG, CL, Elemento_XML) Novo:= Novo_Elemento_XML(Ultimo_Elemento(CG), “”) {Cria-se um novo elemento XML} {Cada atributo da entidade local é convertido para seu correspondente da entidade de mediação} Para cada A = Atributos(CG) Faça LA = Assertiva_Atributo(ID_Fonte, CG + A) E = Consulte_Documento(Elemento_XML, CL - LA) Se E ≠ ∅ Então Novo:= Novo ∪ Novo_Elemento_XML(A, E/text()) Fim Para Retorne Novo Fim do Algoritmo�

>��������"�������������"������������"������������������#���������� ��!������

�����������"������"��)����5�"������������

"3�3) �������� �������� ��

�� "���� �� 5�"������ �� >��� )� �����"� ����� ���� �� ���������� ��� ��#���� ��

���� ���>��������"�������������"������������������������������#���������� �!�

�������"� �����������#�����������B���"�������������"�?�������"���������������3����

��� ���"���� � ��"���� �����������"��!����� ������������"���� ����"������ "����"�����

������"����'���"�������"���!�����"����������?�������������������"+�����������"���

������"���������"��)������*����"+��������"���'���������"+������"�%�������"������

�� ��� ���"�!� ���?� ���"� ��� ��� �� ��� "����"��� �� ���"+����� ��� �����"�� ��� ��� ����

���"+���� ���� ������"� ���������� ��� ��������"3����� ��"��� �� ���"��� �� ��� �������� �� ��

������!�"���������!�����"��������!���"�����"��$�� ��� ��"�"��������"�������

B������"���'!��"����������������"���������"������"��������������,�����������"��

��"������ �� �����������"�������������"�� ������� ���������"�������������� ���"$� �����

�������� ��� ������"��� ��� ����� � ���� ���� �2����� �� �����"���S!���� /������"�!� ��

�����"������ ������� �����������"�� � ���� ��"������'� ������"�� ���� ���������"��� )�

���"������ ���� ��� ��"���� >���� ����!� �� �����"��� ������"� �� ����"���� ��

���������3���� ��� ����� #��� )� �� "����"�� �� ������"�� � ��"��� �����������"���

<����"�����"����"�!�����������"����������"�������������2��"�������"���������"����"��

�� ������"�� ����� �� � ��"��� �����"��� &�� ������!� ���� �2���"� �����������"�� ��

�����"���S!�������������"���!��������"�?���!���������������"�������"�����"������

Page 78: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

66

��������"����������

Algoritmo Integre(Documentos) {Documentos é um vetor contendo todos os documentos provindos das fontes locais}

D := Documentos[1] {Primeiro documento do vetor}

{D é o documento resposta que inicialmente é o primeiro documento do vetor.

Depois, é feita a união entre esse documento e cada outro documento do vetor }

Para i:= 2 até Total(Documentos) Faça

MD:= Documentos[i]

C:= novo caminho vazio

Uniao(D, MD, C)

Fim do Para

Retorne D

Fim do Algoritmo�

Algoritmo Uniao(D1, D2, Caminho) {Para cada elemento de D2}

Para cada E = D2/* Faça

{Se o total de subelementos de E for maior que 1, o elemento é uma entidade}

Se Total(E/*) > 1 Então

C:= Caminho + E

A:= Assertiva_Mapeamento(C)

Elems:= Consulta_Documeto(D1, C)

{Se a entidade existir no documento unificado, executa-se recursivamente o

algoritmo para analisar as demais subentidades. Caso contrário,

adiciona-se a entidade e subentidades ao documento unificado}

Se (∃∃∃∃ X em Elems | E/Ultimo_Elemento(AM)/text() = X/text()) Então

Uniao(X, E, C)

Senão

D1:= D1 ∪ E

Fim do Se

Fim do Se

Fim do Para

Fim do Algoritmo�

>����������"����!���������"�������)���"�����������?����"��)�����"��������������"���

"3�3( 8<��� �

�� ��� ������� ��"������"�� �� "��� �� ��������!� ����� ���"��� ��� �2������ ��?"�����

'�������� ��� ��#����� ���"���� �� ������ O�E�� ��� ����"���� �� ���������3���� ��"��� ���

��#������ �����"����������2�T�

Page 79: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

67

Assertivas entre o esquema de mediação e a Fonte 1 Livro ≅ (Página1.Página1_Capítulo1.Capítulo1.Capítulo1_Livro1.Livro1)-1 Livro.título ≅ Livro1.título Livro.editora ≅ Livro1.editora Livro.Capítulo ≅ Capítulo1 Capítulo.título ≅ Capítulo1.título1 Livro.Página ≅ Página1 Página.texto ≅ Página1.texto1 Assertivas entre o esquema de mediação e a Fonte 2 Livro ≅ Página2.Página2_Capítulo2.Capítulo2.Capítulo2_Livro2.Livro2 Livro.título ≅ Livro2.título Livro.editora ≅ Livro2.Livro2_Editora2.Editora2.nome2 Livro.Capítulo ≅ Capítulo2 Capítulo.título ≅ Capítulo2.título2 Livro.Página ≅ Página2 Página.texto ≅ Página2.texto2 &������#�����"��"�����������"����5�"����3������"���������"�������?�������RS���H��

�����!�����������"� ���2�T�

for $b in //Livro/Capítulo return $b

<�����?�������"��������������"� ���������"��R<ST�

<SELECT ENTITY="Livro"> <ATTRIBUTE>*</ATTRIBUTE> <SELECT ENTITY="Capítulo"> <ATTRIBUTE>*</ATTRIBUTE> </SELECT> </SELECT>

�����!�����)�!���2�"����������������� ������������"� �2T�

<SELECT ENTITY="Capítulo1"> <ATTRIBUTE>título1</ATTRIBUTE> <SELECT ENTITY="Livro1"> <REFERENCE NAME="Capitulo1_Livro1"> <MAP ATTRIBUTE="ref_livro1">id_livro1</MAP> </REFERENCE> <ATTRIBUTE>título1</ATTRIBUTE> <ATTRIBUTE>editora1</ATTRIBUTE> </SELECT> </SELECT>

��������"� �2����?�"��(����������������2�����������"� )2����&S0�C6��"��QEFT�

SELECT Capítulo1.título1, Livro1.título1, Livro1.editora1 FROM Capítulo1, Livro1 WHERE (Capítulo1.ref_livro1 = Livro1.id_Livro1)

Page 80: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

68

���)�!���3�"����������������� ������������"� �3T�

<SELECT ENTITY="Livro2"> <ATTRIBUTE>título2</ATTRIBUTE> <SELECT ENTITY="editora2"> <ATTRIBUTE>nome2</ATTRIBUTE> </SELECT> <SELECT ENTITY="Capítulo2"> <ATTRIBUTE>título2</ATTRIBUTE> </SELECT> </SELECT>

��������"� �3����?�"��(����������������3�����������"� )3����BS0�C'""���DDFT�

SELECT L.título2, E.nome2, C.título2 FROM Livro2 L, L.Capítulo2 C, L.Editora2 E

&������#����)�!���2���"����������%��"���������"����)2T�

<RESULT> <Capítulo1> <título1>Bancos Relacionais</título1> <Livro1> <título1>Bancos de Dados</título1> <editora1>Planeta</editora1> </Livro1> </Capítulo1> <Capítulo1> <título1>Bancos Orientados a Objetos</título1> <Livro1> <título1>Bancos de Dados</título1> <editora1>Planeta</editora1> </Livro1> </Capítulo1> <Capítulo1> <título1>Bancos XML</título1> <Livro1> <título1>Bancos de Dados</título1> <editora1>Planeta</editora1> </Livro1> </Capítulo1> </RESULT>

&������"��)��#����)�!���3���"����������%��"���������"����)3T�

<RESULT> <Livro2> <título2>Bancos de Dados</título2> <Capítulo2> <título2>Bancos Relacionais</título2> </Capítulo2> <Capítulo2> <título2>Bancos Objeto-Relacionais</título2> </Capítulo2> </Livro2> <Livro2> <título2>Modelagem de dados</título2> <Editora2> <nome2>Planeta</nome2> </Editora2>

Page 81: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

69

<Capítulo2> <título2>XML Schema</título2> </Capítulo2> </Livro2> </RESULT>

'�������"�����?�������"��������'������������<�#������6��� ��� ��"�"�!����

�)2�"������T�

<RESULT> <Livro> <título>Bancos de Dados</título> <editora>Planeta</editora> <Capítulo> <título>Bancos Relacionais</título> </Capítulo> <Capítulo> <título>Bancos Orientados a Objetos</título> </Capítulo> <Capítulo> <título>Bancos XML</título> </Capítulo> </Livro> </RESULT>

<�������)3�"���������������"��������"��T�

<RESULT> <Livro> <título>Bancos de Dados</título> <editora>Planeta</editora> <Capítulo> <título>Bancos Relacionais</título> </Capítulo> <Capítulo> <título>Bancos Objeto-Relacionais</título> </Capítulo> </Livro> <Livro> <título>Modelagem de dados</título> <editora>Planeta</editora> <Capítulo> <título>XML Schema</título> </Capítulo> </Livro> </RESULT>

������!����������"���� ����"�����������"�����������#�����"�����������������"���

�������B������"�������������"���������T�

<RESULT> <Livro> <título>Bancos de Dados</título> <editora>Planeta</editora> <Capítulo> <título>Bancos Relacionais</título> </Capítulo> <Capítulo> <título>Bancos Orientados a Objetos</título>

Page 82: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

70

</Capítulo> <Capítulo> <título>Bancos XML</título> </Capítulo> <Capítulo> <título>Bancos Objeto-Relacionais</título> </Capítulo> </Livro> <Livro> <título>Modelagem de dados</título> <editora>Planeta</editora> <Capítulo> <título>XML Schema</título> </Capítulo> </Livro> </RESULT>

"3" � �������*���-����

=��"�� ���"���� ���� ������"�� �� ���"��� �� ��"���� �� �� ��� 5�"���� ������"�� ����

C01����DEF�� B� 5�"���� ����-��� ��� �������� #��� �������� ��� ��� �� ��"���� �� ���

��"���������������������"���������"@���������"����3�����B������������������"���

5�"���� ��"?� ��� �"�� �� #��� ���� ������"� �����.��� ��� ���� �� �� ������"�� �� ���� �� ��

���"��� �� ��� �����"��� ��+������� B� ���"��� "��)�� ����3� ��� ������� �� �� ���

����������?�������5�"���� ����>��!���������"���������"�����"�������"�����(����

B������������%�"������"��"��������"?����������"����5�"���� ����>����=�����������

�����"��� �� ������ #��� "��� ����� ��������� �1���� �� 7��������� �� '�����"��� B�

7�����������'�����"�� )� �������?�������� ����������� ������"������?���!� ���"������#����

���"��� � �� ��(��� �� ��������� *� ������"!� ���������� � ������"� ��� ���������"�� ��� �����

���"��!� �������� ��� ��� ���������"��� �� ���"��!� ��"����� ������ ��� �� �����3-���� ��� ��

���?�����B�7�����������'�����"���������������T�

� ����� ����� � �B���� T�)��������?����������������������"�������?���X�

� +����� ����� � �������T� )� �������?���� ���� "��(��� � ������"� �� ���?���� ��� ���

��������������������"����'�����������������������������"��R<S��$�%!��&�

����&� ��!"��"�$� #��� )� ��� ��������� ���� ��� R60� #��� �����"� �� ��������� ��

��������� ����"��� ����������"�X�

� �� ����� ������ �������T� )� �������?�������� ���������� � ������"������?���� ���

������"��#������ ����������������"��������X�

� $������� ������- ����T�)��������?�����������������������"�����������"��X�

Page 83: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

71

� � �5��� �������8�6�������4����� T� )� �������?�������� ������� ��������"��

�������������"������������������#���������� �X�

� �������� �������� �T� )� �������?���� ���� �������� "���� ��� ������"���%?� �� �����

��������#���������� ������"���?-����������,�����������"�����������"��������

���?�����

A?����� �����"���� ����� ������"��� ��� ���"��� "��� �� ��������� �� ��������� �� ��

������"�� ��7��������� �� '�����"��� <����!� ���� �2����� ��� �2������ ��� �� ����������

��"������"����"���������������

=�� ���"���� ������"�� ����� �"���� � ��������"� �� �� ��������� ���"1"���� �� 5�"���!�

�������3�����*���������"� ����7�����������'�����"��

Page 84: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

72

������� ����

&� �'�� �� �������������������� ������� ��

=��������"���!�����"�����������"������������"� �������"1"������5�"���!��������

3����� *� ��������"� �� �� 7��������� �� '�����"��� &�� �� ������"��� ��� �1����� ��

������������#�����������"���!�������������������� ��#�������������������������

��� �1����!� ��"��"���� �� ��� �"���(�!� ��"��� ��"����� G��)�� �������� � ������"�� ��

���������#�������������"�������������������������"� �������"�����%��"������������

���#�3�������������������#���� ���������������"�����

>�����*�������2����������"���5�"���!��������1������������"���������"���

��� #��� ��� �������� ���� �� ������ ����������(� ��� "��"���� �����!� �������� � ���

�#��"�"���������������%�"���������#��"�"���������������"��

<�"�� ���"���� )� �����(�� ����� ������� =� ��� �� P�K� ����� ���� ������ �� "����������

�"���=� ��� �� P�E���������"��� � �#��"�"��� ��������=� ��� �� P�O������ �"���� �

�������������"���������� ��P�P�������������������"��"������"������������"1"����� ������!�

����� ��P�L!���������������������.����

�3� +��� � ������ ������

�������������������� ��#����"���(�������������������"������1����������"�������

� ���������9�!�������������"�����!������������������������,�������� 5����

��"�������������� ��R60�������R60�&�����CA������DJF���

�� ������!� ���"���� �� � 5� �� ��� �������� �"���(��� �� ��������"� �� ���� ���� ����.���

����������������"��T�

� �/������ ��=1��<%�>T�� 5���������������6"����0�2��&���6�����H�"���$!����

�����������������������������9>/'���"����������?���������� ���������

Page 85: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

73

������ �� ��� ���������� ��� ��� R60�� <��� � 5� "��)�� ���� �"���(� ��

������� ������#�������/>���������������������"���������������5�"����X�

� N�#4� =O�����%%>T� 9>B6� )� ��� � 5� �� �1���� ���"�!� ���� ��� ��X���"�� �

������� �� �� R60� ����� ��%�"��� 9��� \� �"���(� ������"�� ���� ������ ���

�1����������"���������������R60X�

� N���T� ��(��� �� �1���� ���"�� ��� � � 5� 9>/'� � &��� �����"�� "��)�� ���9�!� ���

������ ������ �� ��� ����������� 6��� ������������"�!� �� %"�� �������� ������ ��

����������6&�&S0�&�������>��"������"���.���#�����(�������>/��������!����

���������"���(���������(��������������&S0�&�����X�

� K�����T�����������R60������"�� ���9���� "��)���"���(������� 5�>/����������B�

R��������"?�"�"����"����������������.���R60���R60�&����X�

� N�K&�=����� ��%�>T� �������� �����T�(�� �/'� )��� $��� /������!"!� 9�R � ������ ���

��.���&�R��&������� 5�����R60� �����$�C����"����DEF���>B6��>������"�B�%��"�

6���$� CW��DDF� �������� #��� )� ��������� ��������� ��"��� �(��� ��� ����!"� ���R60�

����������#V3����������"����������"�����������"��"����������?�����X�

� N�5���T� �������� �����T�(�� ������� ������� )� �����������������������������

�������� ��� �����.��� 9��� ��� ������ �� ������� )� ��� �������"� #��� �3� ���

���������� �� �� ��� ���?"��� �� � ������"�� ��� ��� ������� 9�� #��� ����

�������������.�������������?"����B�9�''�)�������"��� ����RS���H����

R<S�������?"����"���(�)�������������WE'X�

� K�1+T���R&0G�)������������ ���WE'!���������� ���� ��&��������!� ��������

"�������� ����������"���R60��B�R&0G�)��������5�"�������"������������

������"�R<S�������������"������"������������

�3� ����6���������������

��#������������������ �������"��� 5�"���� ����������������(!�����������"�������

�������������������������"��!�#��������������#�������������"��!����#�����#������

����"����������#���!�������������������������������"1"�����!����"����!���������������

��������"�����������"����=��������"1"���!�������"�����������2��#�����������������"��

�"��"�����"����������"���� �����"���������������

�������"�������7�����������:�#����"��������?���!���7�����������>"�W ��������

Page 86: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

74

�� �� 7��������� � '����� �� ���� �� �� ���������3����� ��"��� ��#����� )� ���"� �� �����

���������������"���������������R60�� ������������#��"�"����������)����"����

������P�J��

Tradutor Tradutor Tradutor

OracleSQL Server

cle

o c

om

um

Lookup Lookup Lookup

Mid

dle

wa

re

consultas

esquema de mediação

Base de

conhecimento

das fontes locais

Am

bie

nte

de

ge

ra

çã

o d

as

co

ns

ult

as

de

me

dia

çã

o

Gerador de consultas de

mediação

Gerenciador de esquemas

conceituais

Am

bie

nte

de

in

teg

ra

çã

o d

e

da

do

s

Base de

conhecimento

do mediador

Gerenciador

de consultas

Gerenciador

das fontes

Mediador

Tamino

-������3����6��������� ����� ��� �'�� �� ��������3�

�3� 4 �������

������������������������"1"���������������"��)����������60�C/����DEF��

������"���(��������������"��!����������������������������#V3���������������

�����"�����" �������(��������"��!���%�������)����"�����������P�K��

commomcore datamodel

DSKB

MKB

mediator

-������3��������������� ����

'� ���"�� ���?� �"���� ���������"�� � �������� B� ���"�� �������� "��?� ��� "��� ��

Page 87: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

75

�������!����"��#���������"��������"?���������������

�3�3� &�� ������� ����

<�"�����"��������������%��"�����������#�����������"��������"��R<S!���#��������R-

<�"�"H� �� ����"���� �� ���������3����� <���� ������� �(��� ��������"�� ��� ����� �������

������������R60�����������������"�����%�"����9�$���

B� ����� �� ������� #��� ��������"� ��������R-<�"�"H� )����"��� �� ������ P�E� �� ����

�������� ���"�����������T�

� K8���L��,��� -� ��������"� ��� ��#���� R-<�"�"H�� ��� ��#���� R-<�"�"H� )�

��(���� ��� R60�� <��� ������ ����������(� �)"���� ��� ������"�� ��"���!�

"����"���������������"��X�

� ���������-���������"����"����"�X�

� 8���L�-���������"������"��X�

� ����� ��,������ ���� -� ��������"� ��� ����������"��� B� ����������"�� ��!�O�� )�

��������"�� ���� ������ �!��!�� �� �� ����������"�� ��)���!��� )� ��������"�� ����

��������)���!��X�

Page 88: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

76

Reference

name : String

Reference()

setRelationship()

setRelationship()

getName()

getEntity()

getParent()

getReferencing()

getReferenced()

(f rom XEntity )

Attribute

name : String

attributeType : String

key : boolean

nullable : boolean

cardMax : int

cardMin : int

Attribute()

getName()

getParent()

getAttributeType()

getKey()

getNullable()

getCardMax()

getCardMin()

setCardMax()

setCardMin()

setKey()

setNullable()

setAttributeType()

(f rom XEntity )

+referencing1..n1..n

1..n

+referenced

1..n

RelationshipInte

rface

getEntity()

getName()

getParent()

(f rom XEnt ity )

Contains

name : String

Contains()

setContent()

getEntity()

getName()

getParent()

(f rom XEntity )

Entity

name : String

Entity()

putAttribute()

putAttribute()

putReference()

putReference()

putContains()

putContains()

getAttribute()

getRelationship()

getReference()

getRelationshipEntity()

getAttributes()

getReferences()

getName()

(f rom XEntity )

0..n0..n

0..n0..n

11

XEntitySchema

ID : String

data : String

XEntitySchema()

readXEntityFile()

getXML()

getID()

putRootEntity()

getRootEntity()

getRootEntities()

pathToRelation()

(f rom XEnt ity )

1..n1..n

-������3�������������������������6�����K:8���L�

B�������� ������� #��� ��������"� ��� ������"�R<S� )����"��� �� ������ P�O� �� ����

�������� ���"�����������T�

� K82�-���������"����������"�R<SX�

� K82�������-���������"��������� ������������� ���������"��X�

� K82���������-���������"������������ ����������"��������"����"�X�

� K82�� �������-���������"��������� ����%��� �X�

� K82J,���� -� ��������"� ���������� ���"���.����\� ���������� ���$%� ������� ���

���$%� ������X�

� K82� � ��� -� ��������"� ��� �������� �� �1����� \� ������ ���� ��"����

$%� ����������$%� ������X�

� K82� ����� -� ��������"� ��� ������ ��� ��� ���� ��� ������� �� ��

$%�����������$%� �!���!�X�

Page 89: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

77

o K82���D�����-���������"���������� ���������"����"�X�

o K82� �������-���������"���������� �������������"�"���

XEQ

XEQ()

val idate()

setSelect()

getSelect()

convertToSchema()

convertToXML()

(from XEQ)

XEQAttribute

name : String

XEQAttribute()

getName()

(from XEQ)

XEQReference

name : String

XEQReference()

setMap()

getMapValue()

getMapAttributes()

getName()

(from XEQ)

XEQSelect

enti tyName : String

XEQSelect()

addAttribute()

addSelect()

setReference()

setWhere()

getName()

getAttributes()

getSelects()

getWhere()

getAttribute()

getSubSelect()

getReference()

setParent()

getParent()

(from XEQ)

1..n1..n

0..n0..n

1..n1..n

0..10..1

XEQWhere

XEQWhere()

XEQWhere()

getContent()

(from XEQ)

0..10..1

XEQCompose

type : String

XEQCompose()

addCompose()

addCompare()

getType()

getContent()

(from XEQ)

0..n0..n

XEQAttValue

attribute : String

enti ty : String

XEQAttValue()

getEntity()

getAttribute()

setEntity()

(from XEQ)

XEQConstant

type : String

value : String

XEQConstant()

getType()

getValue()

(from XEQ)

XEQCompare

type : String

XEQCompare()

setCompareFrom()

setCompareFrom()

setCompareFrom()

setCompareTo()

setCompareTo()

setCompareTo()

getType()

getFrom()

getTo()

(from XEQ)

0..n0..n

Ou XEQCompose

ou XEQCompare

Combinação de

XEQAttValue e

XEQConstant

XEntitySchema

(from XEntity)

-������3"�������������������������� �������K82�

B� ����� �� ������� �� ����"���� �� ���������3���� )� ���"��� �� ������ P�P� �� ����

�������� ���"�����������T�

� � ����� ����������� ��-���������"�������"���������������3�����������#����

������ �������#����������X�

� ������ ��-���������"�������%��"��������"������"���������#������

Page 90: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

78

Assertion

entityAssertion : HashMap

attributeAssertion : HashMap

mappingAttributeAssertion : HashMap

Assertion()

getLocalSchema()

getGlobalSchema()

addEntityAssertion()

addSubEntityAssertion()

addAttributeAssertion()

addMappingAttributeAssertion()

getEntityAssertion()

getAttributeAssertion()

getMappingAttributeAssertion()

(f rom assertions)CorrespondenceAssertion

CorrespondenceAssertion()

addAssertion()

getGlobalSchema()

getLocalSchemas()

readXMLFile()

getSchema()

getAssertion()

removeSchema()

getEntityAssertion()

getAttributeAssertion()

getMappingAttributeAssertion()

(f rom assertions)

1..n

XEntitySchema

(f rom XEntity )

1..n

-������3������������������������������5������� ����� ��.����

�3�3� &�� �����P/�

<�"�� ���"�� ���")�� � ����������� #��� ��������"� � ���� �� ����������"�� �� ���"����=�

>&U/�� �� ��(�������� ��#������� ���"��� �� �� �������.����� ������� ����� ���"����B�

���������������>&U/�)����"�����������P�L��������������� ���"�����������T�

� ��P/� -� ��������"� � ���� �� ����������"��� �� ���"���� <�� ���")�� ��� ��� ����

������'!)�X�

� � ������ � -� ��������"� �������.����� ���"��� ����� ���"�������� ���"�!� "��"��!�

��#�������R-<�"�"H!��������������"�����"��X�

� ���������� � -���������"��������.������������������"��������������!���������

�������"�����"��X�

� J����������� ���� -� ��������"� ��� ��"������ ��� �� "��"��� ��������$� �� ��� ���"���

�� �� ���"1"���� ���� ��������"�� � ������ G���������� ��� ������ �� ���

���������X�

� +������� ������ ����-���������"������"������������"��"���#���"��(�����#����

��������"��������������������������#����R-<�"�"H���������������"��� ����

���"1"����������������"���������5��!�����������������������������������

Page 91: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

79

DSKB

DSKB()

getSchemasID()

getSchema()

getWrapper()

getTranslator()

getDbInfo()

getSourceInfo()

(f rom DSKB)

WrapperInterface

getDocument()

(f rom commomcore)

TranslatorInterface

translate()

setXEntitySchema()

(f rom wrapper)

XEntitySchema

(f rom XEntity )

SourceInfo

ID : String

timeout : int

SourceInfo()

getID()

getDataBaseInfo()

getWrapper()

getTranslator()

getSchema()

getTimeOut()

(f rom DSKB)

0..n0..n

DataBaseInfo

server : String

port : int

user : String

password : String

dataBaseName : String

dbmsType : int

frequency : int

DataBaseInfo()

getDataBaseName()

getDbmsType()

getFrequency()

getPassword()

getPort()

getServer()

getUser()

setUser()

setServer()

setPort()

setPassword()

setFrequency()

setDbmsType()

setDataBaseName()

toXML()

(f rom inf o)

WrapperBDR

xsl : String

WrapperBDR()

processQuery()

translateQuery()

executeQuery()

translateData()

(f rom wrapperBDR)

TranslatorBDR

xsl : String

TranslatorBDR()

translate()

setXEntitySchema()

(f rom wrapperBDR)

-������3)������������������������P/3�

B����"��>&U/��"���(� ������� �� ���"�� ������������B� �����!����� ������� �� ��"������� ��

"��� �� �� ��� �� �� ��#�����G������'!���)���� �� ������'!���)���!� ������"�����"��� �� ��

���"1"���!� ����� ��������"�� �� �������G���������� �� ���������� ��� ������ �� ���

�����������

�3�3� &�� ���4P/�

<�"�����"�����")�������������#��� ��������"������������������"�����������=�

6U/�� ����(���������#���������� ����������"���������������3�����B������

����������6U/�)����"�����������P�M��

XEntitySchema

(f rom XEntity )

CorrespondenceAssertion

(f rom assertions)

MKB

MKB()

setGlobalSchema()

addAssertion()

getGlobalSchema()

getCorrespondenceAssertion()

(f rom MKB)

1..n1..n

-������3(����������������������4P/3�

Page 92: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

80

��� ����"���� �� ���������3���� � �� ��(���� ��� ��� �#����� R60� �����

�������!�#7���������"1����6U/������"��������2������������#�����������"����)����"���

�������T�

<?xml version="1.0" encoding="UTF-8"?> <ACM> <HEAD> <DATE>2004-31-08</DATE> <VERSION>2.0</VERSION> </HEAD> <ENTITY_ASSERTION> <MENTITY NAME="medico"> <LENTITY SOURCE="L1" PATH="agente_de_saude" INVERSE="false"/> <LENTITY SOURCE="L2" PATH="medico" INVERSE="false"/> </MENTITY> <MENTITY NAME="paciente"> <LENTITY SOURCE="L1" PATH="paciente" INVERSE="false"/> <LENTITY SOURCE="L2" PATH="paciente" INVERSE="false"/> </MENTITY> </ENTITY_ASSERTION> <ATTRIBUTE_ASSERTION> <MENTITY NAME="medico"> <LENTITY SOURCE="L1"> <ATTRIBUTE NAME="nome">nome_ag</ATTRIBUTE> <ATTRIBUTE NAME="especialidade">formacao</ATTRIBUTE> <ATTRIBUTE NAME="email">email_ag</ATTRIBUTE> </LENTITY> <LENTITY SOURCE="L2"> <ATTRIBUTE NAME="nome">NOME</ATTRIBUTE> <ATTRIBUTE NAME="endereco">ENDERECO</ATTRIBUTE> <ATTRIBUTE NAME="especialidade">ESPECIALIDADE</ATTRIBUTE> </LENTITY> <MATTRIBUTE>nome</MATTRIBUTE> </MENTITY> <MENTITY NAME="paciente"> <LENTITY SOURCE="L1"> <ATTRIBUTE NAME="nome">nome_pac</ATTRIBUTE> <ATTRIBUTE NAME="endereco">endereco_pac, complemento_pac, bairro_pac, estado, cidade_pac, CEP_pac</ATTRIBUTE> </LENTITY> <LENTITY SOURCE="L2"> <ATTRIBUTE NAME="nome">NOME</ATTRIBUTE> <ATTRIBUTE NAME="endereco">ENDERECO</ATTRIBUTE> </LENTITY> <MATTRIBUTE>nome</MATTRIBUTE> </MENTITY> </ATTRIBUTE_ASSERTION> </ACM>��

Page 93: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

81

�3�3" &�� ������� ��

<�"�� ���"�� ��������"� �� ������ �� ����������� ���� ��"���� ���"��T� �� *���&��!�"��� �� ��

��������!�"���� B� *���&��!�"��� ��������"� �� 7��������� �� '�����"�� �� ���")�� �� �������

����&��!�"��!����� �!(�����!�����'!��"�����!�����&��)���������������"����������&5��!������'!���)�����B�

��������!�"��� ��������"� �� ���������� �� ���"��� �� ���")�� � ������ ��������!�"���� B� ���"��

�������� �������?� ��� "��� ������!� ���"�� #��� ������ "������ ������-��� ������ B� ����� ��

������� ��7�����������'�����"�� )����"��� �������� P�N� �� ���� ������� � �� �"���� �

������T�

� 2���L4������� -� ��������"���7�����������'�����"����5�"�����B����"����������

���������"�"��)�����"��������������"�#�����������"���"�����������&��!�"��X�

� 2���L+������� ������ ���� -� )� ��� ��"������ �������?���� ���� "��� �� �� ���

��������� ���������� ��� R<S�� =�� ���"1"���� ����� ��������"�� �� "���.���

RS���H����R<S��$����&3$%�$���&S0����R<S�����3$%�$X�

� 2���L�� ����� ��-�)��������?�������������������������"�R<S�����������%��"��

�� ����"���� �� ���������� ���� ������"� ��� ���������"�� ��� ������ ������ ��� ��

���"�����(�������������������������"X�

� ����� �5��� �� -�)� �������?�������� ������������������������!�"��� �� �����?-������

�������������#���������� �X�

� ������������ �� -� )� �������?���� ���� �������� ��� ���%��"�� �� ������"��� ����

�������"��� ��� �����"��� �� ������"�� ������ *�� ���"��$!� "���� �� ����� ���� ��

��#���� �� ���� �!� �� %��"?-���� ��� ��� ,����� ������"�� ������"�� �� ����� � ��

������?��������"����"�����������"��������"���������������3������"����"�����

������"���� ��"����"���#���������������"�������������"��������"+���������

��"��!���������#����%�����������������"�X�

Page 94: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

82

QueryReformulator

QueryReformulator()

reformulate()

(f rom query manager)

QueryTranslatorInterfa

ce

translate()

(f rom query manager)

DataIntegrator

DataIntegrator()

integrate()

merge()

findElement()

getValues()

findElement()

(f rom query manager)

DataConversor

DataConversor()

convertToMediatorSchema()

(f rom query manager)

SourceManager(f rom sourcemanager)

QueryManager

QueryManager()

executeQuery()

reformulate()

convertToMediatorSchema()

(f rom query manager)DSKB

(f rom DSKB)

MKB

(f rom MKB)

XQuery2XEQ

XQuery2XEQ()

translate()

(f rom translate)

SQL2XEQ

SQL2XEQ()

translate()

main()

(f rom sql)

-������3!�������������������� �$������� ������ �������3�

&� �������� �� �2���L4�������

B� ����������"�� �� ����&��!�"��� ���� ���� ���"��� "��)�� �� ��� ����� ���� �

��#V3�������)"��������������������������"�����"����B����������)�����"�����������P�Q�

���"�����������T

� &� ���� ���-�B����?���������"�����������"���#���)�������!"������������������

"��)�����)"����7���������&;<������������&��!�"��X��

� &� ���� ���E�����"�-�)����"���������������"��� �����������������R<S�"��)����

�)"��� ���!�����;<��>�����!����-�������������%�"��R<S����(-�������� ���������

��������#���������� ��"��)�����)"���(������;<X�

� &� ���� ���E�)E�(E�!���0�-�"����������"��������������"��������������� ������������

�����)"�����)��������;<�)���������������"�����"������������"������������"��

��� �� ���"��� #��� ���� ��������� �(��� � ��������� �� )� ��"����� '� ���������"� )�

������������������!�"���"��)�����)"������������;<��!��������������!����)"���

�����%7�����!;<�)� ������������ �������*��������"�����������>�������� �����(��

�2���� �!���������"��������"���� ������������"��)�����)"���"��������!��;<X�

� &� ���� ���%������-��������"��������������?����"�����������������#������

���� ��"��)�����)"��� ��!(���5��������������;<��>�������� ������"���!�������

��� �����������"��)�����)"���!��"����;<X�

Page 95: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

83

� &� ���� ����-���������"������������� ����"������������?����������"�"���

: Query Manager : Query TranslatorInterf ace : XEQ : DSKB : Query Ref ormulation : SourceManager : DataConv ersor : DataIntegrator : Usuário

2: translate(String)

3: XEQ(String)

4: v alidate(XEntity Schema)

5: getSchemasID( )

6: ref ormulate(String, XEQ)

7: addSource(XEQ, SourceInf o)

8: startExecution( )

9: getDocuments( )

10: conv ertToMediatorSchema(XEQ, String, Document)

11: integrate(Documentos)

1: executeQuery (String)

12: Documento

�-������30�������������6Q.����� ��� ���� ����� ������3�

&� �������� �� �� ����4�������

B� ����������"�� �� ��������!�"��� ���� ���� ���"��� "��)�� �� ��� ����� ���� �

��#V3���� �� �)"���� �������� ����� ������� ��"�����"����B� ��������� )� ����"��� �� ������

P�JD����"�����������T�

� &� ���� � �� -� ������&��!�"��!� ������ �� ������� "��� �� �������.��� �� ���"���

����"�� � ���� ������"� �� ���������"$� "��)�� �� �)"��� ���������;<� ���������� M$� ��

��������!�"��!��������)"��������%7�����!;<��������X�

� &� ���� ���E�����"� -���� �� ���"�� � ���� ������"� )� ������� ���"+����� ������

����&G������� #��� ���?� �������?���� ���� ������ � ������"� ��� ��� ���"��� >�����!� ��

�)"������������������;<���������&G������������)���������#�����" ������"��

��%�������"�����������%�������������B��)"��������;<�)��������������#�����

���"+�����������&G����������"������������������"����������"���0������������!�

����������!�"��� ���� ������������������"���������&G������� "��)�� ���)"���

���;<X�

� &� ���� �� �E� )E� (� -� ������ ���������� ���"���� �� ��� �� ����&G������� ������ B�

�)"������������� �����;<�������&G������5����)��������� �������������"�����

Page 96: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

84

"���������"�����2���� ���'�����"���������"����%�"�����!����)"���)!��1�G������;<�)�

���������������(������"���"����2���� ��������&G����������������"�*����"��)�

���"�"��)�����)"��������������&;<���G������'!���)���X�

� &� ���� ��!� �� 0� -� ����(� #����������&G������� �����(� ��� �2���� �!� ���� �2���"� ��

�)"���)!��1�G������;<�����������!�"������������������)"��!�����������!�"���

�������� ��� "����%?� "�������� � �2���� ���'��� ����"���!� ����������!�"��� �����(� ���

�2���� ��"��)�����)"���!��)&;<������������"��������������&��!�"��X�

� &� ���� �� �%E� ��E� ��� �� ��� -� ������&��!�"��� ��#����"� ��� �����"��� ���������� �����

���������!�"��� "��)�� �� �)"��� "��������!��;<� #��� ������ � ��#����� �� � ��

����&G������� "��)�� �� �)"��� "��������!�;<� �� ������� ��� ���"� ���� "���� ���

������"��������"�"��X�

: QueryManager : SourceManager : QueryWrapper : QueryWrapperTimer :

WrapperInte...

1: startExecution( )

2:

3: start( )

5: start( )

7: processQuery(String, DataBaseInfo)

6: finalizeWrapper( )

4: wait()

9: notify()

8: finalizeWrapper(QueryWrapper)

10: getDocuments( )

11: getDocument( )

12: Documento

13: Documentos

-������3�%�������������6Q.����� �� ����4������3�

Page 97: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

85

�3" +������� ����� ��

B� ���"1"���� ���� ��������"�� ��� �����"��� ����� ��� ������"� �� ���?���� ���� ����

��������� ��� ��� ���%��"�� �� ������"�� ������ "��)�� ������� ��� R<S�� ��� "��"���

��������$����� ��������"�����"��(���������"�����R<S�������������������"����������

=����� ��������������"1"���!������ "��"����� ���������� ����� ��������"������ "��� ��

�������"�)����"������������%��"������������������������������"����R&0G������������

�������� "��)�� � ������ P�JJ�� 6��"�� ������ ����� ������!� ���� �2�����T� ��� ��

������"��'B6 �:<��������"�����2����� ���������� ��&S0�)������

<!-- Stylesheet used to translate XEQ into SQL --> <xsl:stylesheet version="1.0" xmlns:xsl=http://www.w3.org/1999/XSL/Transform xmlns:fo="http://www.w3.org/1999/XSL/Format">

<xsl:template match="/"> <xsl:template match="QUERY"> <xsl:template match="SELECT"> <xsl:template name="makeSelect"> <xsl:template name="makeFrom"> <xsl:template name="makeWhere"> <xsl:template name="makeJoin"> <xsl:template match="REFERENCE"> <xsl:template match="WHERE"> <xsl:template match="COMPARE"> <xsl:template match="FUNCTION"> <xsl:template match="ATTVALUE"> <xsl:template name="tokenizer"> <xsl:template match="CONSTANT"> <xsl:template match="COMPOSE">

</xsl:stylesheet>

�-������3��������������������������� �K82�������21�

S������� ���"������� ��"����� ���"��!� ���������������"��� "3��#��� ���� ���"�����

���������T��$���������!��������.��������������2 ����������"�������� ����(����

��>&U/!���$�����������2"�������#��������"�����������������"�����������R-<�"�"H�����

��(��� �� >&U/�� >���"�� ��� "��"��!� ������ ���� ������ �� ��� ����� #��� ��(����

�������.��� �)���T� 8��"���"� C/����DJF� #��� )� ��� ���"��� �� "������1�"���� �� ������

����� ���)�����G<0<6<>��8����"�� ��"���3����:�����- <$!����������������"��������

6H&S0�C6H�#�DOF��

=����� ��"��������"1"���!�����#���������� ����������"���������������3������"���

����#���������� ���������#����������"���� �����������������"������(�������

>&U/��'���� ����"��� �������� P�JK!� ��� ���?���� �����"�� ��� ������"!� �����"� ���R<S!�

�����7�����������'�����"���>�����!�������������"���������������3���!��������"�

)� ������������������%��"���� ������"�� ���R<S���� �� ���"��� �������<�� �����!� ��

������"� ����� )� �����"�� ��� �� "��"��� �����������"�������� ������R&0G!� � ������"� )�

"��(�����&S0�����" �������"����������"��"��)������(���9>/'��

Page 98: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

86

WrapperLookup

DSKB

Conceptual

Schema Manager

MKB

Query

Manager

TELEMED

WrapperLookup

Healthnet

Esquema Global

X-

WrapperLookup

DSKB

Conceptual

Schema Manager

MKB

Query

Manager

Query

Manager

TELEMED

WrapperLookup

Healthnet

Assertivas de

Correspondência

XEQ / XML

Database Info &

Esquemas

X-Entity

Dados XML

X-Entity

-������3���&� �'�� �� ��������3�

B�5�"�������� �������"���������,��������"�����"�!������������������������"��)��

�������"������'��"�����5�����?"������ <���������������""�T�����DQTNDQD�5�"�������

��"��������5�"������������������(�������������2�T�

�$��

��$�

-������3�������� �������� �������� ���������;�?����������� ������ �������;�?3�

�3� � �������*��� ����

=��"�����"�������������"��������"�������������"� �������"�������"���� �������

5�"����� ��� ���"1"���� ���� ��������"�� ������(��� "��"��� �� ����.��� �� ��������"��� ��

���"����

��� �#��"�"��� ������� �� ���"��� �������"��� <��� �#��"�"��� ���� ������"� ����� *�

������2��� �� ���"��� ��� ��������"��� �� 5�"����� >���� ����!� ��"����-��� ���

�����������-��� ������ ��������"������ #����� ������������"1"���� ������������(�� �������

"����� ������2�� #��� ������� ���� ���"�� �"��"�����"�� ����� ���"��� � �� ���"�� �� �����

Page 99: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

87

����$��=�����������������"1"���!��������"�������7�����������:�#����"��������?���!���

7����������������G��������!���7����������'����������� �������������3�������"���

��#�����)����"�����������������������"���������������R60�� ���������

����� "��)��������"�� �� "�����������"���(����� � ��������"� ����������"1"����

�����������!� ������������������ �!�� 5���������� �����������#����!���"���

��"��$�� ������!��?��������������������������#V3������������"��������2�����������

�����"���������������"���

Page 100: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

88

������� �)��

� �����*�����+�����, ��-���� ��

&��"��������"���� �������� ���1����������"����#�������3��������� ���������

�� ��� ��"�������� ��� ���"��� �� ��� ��"����3���� �� �"@������ <��� ��� �� ������� )�

�������"�� ����������(� ����� ��� ��#���� �� ���� �� #��� ��������"� �� ��"���� ��

���"���#�����" ���������"�������������"����������?���������"�����������"������"�����

��"���� �����������������"����������"��������#���������� ������7�����������

'�����"�� )� ��� ��������"�� �� ��� ���"��� �� ��"���� �� �� ��� #��� "��� � "���� ��

�������������������"�����#���������� ��������������"����������"��������!���������

��������"��!�������?-��������"���?-������������"�"��� ������!���7�����������'�����"��"���

������ � ��� ���%��"�� �� ����"���� �� ���������3���� #��� ������ ����� �� ��"���� ��

��#���������� ��� ������������"���������"����������

�����#���������� ����������������������������������#����������������������

������ � �0�A$� �� �� ������������ �7�A$��=��7�A!���� �� ��������"�� �� ��#������

���� ��)������"����������"������������#����������!��������������������"�����2"��� ��

�������������"�������������"����=��0�A!������)�������������������"��#����������

����� ��� ��������"��� �� ��#���� �� ���� �� � �� ��"���!� � �� ������� ������"�� #���

��������� ����� ��"��� � �2"��� �� �� ���"��� �� ��� � ��"��� �� ��#���� �� ���� ��� ��

��������� �������� ������ ���� ����#���� ��"?� �� ������ �� �������� ���� �� ������ ����

��#����������"��� �������=��7�A!���������"��� �����"������������*��������������"���

������������"� ��)����"����������2��9?����0�A!���������"��� ���������"���"��

�1��������������"����������<�����"���"�!����������������������� ����������"�����

7�A�)��������"��#������0�A��

���������"���"������#���������"�����������"��� �������7�����������'�����"��

��� ��� ���"��� �� ��"���� �� �� ���� B� ���"��� �� ��"���� �� �� ��� ��� #���" �� )� ��

5�"�����B� 5�"���� )���� ���"����� ��"���� �����������������������������"������

C01����DEF� #��� ��"?� �� ����� ���� �� ����#��� 7�A��B� 5�"���� �"���(� R60� C/�HDDF� �����

��������"� ��������B�����������������(������#���������� �����#�����������"��

�����?����� ������������=����� ���"��!��� ��#���������� �� ��������������������R-

Page 101: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

89

<�"�"H�C01����DE�F�#���)�����2"��� ����������<-:�C'���MLF����R60�&�����C/����DJF��

B�������R-<�"�"H����"����!����������������� ��R60�&����!���"����������������"���

��"��������'���"�����"?�����������������"������� ��#��������"��������

��������"��������"���������

�� "���� �� ��� 7��������� �� '�����"�� )� ������2�� �����!� �1�� ������������!� ���"��

"�����!� ��� ��������� �� ������"� ��� ������"��� R60� #��� �����"� "��� �� ��������� ��

��������� �� �� ��"���� ��� R<S� �$�%!��&� ����&� ��!"��"�$� )� ��� ��"������"�� �� ���"��� ��

"��)�������"���������"��������"��"������'����R<S�)�������������"������

���R60!���� ��%!� ����"��������������"���R60!�� "������ "��(��������"��� ����������

�������� ���������R<S�"�������������������������������"��������������"!�#���� ����

�����.��!����"���������"���.����>��������!��?������������������������������"�����������

���������������������"�R<S��B������������"��� �������������"�R<S���������"��

��������� ������"�� ��� ���������� �����������"�� ��� ������"��� � ������"!� ����"������ �

������"������"�"���

�������"������������"� �������"1"���!�����#��"�"���������������"���5�"��������

������"��>��������!���"����-�����������������-�����������������"������#��������������

���"1"���� ������ ������(��� =����� ��������� ���"1"���!� ����� ��"����� �� 7��������� ��

:�#����"��������?���!���7����������������G��������!���7����������'����������� ����

���������3�������"�����#�����)����"�����������������������"���������������R60�� ��

�������

)3� � ������*���

'����������������������������"������.�����������"�����!�������������������T�

� '������ �� �� ��� 7��������� �� '�����"�� ��� ��� ���"��� �� ��"���� �� �� ���

�����������������������������������#���7�A��G�����"���"����R60������

�� ������X�

� <��������� ������������������������"��R<S$����������"����������"����������

����"������"���������������G�� ������������������"���� ���������� �������������

����������� ����������"�!�����"���� ���������"��� ����������"���<��"��)��

�����"��� #��� ������"�� ��%�� �����"��� �� ���"��� �� ��"���� �� �� ��� ��� ���

�����������������X�

Page 102: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

90

� >������������"����������"1"��������������"������"���� �������������� ��

�� ������ 7��������� �� '�����"��� <���� �����"�� �����-��� ��� ��� �#��"�"���

��������������"����������C01����DEF��

)3� +�����, ��-���� ��

�������"1������#���#��������������"�����#�������"����#�����������������������

������"!�������������������"���������"����!�� �����������"��T�

� 7���� ������ �� �2���� �� �� �"���(� �� �� ������"��� =1�� ����������� ����� ��

������������������� �������������"������?�������������%��"�������������"��

������"��������X�

� G��"�� �� ���"��� ��� �����"�� W��!� ���������� ������"�� ������ ��� ����� ���

���������������������������"X��

� <������ ��""��"���� � ������"�� �� ��������� �� ����������� �� "��)�� ������ ��

����������"���������"����������"����

Page 103: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

91

�� ��.�����/�� ��� ����

C������DKF�������!�U�!�'���-6����2!� �!���8�����"�!�6������������I���������"���

�����������5��&576B>�:����!�EJ�O$!�KDDK���

C���"�����QMF����"�����!�&��S���H����&���-�"���"����>"��5�� �������������"���L"��

5�"���"�����'�������������>"����G����H!�����J-JN!�JQQM��

C���"�����QQF����"�����!�&�!�/�����!� ����&����!�>��5��7���������>�����W����J�"��

��"�����<�"���'����!�KMK!�JQQQ��

C���QLF����!�&�!�U��&����I�'��!�e�� �I���"�"����!���A��&��&����������S���H�

�����������"���("���������"����"�����"����H�"�����5��&576B>�:�������'6�

������5�"����"�7��������6������"����>"$�KP�K$!�JEM-JON!�JQQL���

C����"�QNF�����"�!�9�!�������!�=�!�/����!�7�!�U������I!�'�!�6��"��!�&��6��!� �!�6����!�5�!�

�����"!������G�%!�&��������-���&H�"�������'���"���"����6��"��������5�"����"�

&��������5�� ��������������'6�&576B>�'��������6������"����>"!�&�""��!�W�!�

JQQN���

C�����QMF������!�>�!��������!���!�&����!������e���I!�G��<�������"�A����6��"������

"�>"�W����������5�� �������������&576B>�'��������6������"����>"!�OJM-OKM!�

JQQM���

C�����DEF������!�6�!�U�"���!�A�!�U����"���"����!���!�U�����!�5�!�6�����!�:��9�!���

6H��������!�9���G����H����������%��"T������"���"���"����"��"�������"�����5��

&576B>�:����!�&��"������KDDE���

C�����QLF������!�e�!�U������I!�'�!�&���!�W ���S���H�:�������"��������>H�����5�����"����

5�"���"�����5��9���������5�"�������"�5�����"����&H�"���!�L�K�E$TQQ-JED!�JQQL��

C����"����DEF�����"����!�<��G���9��� 5�����R60� ����������G�"��������

�""�T��%��������������������������J�J�"�"�����������2��"����j�"�������"����

KDDE��

C/�DEF�/�!�S�!�8���!�9����6�G��!�6�����KDDE$�&������S���H�:�������"����������A�����

���"��� ���������������"�����>������������5�� �������������"�������"��5�"���"�����

'�������������W��-����5�����"����6������"��W�56DE$!�OMJ-OMN!�&��������0��"����

=�"������'����"���&������!�JM-JQ!'�����!�'���!������"�KDDE��

Page 104: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

92

C/����DJF�/����!���U� ��8��"�=�"T�������"�����"��������������G������1�"������*�

&�����B���� ��6)����>�����"� ����6��"������'�3�����'����"� �!�'��"�����

5�����?"��!��� <!�:�����- <!�/�(��!�KDDJ��

C/��QQF�/��!�'�!�7��"!���!�0�k�����!�/�!�6�����!�:�!� �I���"�"����!�e�!�A���I���!� ��

��'��!�A��R60-/���5�����"����6��"������"��65R��5�� ��������������'6�

&576B>�5�"���"�����'�������������6������"����>"!� ��������!� ���H����!�

�&�!�PQM-PQQ!�JQQQ���

C/����"���DKF�/����"���!� �!�7���������!���!�U����"���"����!���!�6H��������!�9�!�&����!�0�!���

]���H��!�5���>"��������"���������-"�-����������"����T�����������5�� �������������

"���W��>/�W��I����!�KDDK��

C/����DEF�/����!�7�!�9������!�5����:������!�9��G���B67��������6�������0������

&�������"����Y�A�������J�P��:"�����&��"����'�����"�����

�""�T��������������"��������H�������"�������������"���j�"�������"����KDDE��

C/�HQQF�/�H!�G�!� ���!�9!!�&�������-6�#����!�'��6��<2"��������6�I���0�������R60$�J�D!�

W����W ���W���'�����"�����>��������������""�T�������E�����G:�:<'-2��!�KDDE��

C'��DKF�'��!���!�'������!�>�!�7�����!�7�!�0��(�����!�6������������>"�5�"���"����

&H�"����"�������'�����"���&�������5�� �������������"���JD"��5"����'��������

>"����&H�"�����&</>�KDDK$!�KDDK��

C'""���DDF�'""���!�:�7�7����/��H!�>�U��G���B�%��"�>"����&"��T�B>67�E�D��

6�����U�����!�KDDD��

C'���QQF�'���!�&�!�'���!�&�!�>����!�<�!���"�����!� �!� �������!�&�!�G��!�0��R��-��T��

�������������������#���H���������"���"����������"��5�� ��������������N"��

5�"���"�����W����W ���W���'���������!�WWWN!�G����"�!�'�?!�JPJ-JLP!�JQQQ��

C'��������DJF�'��������!�>�!���������!�>�!�:����!�9�!�&����!�9�!���&"�������!�6���R#���HT�

��#���H������������2����5��WE'�W��I����>��"!�JP�������H�KDDJ��

C'��"��QOF�'��"��!�&�!�7���-6����!�8�!�8����!�9�!�5����!�U�!� �I���"�"����!�e�!�

�����!�9����W ���!�9��G���G&5665&� ��%��"T�5�"���"�������8�"�����������

5�����"����&��������5�� �������������JD"��6��"�������"���5�����"���� ����������

&����"H����9����5 &9$!�JQQO��

C'���MLF�'���!� � ��G���<�"�"H-:��"��������6���T�G��������������������"��5���'6�

G����"��������>"����&H�"���!�J-EL!�JQML��

Page 105: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

93

C>��"���DEF�>��"���!���!�G����!�A��6�:&T���&H�"������� ����������R60������6�2����

:����"�&"������5��KQ"��5�"���"�����'�������������A��H�0����>"�/�����A0>/$!�

KDDE��

C>����DJF�>����!�>�!�8���H!����e����W���>��&��G���=������5�"���"����<�������5��

�����������'6�&576B>!�&�"�/���!�'�������!��&�!�KJ-KO!�KDDJ��

C>����IQMF�>����I!�B�6����7�������"�!�6�:�������������:���������S�������������

A����!�5�� �������������JL"���'6�'������������� �������������>"����&H�"���!�

B>&!�G�����!��]!�6H�JQQM��

C������QMF�������!�6����W��!�>��<�������"��2���"�������������"�����"�������������

5�� �������������"���5�"���"�����9���"�'���������������"�������5�"���������!�=��H!�

9��!�JQQM��

C������QQF�������!�6�!�0��H!���!���6����"���!�G���=���"��������������"���"���"�����

5�� ����������������5!�JQQQ��

C7���-6����QMF�7���-6����!�8�!� �I���"�"����!�e�!�>��S���!����:%���!�e��&���!�

9�������!�A��A�����!���9��W �����G���"��������������"�����"���T�>"�������

�����������5��9���������5�"�������"�5�����"����&H�"���!�JQQM���

C7����DKF�7����!�7�!�6�����!���!�G�����!���!����5�"����"����"��"����-R60�>"�

5�"���"����&��"�!�5�� ��������������N"��5�"���"������'�������������<2"������

>"����G��������H!� ����!�'(����:�������!�KQM-EDL!�KDDK��

C7���"DEF�5��7���"!�G��>������#!�U�-���&""���!�<��&�������T�S���H�:�������"��������U�H����

&�����������6��"���&H�"�����5�� ������"�=���N!��I��"k"��V��5�����"�I!���������"k"�

6������!�KDDE��

C7�����QLF�7�����!�7��>���5�"��������#���H�����������H���"�������"�����9�����

5�"�������"�5�����"����&H�"���!�M�E$TKDP-KEE!�JQQL��

C7��"QPF�7��"!�&����6����I!�5��&��6��"���������6"�����(��A����T� �������!�

G�����#������������"������5��5<<<�>"�<�����������/����"����JN�K$T�E-JN!�9���!�JQQP��

C7����QQF�7����!�7����6����(��!����B���G�����"�����#��������#���H����������"����

��������"���������������������5�� ��������������5'>GlQQ!��������JPOD����0='&!�EEK-

EOM!�&�������!�JQQQ��

C8���HDEF�8���H!���!�5���!�]�!�&����!�>�!���G"�����!�5���&��������"������������"�

Page 106: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

94

�������"��H�"�����5�� �������������5'><!�KDDE���

C8����QMF�8����!�9�!�/������!�6�!�7���-6����!�8�!�=��"����!�&�!�A�����!�A�!���

e������!�:���G����"����������������"���"��������H�"����5�� ��������������'6�

&576B>�'���������!�JQQM��

C8��"��DDF�8��"��!�9����6�0������!�/��<�H�9��R60���"���"������"��9>B6!� �"�J��

>��������������""�T������%����������%������%�-DP-KDDD�%�-DPJN-%����"����

j�"�������"����KDDD��

C56>/DOF�5�"����"�6�����>"�����>��������������""�T���������������j�"�������"�

��KDDO��

C5���QQF�5���!�]��7�!���������!�>�!�������!�6�!�0��H!���!���W��!�>��&�������"����#���H�

�2���"�����H�"�������"���"���"�����5�� �������������"����'6�&576B>!�JQQQ���

C9����DEF�9����!�<�!�G���!�=�!�6�/����!� �!��� �����������!�����A���������"������

��"����"�������"�����"�6��"���"���"�����������I��5��G�������������"!���"�6��

��%��"!�KDDE��

C0�2DKF�0�2!�6��>/��������T���9>/'�W������ �I����>��������������

�""�T�����������%�������������������"���������"������>"���������������j�"���

����"����KDDK��

C0��(�����DKF�0��(�����!�6��>"���"���"���T���"�����"�����������"�����5��KJ"���'6�

&576B>-&57�'G-&57�:G�&H����������� �������������>"����&H�"���!� B>&�

KDDK!��6����!�W ���������!��&�!�9����KDDK��

C0��(�����DEF�0��(�����!�6�!�6%I�m�!�]�!�/������"��!�>����6������!����G�����#��������

#���H���������"���!�#���H��������!���������"�������������"����Y� �"����5�� ��%��"�

������"����"���&<W�&5<����%��"!�KDDE��

C0��HQLF�0��H!���e�!�:%���!���!���B�����!�9�9���S���H����8�"�����������5�����"����

&�������������&������>������"������5�� �������������"���KK��A0>/�'���������!JQQL��

C0��HQL�F�0��H!���e�!���:%���!���9�9�B�������S���H-����������������"��������

5�����"��������"���5�� �������������"������5�JQQL���

C0��HQQF�0��H!����e��'�����������"�������5�"������������>"���������>"�5�"���"�����

��"�������5�"����������G�H!�KOQ-KLN!�JQQQ��

C0��HDDF�0��H!����e���0����-/���G�����#�������>"�5�"���"�����5��6��I��!�9�!�0�����/���

Page 107: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

95

��"�������5�"���������!�U������ ���������!�KDDD��

C01����DJF�01����!�/��������������"������6��"��� ����&��"������5�"���� ����

>����<2�����S������� ���� �����"���G������� <!�'���Y�'��"�����5�����?"����

KDDJ��

C01����DEF�01����!�/����!�6������"���<����"�������R60-/���6��"����S��������G������

>��"������'�������'�3�����'����"� ���'��"�����5�����?"��!��� <!�:�����!�

KDDE����

C01����DE�F�01����!�/����!�&���!����'�!�7�� �!�0��:�T�'�����"���6����������R60�

&�����!��5�� ����������������"��5�"���"�����W��I��������W���5�����"������>"�

6������"��W 5>6$!�JDK-JDP!�KDDE��

C6�/����DEF�6�/����!� �!� �����������!���T�>"���"���"�����H���-����"�����������

"�������"�����������5��JQ"��5�"���"�����'�������������>"�<����������!�5'><lDE�"��

����$!�6���!�KDDE��

C6��"��QEF� 6��"��!�9����&����!����������"�����"���=���&S0T���'�����"��7�����

6�����U����!�JQQE��

C6�"�DJF�6�"�!� ������������"�����������������S�������<�������"�H�������A������5��

�������������"���JK"�����"������>"����'���������!�KDDJ��

C6�������IDOF�6�������I��>��������������""�T��������������I������j�"�������"�����KDDO��

C6H�#�DOF�6H&S0��>��������������""�T������H�#��������j�"�������"����KDDO��

CB��DEF�B��!�/�!�&��!�e�!���G�!�U�-0���:��"�����"���������������-����"�

�������"��H�"�����&576B>�:����!�KE�E$!�KDDE���

C �""�����DDF� �""�����!�:�!���0��H!����e�����&������������"�����������������S�������

������A������5�� �������������KL"��5�"���"�����'�������������A��H�0����>"�

/����A0>/$!�'���!�<�H�"!KDDD��

C �I���"�"����QLF� �I���"�"����!�e�!����"�����!�&�!���7���-6����!�8��B�%��"��������

������"������"�����<�� �����B��5�"��'�����B��A��H�0����>"�/�����A0>/$!�/���H!�

5��!�JQQL��

CS��QQF�S��!�R���S���H���������5�� �������������"���JK"��5<<<�5�"���"�����'����������

���>"�<�����������5'><bQL$!ON-PP!JQQQ��

C:�����DKF�:�����!�&��9�X�=�����!� ��T���"�������5�"���������T���6��������������K��<�"���$��

Page 108: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

96

���"����8��X�K����"�����>�������!�KDDK��

C&�����DKF�&�����!�6�!�/��I�!���!�S��2!�'�!�/�����I!�G�!�<�����!�'�!�9�I�!�6���<��������

>����������=���"�"����&�����"����<�"��������=�"���I��G�������&���"���W���

G�������������W��I�����R60�G����������������"���&���"���W��!�R&W �KDDK��

�C&������"�QOF�&������"�!�>�!�>�!�&�!�9����!�8��A����0��H!����e������������#�������

��"�������"���������������!�5�� �������������KK��5�"���"����'�������������A��H�

0����>"����!�EJN-EKQ!�JQQL��

CG"�����DOF�G"�����!�5����8���H!����<�������"�S���H�:�������"������� ����>"�

6������"�&H�"�����5�� �������������"���KDDO��'6�&576B>���"���"�����

��������������6������"����"��

CA��DJF�A��!�A��6�!�01����!�/�����������!����'��������������������������"���������

������H����"�������"�������2��-�������"�����5�� �������������W 55W �KDDJ�-�

5�"���"�����W��I��������5�����"����5�"���"�������"���W���-�G��������������

������"����!�:�����9�����!�/����!�E-JD!�KDDJ��

CA������DJF�A������!�G��9��G��������H���R60� �"�J�-����5�"����"����"��� 5������

R60� �����������>�������������

�""�T�����������%�������������������"���������"������2���9�G����R60���

j�"�������"����KDDE��

CW ���QPF�W ���!�9��:������� �����������>"�W�����������5�� �������������O"��5�"m��

'�������������5�����"������U��������6������"��'5U6$!�JQQP��

CWWW'DOF�W����W ���W���'�����"�����R&0�G�������"������R&0G$��WE'�

:�������"�����>��������������""�T�������E�����G:�2��"��j�"�������"����KDDO��

CWWW'DO�F�W����W ���W���'�����"�����R60� "��0�������R "�$�A�������J�D��WE'�

:�������"�����>��������������""�T�������E�����G:�2�"���"����j�"�������"����

KDDO��

C]����QPF�]����!�e�!�7���-6����!�8�!�8����!�9����W ���!�9��A����6��"����������

W����������<���������"��5�� �������������&576B>��EJL-EKM��JQQP��

C]���QLF�]���!�7!�8���!�:����U���!�:��7����"����"���"���"�������"����"�"�����

�"�����("����5��9���������5�"�������"�5�����"����&H�"���!��������L!�����K�E!�JQQ-KKJ!�

JQQL��

Page 109: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal

97

fffffffffffffffffffffffffffffffffffffffff�

�����T�G�����������'��"�

fffffffffffffffffffffffffffffffffffffffff�

B����"��T����'������&����

:�����!�JD���������������KDDP��

Page 110: Dissertação de Mestrado - repositorio.ufpe.br · este trabalho foi apresentado À pÓs-graduaÇÃo em ciÊncia da computaÇÃo do centro de informÁtica da universidade federal