Vous êtes sur la page 1sur 14

P1 = (NoClient, Agence) et P2 = (NoClient, Somme)

¬ P1 = (TypeCompte, Somme, NoClient) ¬P2 = (Agence, TypeCompte, NoClient)

DEVOIR SURVEILLE : ADMINISTRATION DES BASES DE DONNEES DISTRIBUEES ET REPARTIES

06/01/2022

Exercice 1

1. b, c
2. a, c
3. a , c
4. a, b
5. a , c

Exercice 2

1. R1: SELECT Adresse, Responsable


FROM Usine
WHERE Responsable LIKE 'T%';

R2: SELECT No, Responsable


FROM Usine
WHERE Ville = 'Lomé';

R3: SELECT *
FROM Usine
WHERE Responsable LIKE 'T%' AND Ville != 'Lomé';

2. Définir les contraintes ou conditions élémentaires tout en précisant le nombre de


conjonctions de conditions (CCj):

Les conditions sont :


A. Responsable LIKE 'T%'
B. Ville = 'Lomé'
C. Ville != 'Lomé';

On a trois contraintes qui sont :


R1: C1 = A
R2: C2 =B
R3: C3 = A ∧ ¬B donc le nombre de conjonctions est 23

3. Présenter l'ensemble (CC)) puis faire les simplifications avec justification:

On a : CC = {C1 ʌ C2 ʌ C3, ¬C1 ʌ C2 ʌ C3, C1 ʌ ¬C2 ʌ C3, C1 ʌ C2 ʌ ¬C3, ¬C1 ʌ ¬C2 ʌ C3, C1 ʌ
¬C2 ʌ ¬C3, ¬C1 ʌ C2 ʌ ¬C3, ¬C1 ʌ ¬C2 ʌ ¬C3}

SIMPLIFICATION

1) C1 ʌ C2 ʌ C3 = A ∧ B ∧ (A∧ ¬B)
P1 = (NoClient, Agence) et P2 = (NoClient, Somme)
¬ P1 = (TypeCompte, Somme, NoClient) ¬P2 = (Agence, TypeCompte, NoClient)

=A.B.A.𝐵

C1 ʌ C2 ʌ C3 = 0 car B. 𝑩 = 0

2) C1 ʌ C2 ʌ ¬C3 = A ∧ B ∧ ¬ (A∧ ¬B)


= A.B. (𝐴. 𝐵)
= A.B. (𝐴 +B)
= A.B. 𝐴 + A.B.B

C1 ʌ C2 ʌ ¬C3 = A.B car B.B = B et A. 𝑨 = 0

3) ¬C1 ʌ C2 ʌ C3 = ¬A ∧ B ∧ (A∧ ¬B)


= 𝐴.B.A. 𝐵
¬C1 ʌ C2 ʌ C3 = 0 car A. 𝑨 = 0

4) C1 ʌ ¬C2 ʌ C3 = A ∧ ¬B ∧ (A ∧ ¬B)
= A. 𝐵.A. 𝐵
C1 ʌ ¬C2 ʌ C3 = A. 𝑩 Car A.A = A et𝑩. 𝑩 = 𝑩

5) C1 ʌ ¬C2 ʌ ¬C3 = A ∧ ¬B ∧ ¬ (A ∧ ¬B)


= A. 𝐵.( 𝐴. 𝐵)
= A. 𝐵. (𝐴 +B)
= A. 𝐵. 𝐴 + A. 𝐵.B
C1 ʌ ¬C2 ʌ ¬C3 = 0

6) ¬C1 ʌ C2 ʌ ¬C3 = ¬A ∧ B ∧ ¬ (A∧ ¬B)


= 𝐴.B. ( 𝐴. 𝐵)
=𝐴.B. (𝐴 +B)
=𝐴.B. 𝐴 +𝐴.B.B
¬C1 ʌ C2 ʌ ¬C3 =𝑨.B

7) ¬C1 ʌ ¬C2 ʌ C3 = ¬A ∧ ¬B ∧ (A∧ ¬B)


= 𝐴. 𝐵.A. 𝐵
¬C1 ʌ ¬C2 ʌ C3 = 0

8) ¬C1 ∧ ¬C2 ∧ ¬C3 = ¬A ∧ ¬B ∧ ¬ (A ∧ ¬B)


