Académique Documents
Professionnel Documents
Culture Documents
Solutions du TD 2
Base de Données Répartie
Consignes
Exercice 01
Soit la base de données distribuée d’une école de langues qui a des annexes dans trois villes
(V1, V2, V3). La base contient les tables suivantes :
⊲ Etd (idEtd, nomEtd, prenomEtd, dateN);
⊲ Langues (idLang, intitule, designation, Prix, ville);
⊲ Notes (idEtd, idLang, note);
⊲ Insc (idEtd, idLang, annee); //Inscription de l’étudiant à une formation d’une langue
pendant telle année.
et soit l’ensemble de prédicats : P𝑟 = {ville="V1", ville="V2", ville="V3"}, permettant
de fragmenter la relation Langues en Lang1 , Lang2 , Lang3 en se basant sur la localisation.
1. Définir les fragments Lang1 , Lang2 , Lang3 en utilisant les symboles de l’algèbre relation-
nel.
⊲ Lang1 = 𝜎(𝑣𝑖𝑙𝑙𝑒=”𝑉1”) (Langues)
⊲ Lang2 = 𝜎(𝑣𝑖𝑙𝑙𝑒=”𝑉2”) (Langues)
⊲ Lang3 = 𝜎(𝑣𝑖𝑙𝑙𝑒=”𝑉3”) (Langues)
2. S’il y a une seule application qui cherche à accéder aux tuples des fragments selon leurs
locations, l’ensemble P𝑟 est-il complet ? Dites pourquoi ?
⊲ P𝑟 est complet, parce que la probabilité d’accès par l’application à n’importe quel
tuple de n’importe quel fragment est égale.
3. Quel type de fragmentation doit-on utiliser pour grouper les étudiants inscrits pour
la langue no 1 en 2 groupes (1er groupe : note < 10, 2ème groupe : note ≥ 10) ?
Montrez comment.
I On utilise la fragmentation horizontale dérivée de la relation Etd qui est basée sur les
fragments horizontaux de la relation Notes en utilisant la semi-jointure, comme suit :
(a) On fragmente la relation Notes(idEtd, idLang, note) en trois fragments :
⊲ Notes1 = 𝜎(𝑖𝑑𝐿𝑎𝑛 𝑔 =1 ∧ 𝑛𝑜𝑡𝑒<10) (Notes)
⊲ Notes2 = 𝜎(𝑖𝑑𝐿𝑎𝑛 𝑔=1 ∧ 𝑛𝑜𝑡𝑒 ≥10) (Notes)
⊲ Notes3 = 𝜎(𝑖𝑑𝐿𝑎𝑛 𝑔≠1) (Notes)
(b) puis par semi-jointure on définit les fragments comme suit :
Exercice 02
Un vendeur enregistre ses ventes sur la base de données suivante :
⊲ Produit (idPdt, nomPdt, prix, stock);
⊲ Client (idClient, Nom, Prenom, date_nais, ville);
⊲ Achat (idAchat, idClient, idPdt, date, quantite);
Le vendeur possède 3 magasins de vente localisés dans trois villes différentes (Setif, Alger et
BBA).
1. Soit les prédicats simples p1 : 20 < stock < 50 et p2 : stock > 50. Effectuez une
fragmentation horizontale de la relation Produit en deux fragments Produit1 et Produit2 ,
en se basant sur l’ensemble de prédicats p1 , p2 .
⊲ Produit1 = 𝜎(𝑠𝑡𝑜𝑐𝑘>20 ∧ 𝑠𝑡𝑜𝑐𝑘<50) (Produit)
⊲ Produit2 = 𝜎(𝑠𝑡𝑜𝑐𝑘>50) (Produit)
2. Soit trois applications qui utilisent la relation Produit, tel que la 1ère application utilise
les tuples des stocks entre 20 et 50, la 2ème application utilise les tuples des stocks
> 50 et la 3ème application utilise les tuples des stocks vides ou presque vides (<
20). Expliquez pourquoi la fragmentation de la question 1 n’est pas bonne ?
I L’ensemble de prédicat {p1 , p2 } n’est pas complet donc la fragmentation n’est pas
bonne.
I Justification : malgré que l’ensemble soit minimal parce que p1 et p2 sont pertinents
(Les fragments générés par ces prédicats sont accédés par au-moins une application),
l’ensemble n’est pas complet parce que l’application 3 à une probabilité 0 pour accéder
au tuples ayant un stock <20.
3. Proposez des prédicats simples pour avoir une bonne fragmentation horizontale, puis
refaites la fragmentation.
I L’ensemble des prédicats simples pour une bonne fragmentation :
Exercice 03
Une relation des employés (EMP) est définie comme suit :
Soit les deux prédicats simples p1 : TITLE < "Programmer" et p2 : TITLE > "Programmer".
Supposons que les chaînes de caractères aient un ordre parmi elles, basé sur l’ordre alphabé-
tique.
1. Effectuer une fragmentation horizontale de la relation EMP (en EMP1 et EMP2 ) par rapport
à {p1 , p2 }.
I Puisqu’il y a deux prédicats, il y aura les deux fragments suivants (selon l’ordre
alphabétique par rapport au mot "Programmer") :
⊲ EMP1 = 𝜎(𝑇𝐼𝑇𝐿𝐸<”𝑃𝑟𝑜 𝑔𝑟𝑎𝑚𝑚𝑒𝑟”) (EMP)
Exercice 04
Considérons la relation des affectations (ASG) suivante :
Supposons que deux applications accèdent à ASG. L’application no 1 s’exécute sur cinq sites et
tente de trouver la durée d’affectation des employés compte tenu de leur nombre. Supposons
que les managers, les consultants, les ingénieurs et les programmeurs se trouvent sur quatre
sites différents. L’application no 2 s’exécute sur deux sites où les employés dont la durée
d’affectation est inférieure à 20 mois sont gérés sur un même site, tandis que ceux dont la
durée est plus longue sont gérés sur un second site.
Exercice 05
Considérons les deux relations des employés et des salaires (EMP et PAY) suivante :
Nous voulons grouper les employés de la relation Emp en 2 groupes selon leurs salaires. Un
groupe pour ceux qui ont un salaire inférieur à 25000, et les autres dans le deuxième groupe.