SETIT2007
5
Nous définissons le schéma global SG avec n
relations globales
RG : ( SG < RG1, RG2,…, RGn>).
Soit S l’ensemble de sources de données, noté :
S < S1, S2, …, Ss >
Chaque relation globale RGi est caractérisée par un
ensemble d’attributs et une clé primaire Ki qui peut être
composée de plusieurs attributs
Ai : RGi < Ki,Ai1, Ai2, …,Aim >
Soit RL l’ensemble des relations locales noté :
RL < RL1, RL2, …, RLl > ,
où chaque relation RLj est associé à une seule source et
à une relation globale. Elle est décrite comme suit :
RLj < Kj, Aj1, Aj2, …,Ajl , RGj , Sj> ,
où :
RLj
∩
RGi
≠
φ
Kj =Ki (Ki est la clé de sa relation globale
RGj)
Sj sa source
Soit P < P1, P2, …..,Pp > l’ensemble de prédicats
simples définissant les relations locales (en cas de
fragmentation horizontale). Chaque prédicat Pi est défini
par un attribut Ai, un opérateur Oi et une valeur Vi tel
que : Oi = { <, >, =, <=, >= }
Soit Q une requête posée sur le schéma global du
médiateur dont la structure est la suivante :
SELECT liste attributs (LA)
FROM liste tables (LT)
WHERE C1
AND C2
AND ….
GROUP BY liste attributs
HAVING condition1
ORDER BY liste attributs
Avec :
LA < A1, A2, …, At > : ensemble des attributs à
projeter
LT : ensemble de tables du schéma global.
‘’Ci ‘’ : ensemble des conditions.
Cette requête globale Q (LT, LA, C) est traduite sur
les relations locales comme suit :
Q (LT, LA, C) = Q (RLi1, LAi1, Ci1) ∧
Q (RLi2, LAi2, Ci2) ∧ Q (RLi3, LAi3, Ci3) ∧ ….
3.3. Structures des tables de description de sources
de données.
3.3.1 La Table Relation
Cette table contient toutes les relations du système
intégré. Chaque relation est décrite par un identifiant, un
nom, un type (relation globale ou relation locale),
l’identifiant de sa relation globale (dans le cas d’une
relation locale), et le numéro de sa source.
relation (n, no, t, nr, ns)
∈
Relation ssi la relation de
numéro n et de nom no et de type t référençant une
relation globale (si n est une relation locale) de numéro
nr appartenant à la source ns.
3. 3. 2 La Table Attribut
Elle contient tous les attributs manipulés par le
système intégré. Chaque tuple de cette table est
caractérisé par un identifiant, un nom, et son type.
attribut(n, no, t)
∈
Attribut ssi l’attribut de numéro n a
pour nom no et de type t référençant un attribut d’une
relation globale ou locale.
3. 3. 3 La Table Source
Chaque source a un numéro et un nom
source(n, no)
∈
Source ssi la source de numéro n et de
nom no appartient à l’ensemble de sources
participantes au système d’intégration.
3.3.4 La Table Rel_attribut
Cette table représente l’association entre la table
relation et la table attribut. Elle contient les clés
primaires des deux tables plus un attribut Nature (de
type booléen) qui détermine si l’attribut est une clé
primaire ou pas.
(nr, na, nt)
∈
Rel_attribut ssi la relation nr a pour
attribut na de nature nt.
3. 3.5 La Table Prédicat
Elle contient tous les prédicats de tous les fragment,
chaque prédicat est décrit par un identifiant, l’attribut
sur lequel on applique la contrainte, l’opérateur et la
valeur de comparaison.
prédicat(n, na,o,v)
∈
Prédicat ssi le prédicat de numéro
n est définie sur l’attribut na avec l’opérateur o et sur
la valeur v.
3. 3.6 La Table Relation_loc_prédicat
Cette table représente l’association entre la table
relation (le cas où elle est représentée comme un
fragment horizontal) et la table prédicat. Elle contient
les clés primaires des deux tables.
(nr, np)
∈
Relation_loc_prédicat ssi le prédicat de
numéro np définie la relation locale de numéro nr.
4. Application
4.1. Introduction
Notre application porte sur l’informatisation d’une
partie du dossier médical du patient. On implémentera
une base de données distribuée sur les sites des
différents services médicaux que comptera un centre
hospitalier. Le dossier médical renfermera des
informations de nature différente (multimédia) et pour
les besoins de l’application son parcours se limitera aux
trois services suivants :
Service des urgences (admission du patient).