= 𝐴. 𝐵. ( 𝐴. 𝐵)
= 𝐴. 𝐵. (𝐴 +B)
= 𝐴. 𝐵. 𝐴 +𝐴. 𝐵.B
¬C1 ∧ ¬C2 ∧ ¬C3 =𝑨. 𝑩
P1 = (NoClient, Agence) et P2 = (NoClient, Somme)
¬ P1 = (TypeCompte, Somme, NoClient) ¬P2 = (Agence, TypeCompte, NoClient)

4. Les requêtes des ccj non vides

C1 ʌ C2 ʌ ¬C3 = A.B : SELECT * FROM USINE WHERE Responsable LIKE 'T%' AND Ville = 'Lomé';

C1 ʌ ¬C2 ʌ C3 = A. 𝑩 : SELECT * FROM USINE WHERE Responsable LIKE 'T%' AND Ville !='Lomé';

¬C1 ʌ C2 ʌ ¬C3 =𝑨.B : SELECT * FROM USINE WHERE Responsable NOT LIKE 'T%' AND Ville ='Lomé';

¬C1 ∧ ¬C2 ∧ ¬C3 =𝑨. 𝑩 : SELECT * FROM USINE WHERE Responsable NOT LIKE 'T%' AND
Ville ='Lomé';

02/05/2019

Exercice 2

Fragmentation verticale : On se concentre sur les attributs après le select

Réécriture de R1, R2, R3 en langage SQL

R1 : SELECT NoClient, Agence

FROM COMPTE

WHERE TypeCompte =’courant’ AND Somme > 100 000

R2 : SELECT NoClient, Somme

FROM COMPTE

WHERE Agence =’Genève’ AND TypeCompte = ‘courant’

R3 : SELECT *

FROM COMPTE

WHERE Agence =’Lausanne’

On a deux projections P1 = (NoClient, Agence) et P2 = (NoClient, Somme)

Déterminons ¬ P1 et ¬P2 pour construire l’ensemble des intersections de projections

Pour obtenir le complément d’une projection , on sélectionne les attributs de la relation qui ne sont
pas présentes dans la projection accompagnés toujours de la clé primaire de la relation

¬ P1 et ¬P2 sont respectivement les compléments de P1 et P2

Compte (NoClient, Agence, TypeCompte, Somme)


P1 = (NoClient, Agence) et P2 = (NoClient, Somme)
¬ P1 = (TypeCompte, Somme, NoClient) ¬P2 = (Agence, TypeCompte, NoClient)

¬ P1 = (TypeCompte, Somme, NoClient)

¬P2 = (Agence, TypeCompte, NoClient)

Nous avons deux (02) contraintes donc le nombre d’intersection est 22 = 4 donc on construit
l’ensemble IP tel que IP = {P1 ∩ P2, ¬ P1 ∩ P2, P1 ∩ ¬P2, ¬P1 ∩ ¬P2} avec :

P1 ∩ P2= (NoClient, Agence) ∩ (NoClient, Somme) = (NoClient)

¬ P1 ∩ P2= (TypeCompte, Somme, NoClient) ∩ (NoClient, Somme) = (NoClient, Somme)

P1 ∩ ¬P2= (NoClient, Agence) ∩ (Agence, TypeCompte, NoClient) = (NoClient, Agence)

¬P1 ∩ ¬P2 = (TypeCompte, Somme, NoClient) ∩ (Agence, TypeCompte, NoClient) = (TypeCompte,


NoClient)

Les fragments verticaux obtenus ne sont que les résultats des intersections de projection obtenus
précédemment :

- F1 = ∏ NoClient (Compte)

- F2 = ∏ NoClient, Somme (Compte)

- F3 = ∏ NoClient, Agence (Compte)

- F4 = ∏NoClient, TypeCompte (Compte)

Fragmentation verticale : On se concentre sur les attributs après la clause where

Réécriture de R1, R2, R3 en langage SQL

R1 : SELECT NoClient, Agence

FROM COMPTE

WHERE TypeCompte =’courant’ AND Somme > 100 000

R2 : SELECT NoClient, Somme

FROM COMPTE

WHERE Agence =’Genève’ AND TypeCompte = ‘courant’

R3 : SELECT *

FROM COMPTE

WHERE Agence =’Lausanne’

Détermination des conditions

