TME Requêtes Réparties
Préparation
- Télécharger l'archive tp-requete-repartie.tgz et la décompresser.
- choisir un numéro de binome unique
- créer 3 utilisateurs: @utilisateur
- créer les liens entre les bases : @link
Fragmentation des données
siteB :
- EmpB: les Employé d'age <20
*ServB: le n° et le budget de tous les services
siteC :
- EmpC: les Employés d'age >=20
- ServC: le n° et le dir de tous les services
Vue de reconstruction des données
siteA :
- Vue_emp = EmpB U EmpC
- Vue_service = ServiceB |><| ServiceC
Exercices
Voir poly du cours 5.
Ex1 : Requêtes
Pour chaque requête, donner le plan d'exécution. Si ce plan ne vous semble pas optimal, écrire une requête équivalente qui produit un plan plus efficace.
- sélection : select * from Emp where age < 10
- projection : select count(num) from Vue_Emp
* jointure: select count(*) from Vue_Emp e, Vue_Serv s where e.serv = s.ns
Ex2: Mises à jour
- Pourquoi les mises à jour de Vue_Emp sont-elles refusées ?
Créer un trigger pour rendre possible les mises à jour de Vue_Emp.
- create trigger instead of ...
Vérifier que la mise à jour suivante ne produit pas d'incohérence
- update Vue_Emp set age = age + 30