Vous êtes sur la page 1sur 3

EXERCICE 1

Soit la base de donnes suivante :

Relation Compte

No client
Agenc
e

Type compte

Somme

174723

Lausanne

courant

123345

177498

Genve

courant

34564

201639

Lausanne

courant

45102

201639

Lausanne

dpt

325100

203446

Genve

courant

274882

Relation Agence

Agence

Adresse

Lausanne

Rue du lac, 3. 1002 Lausanne

Genve

Avenue du Mont Blanc, 21. 1200 Genve

Relation Client
No client Nom client

Prnom

174723 Villard

Jean

29

177498 Cattell

Blaise

38

201639 Tsellis

Alan

51

Valdimir

36

203446 Kowalsky

Age

FRAGMENTATION HORIZONTALE

La relation Compte peut tre fractionne en Compte1 et Compte2 avec la


fragmentation horizontale suivante :
Compte1 = select * from compte where (TypeCompte = 'courant')
et

Compte2 = select * from compte where (TypeCompte = 'dpt')

La recomposition de Compte est :


FRAGMENTATION VERTICALE

Soit le partitionnement vertical de la relation prcdente Client en deux relations :

Marie-pascale Delamare partir de http://ceria.dauphine.fr/Rim/SupportBDR.pdf

Cli1 = select(NoClient, NomClient) From Client


et Cli2 = select(Noclient, Prnom, Age) From Client
La relation d'origine est obtenue avec la recomposition suivante :
EXERCICE 2

Objectif : Fragmenter la relation Compte (NoClient, Agence, TypeCompte, Somme).


Question 1 : Proposer un schma de fragmentation horizontale, puis ventuellement
verticale en tenant compte des requtes suivantes :
R1 = select (NoClient, Agence) from compte where ((TypeCompte = 'courant') and(Somme >
100 000)) ;
R2 = select * from Compte where Agence=Lausanne ;
R3 = select NoClient, Somme from compte where ((Agence = 'Genve')and(TypeCompte =
'courant')) ;
Question 2 : Donner la(les) commande(s) SQL permettant de mettre en place ce
partitionnement.
Question 3 : Dterminer la(les) partition(s) mises jour par la requte suivante :
Cration d'un nouveau compte pour un client.
INSERT INTO compte VALUES (184 177, Genve, courant, 350 000) ;
EXERCICE 3

Soit la base de donnes :


Rmunration (Titre, salaire)
Employ (numE, nomE, Titre)
Projet (numP, nomP, budget, ville)
Affectation (numE, numP, responsabilit, dure)

Marie-pascale Delamare partir de http://ceria.dauphine.fr/Rim/SupportBDR.pdf

Question 1 : A partir des requtes R1 et R2, proposer un schma de fragmentation


horizontale pour la relation Projet.
R1 : SELECT nomP, budget FROM Projet WHERE ville = valeur ;
R2 : SELECT * FROM projet WHERE budget < 200 000 ;
Question 2 : Donner la requte SQL permettant de raliser ce partitionnement.

Marie-pascale Delamare partir de http://ceria.dauphine.fr/Rim/SupportBDR.pdf