A. TypeCompte =’courant’
B. Somme > 100 000
C. Agence =’Genève’
D. Agence =’Lausanne’
P1 = (NoClient, Agence) et P2 = (NoClient, Somme)
¬ P1 = (TypeCompte, Somme, NoClient) ¬P2 = (Agence, TypeCompte, NoClient)

Détermination des contraintes

C1 : A ∧B

C2 : A ∧C

C3 : D ou ¬C donc le nombre de conjonctions de conditions est 23 car on a trois contraintes

1. Présenter l'ensemble (CC)) puis faire les simplifications avec justification:

On a : CC = {C1 ʌ C2 ʌ C3, ¬C1 ʌ C2 ʌ C3, C1 ʌ ¬C2 ʌ C3, C1 ʌ C2 ʌ ¬C3, ¬C1 ʌ ¬C2 ʌ C3, C1 ʌ
¬C2 ʌ ¬C3, ¬C1 ʌ C2 ʌ ¬C3, ¬C1 ʌ ¬C2 ʌ ¬C3}

a) C1 ʌ C2 ʌ C3 = A ∧B ∧A ∧C∧¬C
= A.B.A.C.𝐶

C1 ʌ C2 ʌ C3 = 0 car C.𝐶 = 0

b) ¬C1 ʌ C2 ʌ C3 = ¬( A ∧B) ∧A ∧C∧¬C


= (𝐴 + 𝐵 ) . A.C.𝐶
= (𝐴 . 𝐵) . A.C.𝐶
¬C1 ʌ C2 ʌ C3 = 0

c) C1 ʌ ¬C2 ʌ C3 = A ∧B ∧¬ A ∧C∧¬C
=A.B. 𝐴.C. 𝐶
C1 ʌ ¬C2 ʌ C3 =0

d) C1 ʌ C2 ʌ ¬C3 = A ∧B ∧A ∧C∧C
=A.B.A.C.C

C1 ʌ C2 ʌ ¬C3 = A.B.C

e) ¬C1 ʌ ¬C2 ʌ C3 = ¬(A ∧B )∧ ¬(A ∧C)∧ ¬C


= (𝐴 + 𝐵 )

F1 : C1 ʌ C2 ʌ ¬C3 = A.B.C

SELECT * FROM COMPTE WHERE


TypeCompte =’courant’
Somme > 100 000
Agence =’Genève’
P1 = (NoClient, Agence) et P2 = (NoClient, Somme)
¬ P1 = (TypeCompte, Somme, NoClient) ¬P2 = (Agence, TypeCompte, NoClient)
P1 = (NoClient, Agence) et P2 = (NoClient, Somme)
¬ P1 = (TypeCompte, Somme, NoClient) ¬P2 = (Agence, TypeCompte, NoClient)

26/01/2021

Exercice 1

1. Définitions :
Base de données distribuées : Une base de données répartie (distribuée) est une base de
données logique dont les données sont distribuées sur plusieurs SGBD et visibles comme un
tout.

Fragmentation : On définit la fragmentation comme étant le processus de décomposition


d'une base de données logique (telle que la voient les utilisateurs) en un ensemble de « sous
» -bases de données appelées fragments sans perte de données

2. La répartition d'une base de données intervient dans les trois niveaux de son architecture en
plus de la répartition physique des données :
− Niveau externe: les vues sont distribuées sur les sites utilisateurs.

