Vous êtes sur la page 1sur 3

Au 

: 2014/2015

Bases de Données Reparties


TD
R.KHCHERIF

Exercice 1

Un extrait d’une base de données répertoriant des matériels réseaux installés sur un réseau local,
d’adresse IP 192.21.32.0, subdivisé en 6 sous-réseaux, est donné ci-après :

STATION (adIP, config, marque, #adIPréseau)

On souhaite répartir cette table suivant la méthodologie de fragmentation horizontale.


On observe pour cela les trois requêtes les plus fréquentes :
R1 : SELECT adIP, config, marque FROM STATION WHERE adIPréseau = ’192.21.32.96’;
R2 : SELECT marque FROM STATION WHERE adIPréseau = ’192.21.32.96’ OR
adIPréseau= ’192.21.32.32’ ;
R3 : SELECT adIP, config FROM STATION WHERE marque = ’HP’ ;
On pose :
A : adIPréseau = ’192.21.32.96’ B : adIPréseau = ’192.21.32.3’ C : marque = ’HP’
1. On note C1, C2 et C3 les conditions définies dans les clauses WHERE des requêtes
R1, R2 et R3 respectivement. Écrire les conditions C1, C2 et C3 en fonction de A, B et
C.
2. On considère l’ensemble M1 contenant les prédicats des requêtes et leur négation
(notée ¬). On a M1 = {C1, C2, C3, ¬C1, ¬C2, ¬C3}. On veut construire l’ensemble
M2 des prédicats composés obtenus par conjonction des prédicats de M1.
a. Combien de prédicats contient M2, sans compter les prédicats dont la valeur
logique est toujours « faux » ?
b. Écrire tous les prédicats de M2 pouvant servir à la fragmentation horizontale
correcte de la table STATION.
3. En déduire les fragments de la table STATION. Ils seront illustrés par les occurrences
de la table STATION ci-dessus pour montrer que tous les enregistrements trouvent
une place unique dans les fragments.

Exercice 2

Considérons la relation
Projet (numP, nomP, budget, ville).
Objectif : Trouver un schéma de fragmentation verticale pour la relation Projet, en
tenant compte des requêtes suivantes :
R1 : SELECT budget FROM projet WHERE numP = valeur;
R2: SELECT nomP, budget FROM projet;
R3: SELECT nomP FROM projet WHERE ville = valeur;
R4: SELECT SUM(budget) FROM projet WHERE ville = valeur;
1. Construire la matrice d’utilisation Ut, définie comme suit :
Ut(Ri, Aj) = 1 ssi la requête Ri utilise l’attribut Aj
Ut(Ri, Aj) = 0 sinon.
2. Construire la matrice d’affinité Aff, définie comme suit :
Aff(Ai, Aj) = ΣUt(Rk, Ai)=1 et Ut(Rk, Aj)=1 Σsites l Ref l (Rk)* Acc l (Rk)
Ref l (Rk) est le nombre d’accès aux attributs Ai et Aj pour une exécution de Rk sur le site l.
Acc l (Rk) représente la fréquence d’accès à la requête Rk sur le site l.
Sachant que : ∀Rk, site l, Ref l (Rk) = 1
Acc 1 (R1) = 15 Acc 2 (R1) = 20 Acc 3 (R1) = 10
Acc 1 (R2) = 5 Acc 2 (R2) = 0 Acc 3 (R2) = 0
Acc 1 (R3) = 25 Acc 2 (R3) = 25 Acc 3 (R3) = 25
Acc 1 (R4) = 3 Acc 2 (R4) = 0 Acc 3 (R4) = 0
3. A partir de la matrice d’affinité obtenue, proposer une fragmentation verticale pour la
relation Projet.

Exercice de conception

Question 1. Trois universités parisiennes (Jussieu, Sorbonne, Dauphine) ont décidé de


mutualiser leurs bibliothèques et leur service de prêts, afin de permettre à l’ensemble des
étudiants d’emprunter des ouvrages dans toutes les bibliothèques des universités participantes.
Par exemple, un étudiant de Jussieu pourra emprunter des ouvrages à la bibliothèque de la
Sorbonne.
La gestion commune des bibliothèques et des emprunts est effectuée par une base de données
répartie, dont le schéma global est le suivant :
EMPLOYE (Id_pers, nom, adresse, statut, affectation)
L’attribut affectation désigne ici la bibliothèque où travaille l’employé.
ETUDIANT (Id_etu, nom, adresse, université, cursus, nb_emprunts)
L’attribut université indique l’université où est inscrit l’étudiant.
OUVRAGES (Id_ouv, titre, éditeur, année, domaine, stock, site)
L’attribut site indique la bibliothèque qui gère cet ouvrage. L’attribut domaine permet de
classer les ouvrages en catégories (physique, maths, informatique, médecine, etc.). L’attribut
stock désigne le nombre d’ouvrages restant disponibles au prêt.
AUTEURS (Id_ouv, nom_auteur)
PRETS (Id_ouv, Id_etu, date_emprunt, date_retour)
La gestion de cette application s’appuie sur les hypothèses suivantes :

- un employé est affecté à un seul site


- un étudiant est inscrit dans une seule université, mais peut emprunter dans toutes les
bibliothèques.
- un ouvrage emprunté dans une bibliothèque est rendu dans la même bibliothèque.
- Le champ nb_emprunts de la relation ETUDIANT est utilisé pour limiter le nombre
d’ouvrages empruntés simultanément par un étudiant sur l’ensemble des bibliothèques. Il est
mis à jour lors de chaque emprunt et chaque retour, quelle que soit la bibliothèque d’emprunt.
- Chaque université gère ses propres étudiants
- Chaque bibliothèque gère son personnel et les ouvrages qu’elle détient.

Travail demandé

Les relations globales sont fragmentées et réparties sur les différents sites.
Donner la définition des différents fragments en utilisant les opérateurs de l’algèbre
relationnelle ainsi que le schéma d’allocation des fragments.

Vous aimerez peut-être aussi