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

Post on 03-Dec-2018

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

posgraduacao@cin.ufpe.br

www.cin.ufpe.br/~posgraduacao

Recife, Fevereiro/2005

� � 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�

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

� � 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�������

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

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

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

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

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.

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.

� � 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

� � 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

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

� � 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�

� � 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

� � 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

� � xi

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

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

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���������������������������>��������!���������"��� ��

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� �$�%!��&� ����&� ��!"��"�$�� <�"� ��������� )� ������ ��� ������� ���

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��)�� ������"���!� ������ ���"���!� ������ ���"���� �� ��"���� �� ��

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

4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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� ��#���� ������ )� ��

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

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

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

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

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���������"���

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$�� ��"��������"�!� ��� ��� �� �� ���"�� ������"� � �� ������"���� ��� ��� ����"��

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!�

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� � ���"�� �� ��� "��� �����.�����

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

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&�� ���������(�.�����"��"�������"������

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

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����������

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

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�\������"�"�������"��#������� ����"����� �������������"�����")��"����������"��������"����

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�� '���� �� ���"��� �� ��� � �� �"@����!� �� �"���(��� ���� � �� "��� �������.���

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

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�

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&��"���(����������������"������������

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������ � <�"��

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���� ���"���!� ���"������� ��� ���������� ������"��� �������� *� ��������� �� ��

������"���

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��"��� ��,����� ���"��� �� ����<���� ���"���

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

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�?"����*;$<�)������������

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

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���������"�������#������������"?������������������ �������������"����������

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

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���� ��� ��� ���"�� �����������"��

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

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;�-����>�����>��!�<��

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!� ��"�� )!� ���� )�

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�

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��� �� � ������"� �� ���?���� �� ��#���� �����"��� ��� ������� ��� ��"���(��� ��

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����)������"������������������

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��

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��

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��������������������.������!��

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� �� �,����� �� ���������.��� �� ������"�� ���� ���� ��"�����"�� ���(��� ���

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

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� � �� ��"����"��

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�)������"���������%��"��

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/���� ��

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

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���� ���

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�

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��

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������$��

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!����

39

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

�������������������"�����2"��� ���������������"�������������"����

=���������� �����0�A!�����������������������"��������������������������"�

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

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

:�����5�������������������.��������������"����"��)����������"��!���������������

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

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

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

��� ��������������A�����#����������������������������"���� ������"�� ������ >6&�)� �

��������� �� �� ��� ������"� �� ��� ����� ������ ��"���� ������ ��� ��� ������� ���+�"����

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

�����������

=�� ��12���� ���"���� ������� ��� ������ �� �� ���%�"�� 5�"���� �� ���� ������������ ���

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

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�����"��������!������������#����������"��)������#���������� ���

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����!� ���������������� ���.���

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�������"�������"��� ���"��������������

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�

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����

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

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��

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�

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)})

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�����������"����

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�������$!��

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� ������� �

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

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�����

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�

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>

�������� ������ "������������������.������������������$��>��������!����-���

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�

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� � ���� �� ��"��� � ������"��� ��� �

������"����

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���

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�������������������������� ���

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�

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�(��#�(����

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 �

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}�

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!���������������

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��

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)

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!�������������"���!��������"�?���!���������������"�������"�����"������

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�

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)

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>

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>

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�

71

� � �5��� �������8�6�������4����� T� )� �������?�������� ������� ��������"��

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

� �������� �������� �T� )� �������?���� ���� �������� "���� ��� ������"���%?� �� �����

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

���?�����

A?����� �����"���� ����� ������"��� ��� ���"��� "��� �� ��������� �� ��������� �� ��

������"�� ��7��������� �� '�����"��� <����!� ���� �2����� ��� �2������ ��� �� ����������

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

=�� ���"���� ������"�� ����� �"���� � ��������"� �� �� ��������� ���"1"���� �� 5�"���!�

�������3�����*���������"� ����7�����������'�����"��

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>/'���"����������?���������� ���������

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 ��������

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� ���"�� �������� "��?� ��� "��� ��

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�

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�

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�

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

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��!�����������������������������������

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�

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>��

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�

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�

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����)��������� �������������"�����

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�

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>/'��

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�� #��� ������� ���� ���"�� �"��"�����"�� ����� ���"��� � �� ���"�� �� �����

87

����$��=�����������������"1"���!��������"�������7�����������:�#����"��������?���!���

7����������������G��������!���7����������'����������� �������������3�������"���

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

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

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

��"��$�� ������!��?��������������������������#V3������������"��������2�����������

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

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-

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�

90

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

�� ������ 7��������� �� '�����"��� <���� �����"�� �����-��� ��� ��� �#��"�"���

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

)3� +�����, ��-���� ��

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

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

� 7���� ������ �� �2���� �� �� �"���(� �� �� ������"��� =1�� ����������� ����� ��

������������������� �������������"������?�������������%��"�������������"��

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

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

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

� <������ ��""��"���� � ������"�� �� ��������� �� ����������� �� "��)�� ������ ��

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

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��

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��

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���&��������"������������"�

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�����/���

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��<�"���$��

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��

97

fffffffffffffffffffffffffffffffffffffffff�

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

fffffffffffffffffffffffffffffffffffffffff�

B����"��T����'������&����

:�����!�JD���������������KDDP��

top related