− Niveau conceptuel: le schéma conceptuel des données est associé, par l'intermédiaire du
schéma de répartition (lui-même décomposé en un schéma de fragmentation et un schéma
d'allocation), aux schémas locaux qui sont réparties sur plusieurs sites, les sites physiques.

−Niveau interne: le schéma interne global n'a pas d'existence réelle mais fait place à des
schémas internes locaux répartis sur différents sites

3. Les principaux objectifs visés par une répartition des données sont :
− La transparence pour l’utilisateur
− Autonomie de chaque site
− Pas de site privilégié
− Continuité de service
− Traitement des requêtes distribuées

4. Méthodes de conception d’une base de données distribuées et répartie


Conception descendante (top down design)
Avantages :
o Amélioration des performances de traitement (les traitements s’effectuent
au niveau du site local)
P1 = (NoClient, Agence) et P2 = (NoClient, Somme)
¬ P1 = (TypeCompte, Somme, NoClient) ¬P2 = (Agence, TypeCompte, NoClient)

o Haute disponibilité grâce la multiplicité de copies

Conception ascendante (bottom up design)

Avantages :

o Amélioration des performances car les traitements sont réaliser en local


o Les utilisateurs ont un aperçu unique des sonnées fonctionnant (implémentées) sur
plusieurs systèmes à priori hétérogènes (plateformes et SGBD)
o Cohabitation de plusieurs systèmes (des entreprises) en permettant leur
interopérabilité

Exercice 2

1. R1 : SELECT *
FROM PERSONNELTCOM
WHERE PRENOM = ‘Serge’ AND NAME LIKE '%R%';

R2 : SELECT *
FROM PERSONNELTCOM
WHERE PROVENANCE = ‘TOGOCEL’;

R3 : SELECT MATRICULE, NOM


FROM PERSONNELTCOM
WHERE PRENOM = ‘Serge’ AND PROVENANCE = ‘TOGOTELECOM’;

2. Définir les contraintes ou conditions élémentaires tout en précisant le nombre de


conjonctions de conditions (CCj):

Les conditions sont :


A. PRENOM = ‘Serge’
B. NAME LIKE ‘%R%’
C. PROVENANCE = ‘TOGOCEL’;
D. PROVENANCE = ‘TOGOTELECOM’;

On a trois contraintes qui sont :


R1: C1 = A ∧ B
R2: C2 =C
R3 :C3=A ∧ D = A ∧ ¬C donc le nombre de conjonctions est 23

3. Présenter l'ensemble (CC)) puis faire les simplifications avec justification:


On a : CC = {C1 ʌ C2 ʌ C3, ¬C1 ʌ C2 ʌ C3, C1 ʌ ¬C2 ʌ C3, C1 ʌ C2 ʌ ¬C3, ¬C1 ʌ ¬C2 ʌ C3, C1 ʌ
¬C2 ʌ ¬C3, ¬C1 ʌ C2 ʌ ¬C3, ¬C1 ʌ ¬C2 ʌ ¬C3}
P1 = (NoClient, Agence) et P2 = (NoClient, Somme)
¬ P1 = (TypeCompte, Somme, NoClient) ¬P2 = (Agence, TypeCompte, NoClient)

SIMPLIFICATION
a) C1 ʌ C2 ʌ C3 = A ∧ B ∧ C ∧ A ∧ ¬C
= A.B.C.A.𝐶
C1 ʌ C2 ʌ C3 =0

b) C1 ʌ C2 ʌ ¬C3 = A ∧ B ∧ C ∧ ¬ (A ∧ ¬C)
= A.B.C. (𝐴. 𝐶)
= A.B.C. ( 𝐴 +C)
= A.B.C. 𝐴 + A.B.C.C
C1 ʌ C2 ʌ ¬C3 = A.B.C

c) C1 ʌ ¬C2 ʌ C3 = A∧ B ∧¬C ∧ A ∧ ¬C
= A.B.𝐶.A.𝐶

C1 ʌ ¬C2 ʌ C3 = A.B. 𝑪

d) C1 ʌ ¬C2 ʌ ¬C3 =A ∧ B ∧¬C ∧ ¬ (A ∧ ¬C)


= A.B. 𝐶. (𝐴. 𝐶)
= A.B. 𝐶. ( 𝐴 +C)
= A.B. 𝐶. 𝐴 + A.B. 𝐶.C

C1 ʌ ¬C2 ʌ ¬C3 = 0

e) ¬C1 ʌ C2 ʌ C3 = ¬ (A ∧ B) ∧ C ∧ A ∧ ¬C
= (𝐴. 𝐵 ).C.A. 𝐶
= (𝐴 + 𝐵) .C.A. 𝐶

¬C1 ʌ C2 ʌ C3= 0

f) ¬C1 ʌ C2 ʌ ¬C3 = ¬ (A ∧ B) ∧ C ∧ ¬ (A ∧ ¬C)


= (𝐴. 𝐵 ).C. (𝐴. 𝐶)
=(𝐴 + 𝐵).C. ( 𝐴 +C)
= C. ( 𝐴 + 𝐴.C + 𝐵. 𝐴 + 𝐵 .C)
=𝐴 .C +𝐴 .C +𝐵. 𝐴.C + 𝐵 .C
=𝐴 .C +𝐵 .C
= C. ( 𝐵+𝐴)

¬C1 ʌ C2 ʌ ¬C3 = C. (𝑨. 𝑩 )


P1 = (NoClient, Agence) et P2 = (NoClient, Somme)
¬ P1 = (TypeCompte, Somme, NoClient) ¬P2 = (Agence, TypeCompte, NoClient)

g) ¬C1 ʌ ¬C2 ʌ C3 =¬ (A ∧ B) ∧¬ C ∧ (A ∧ ¬C)


= (𝐴. 𝐵 ). 𝐶 .A. 𝐶
=(𝐴. 𝐵 ). 𝐶.A
=(𝐴 + 𝐵). 𝐶.A
=𝐴 . 𝐶. 𝐴 +𝐶 . 𝐵.A

¬C1 ʌ ¬C2 ʌ C3 =𝑪 . 𝑩.A

h) ¬C1 ∧ ¬C2 ∧ ¬C3 =¬ (A ∧ B) ∧¬ C ∧ ¬ (A ∧ ¬C)


=(𝐴. 𝐵 ). 𝐶 . (𝐴. 𝐶)
= (𝐴 + 𝐵). 𝐶.( 𝐴 +C)
= 𝐶 . (𝐴 +𝐴 . C +𝐵 .C +𝐵 . 𝐴)
= 𝐴 . 𝐶 +𝐵 . 𝐴. 𝐶

¬C1 ∧ ¬C2 ∧ ¬C3 =𝑨. 𝑪

4. Les requêtes des ccj non vides

F1 : C1 ʌ C2 ʌ ¬C3 = A.B.C : SELECT * FROM PERSONNELTCOM

WHERE PRENOM = ‘Serge’ AND

NAME LIKE ‘%R%’ AND

PROVENANCE = ‘TOGOCEL’;

F2 : C1 ʌ ¬C2 ʌ C3 = A.B. 𝐶 : SELECT * FROM PERSONNELTCOM

WHERE PRENOM = ‘Serge’

NAME LIKE ‘%R%’ AND

PROVENANCE = ‘TOGOTELECOM’;

F3 : ¬C1 ʌ C2 ʌ ¬C3 = C. (𝐴. 𝐵 ) : SELECT * FROM PERSONNELTCOM

WHERE PROVENANCE = ‘TOGOCEL’;

AND PRENOM = ‘Serge’

AND NAME NOT LIKE ‘%R%’

F4 : ¬C1 ʌ ¬C2 ʌ C3 =𝐶 . 𝐵.A : SELECT * FROM PERSONNELTCOM

WHERE PROVENANCE = ‘TOGOTELECOM’;

AND PRENOM = ‘Serge’


P1 = (NoClient, Agence) et P2 = (NoClient, Somme)
¬ P1 = (TypeCompte, Somme, NoClient) ¬P2 = (Agence, TypeCompte, NoClient)

AND NAME NOT LIKE ‘%R%’

F5 : ¬C1 ∧ ¬C2 ∧ ¬C3 =𝐴. 𝐶 : SELECT * FROM PERSONNELTCOM

WHERE PROVENANCE = ‘TOGOTELECOM’;

AND PRENOM != ‘Serge’

5. F1 : C1 ʌ C2 ʌ ¬C3 = A.B.C : SELECT * FROM PERSONNELTCOM

WHERE PRENOM = ‘Serge’ AND

NAME LIKE ‘%R%’ AND

PROVENANCE = ‘TOGOCEL’;

MATRICULE NOM PRENOM PROVENANCE


TGC 20 MIDZRATO Serge TOGOCEL

F2 : C1 ʌ ¬C2 ʌ C3 = A.B. 𝐶 : SELECT * FROM PERSONNELTCOM

WHERE PRENOM = ‘Serge’

NAME LIKE ‘%R%’ AND

PROVENANCE = ‘TOGOTELECOM’;

MATRICULE NOM PRENOM PROVENANCE


TGC 13 PERE Serge TOGOTELECOM

F3 : ¬C1 ʌ C2 ʌ ¬C3 = C. (𝐴. 𝐵 ) : SELECT * FROM PERSONNELTCOM

WHERE PROVENANCE = ‘TOGOCEL’;

AND PRENOM = ‘Serge’

AND NAME NOT LIKE ‘%R%’

MATRICULE NOM PRENOM PROVENANCE


TGC 12 DAMIGOU Serge TOGOCEL

F4 : ¬C1 ʌ ¬C2 ʌ C3 =𝐶 . 𝐵.A : SELECT * FROM PERSONNELTCOM

WHERE PROVENANCE = ‘TOGOTELECOM’;

AND PRENOM = ‘Serge’

AND NAME NOT LIKE ‘%R%’


P1 = (NoClient, Agence) et P2 = (NoClient, Somme)
¬ P1 = (TypeCompte, Somme, NoClient) ¬P2 = (Agence, TypeCompte, NoClient)

MATRICULE NOM PRENOM PROVENANCE


TGC 26 DJEGUEMA Serge TOGOTELECOM
F5 : ¬C1 ∧ ¬C2 ∧ ¬C3 =𝐴. 𝐶 : SELECT * FROM PERSONNELTCOM

WHERE PROVENANCE = ‘TOGOTELECOM’;

AND PRENOM != ‘Serge’

MATRICULE NOM PRENOM PROVENANCE


TGC 34 NAOUSSI Jeanne TOGOTELECOM
TGC 11 N’DORAND Aline TOGOTELECOM
TGC 38 BOGRA Robert TOGOTELECOM
P1 = (NoClient, Agence) et P2 = (NoClient, Somme)
¬ P1 = (TypeCompte, Somme, NoClient) ¬P2 = (Agence, TypeCompte, NoClient)

20/12/2019

1. Système distribué : application qui coordonne les actions de plusieurs ordinateurs pour
réaliser une tâche particulière
2. Base de données distribuées : Grande quantité de données résidant sur plusieurs machines
3. Fragmentation : C’est le processus de décomposition d’une BD en un ensemble de sous-BD.
4. POURQUOI FRAGMENTER?
•Un ordinateur et un disque • 1 To ; Scan séquentiel ; Environ 166 minutes
•100 disques en parallèle • Moins de 2 min
•100 ordinateurs distribués • Chacun a sa CPU, son disque => extrêmement rapide
5. Règles à respecter lors d’une fragmentation : Complétude, reconstruction, disjonction
6. On intègre les bases de données pour garder l’autonomie des différents systèmes
7. REPLICATION : Consiste à copier les informations d’une base de données vers une autre
8. But de la réplication : Faire qu’il y ait plusieurs copies de la même donnée
9. La réplication et la mise en miroir sont des techniques de sauvegarde de données qui ont des
objectifs similaires, mais qui fonctionnent de manière différente. La réplication consiste à
copier les données d'un serveur vers un ou plusieurs autres serveurs, de manière à ce qu'il y
ait plusieurs copies des données. Cela permet de réduire les risques de perte de données en
cas de panne ou de défaillance d'un serveur. La mise en miroir, quant à elle, consiste à créer
une copie exacte des données sur un autre disque ou un autre serveur. Cela permet de
continuer à utiliser les données en cas de panne ou de défaillance d'un disque ou d'un
serveur. En résumé, la réplication sert à protéger les données contre la perte en ayant des
copies multiples des données, tandis que la mise en miroir sert à protéger les données contre
la perte en ayant une copie exacte des données disponible en temps réel.
10. Conception d’une BD répartie : Approche de conception top-down, Approche de conception
bottom-up
11. Répartition en 2 étapes: Fragmentation et Allocation
12. Les trois niveaux fonctionnels de l’architecture fonctionnelle d’un sgbd centralisé : Niveau
utilisateur, niveau système, niveau matériel
13. On dispose de trois niveaux dans l’architecture fonctionnelle d’un sgbd distribué
14. Niveau interne, niveau externe, niveau conceptuel
P1 = (NoClient, Agence) et P2 = (NoClient, Somme)
¬ P1 = (TypeCompte, Somme, NoClient) ¬P2 = (Agence, TypeCompte, NoClient)

15. L’allocation
Opérateur de Opérateur de recomposition
partitionnement
Répartition par classes Définition de sous-schémas Réunion de sous-schémas
d’objet
Répartition par occurrences Sélection (σ) Union (U)
Répartition par attributs projection (π) jointure (⋈)

Vous aimerez peut-être aussi