Vous êtes sur la page 1sur 15

Exercice 1

◗ On considère la relation R(A, B,C) avec l'ensemble de DF {AB ;BC}


◗ Q uelle est la clé primaire de R?
◗ Dans quelle forme normale se trouve cette relation?
◗ L'extension de la relation R' suivante est-elle une extension de R?
R' A B C
A1 B1 C1
A2 B1 C2
A3 B2 C1
A4 B3 C3
◗ Trouvez une extension R'' conforme à R à partir de R'.
◗ Proposez une décomposition en 3FN de R sans perte d'information.

338 © Mohamed H A D J K ACE M AU : 2021 - 2022


Exercice 1
◗ On considère la relation R(A, B,C) avec l'ensemble de DF {AB ;BC}
◗ Q uelle est la clé primaire de R?
◗ On a:
◗ AB
◗ AC (par transitivité)
◗ D’oùA est la clé de R donc R devient R(A, B,C)
◗ Dans quelle forme normale se trouve cette relation?
◗ 1FN ?
◗ R possède une cléA
◗ Tous les attributs sont atomiques
◗ D onc R est en 1FN .

339 © Mohamed H A D J K ACE M AU : 2021 - 2022


Exercice 1
◗ 2FN ?
◗ R est en 1FN
◗ Toutes les Df entre la clé et les autres attributs sont élémentaires :la
question ne se pose même pas ici puisque la clé est un attribut simple ;il
n’est pas question de partie de clé.
◗ D onc R est en 2FN .
◗ 3FN ?
◗ R n’est pas en 3FN à cause de la D F BC
◗ C onclusion :R est en 2FN .

340 © Mohamed H A D J K ACE M AU : 2021 - 2022


Exercice 1
◗ L'extension de la relation R' suivante est-elle une extension de R?

◗ Cette extension n’est pas une extension de R car elle ne respecte pas la
DF BC. En effet, pour une valeur de B (B1) il existe deux valeurs de C
(C1, C2).
◗ Trouvez une extension R'' conforme à R à partir de R'.
R'' A B C
A1 B1 C1
A2 B1 C1
A3 B2 C1
A4 B3 C3

341 © Mohamed H A D J K ACE M AU : 2021 - 2022


Exercice 1
◗ Proposez une décomposition en 3FN de R sans perte
d'information.
◗ R(A,B,C ) est en 2FN et n’est pas en 3FN .
◗ N ormalisation en 3FN :
◗ R1(B,C )
◗ R2(A,B)
◗ R1 et R2 sont en 3FN puisque toutes les DF entre la clé et les
attributs sont directes.

342 © Mohamed H A D J K ACE M AU : 2021 - 2022


Exercice 2
◗ Soit le modèle relationnel suivant relatif à la gestion des notes annuelles
d'une promotion d'étudiants :
◗ ETUD IAN T (N Etu,N om,Prénom)
◗ MATIERE (CodeMat,LibMat,C oefMat)
◗ EVALUER (#N Etu,#C odeMat,D ate,N ote)
◗ Exprimer les requêtes suivantes avec le langage SQL.
◗ 1.Quel est le nombre total d'étudiants ?
◗ 2. Quelles sont, parmi l'ensemble des notes, la note la plus haute et la note
la plus basse ?
◗ 3. Q uelles sont les moyennes de chaque étudiant dans chacune des
matières ?
◗ 4.Q uelles sont les moyennes par matière ?
◗ 5.Quelle est la moyenne générale de chaque étudiant ?
343 © Mohamed H A D J K ACE M AU : 2021 - 2022
Exercice 2
◗ 1.Q uel est le nombre total d'étudiants ?
SELECT COUNT(*)
FROM ETUDIANT;
◗ 2. Quelles sont, parmi l'ensemble des notes, la note la plus haute et la note la
plus basse ?
SELECT MIN(Note), MAX(Note)
FROM EVALUER;
◗ 3. Quelles sont les moyennes de chaque étudiant dans chacune des matières ?
SELECT ETUDIANT.NEtu, Nom, Prénom, LibMat, CoefMat,
AVG(Note)
FROM EVALUER, MATIERE, ETUDIANT
WHERE EVALUER.CodeMat = MATIERE.CodeMat
AND EVALUER.NEtu = ETUDIANT.NEtu
GROUP BY ETUDIANT.NEtu, Nom, Prénom, LibMat, CoefMat;

344 © Mohamed H A D J K ACE M AU : 2021 - 2022


Exercice 2
◗ 4. Quelles sont les moyennes par matière ?
SELECT LibMat, AVG(Note)
FROM EVALUER, MATIERE
WHERE EVALUER.CodeMat = MATIERE.CodeMat
GROUP BY LibMat ;
◗ 5. Quelle est la moyenne générale de chaque étudiant ?
SELECT NEtu, Nom, Prénom,
SUM(Note*CoefMat)/SUM(CoefMat)
FROM EVALUER, MATIERE, ETUDIANT
WHERE EVALUER.CodeMat = MATIERE.CodeMat
AND EVALUER.NEtu = ETUDIANT.NEtu
GROUP BY NEtu, Nom, Prénom ;

345 © Mohamed H A D J K ACE M AU : 2021 - 2022


Exercice 3
◗ Soit le modèle relationnel suivant relatif à la gestion des notes annuelles
d'une promotion d'étudiants :
◗ ETUD IAN T (N Etu,N om,Prénom)
◗ MATIERE (CodeMat,LibMat,C oefMat)
◗ EVALUER (#N Etu,#C odeMat,D ate,N ote)
◗ Exprimer les requêtes suivantes avec le langage SQL.
◗ Liste des étudiants (NEtu, Nom) qui ont validé la matière Base de données
◗ Liste des étudiants qui ont validé la matière Base de données et
l’algorithmique
◗ Afficher le libellé des matières ayant le même coefficient que la matière
Base de données

346 © Mohamed H A D J K ACE M AU : 2021 - 2022


Exercice 3
◗ Liste des étudiants (NEtu, Nom) qui ont validé la matière Base de données
SELECT NEtu, Nom
FROM ETUDIANT, MATIERE, EVALUER
WHERE EVALUER.CodeMat = MATIERE.CodeMat
AND EVALUER.NEtu = ETUDIANT.Netu AND
LibMat like Upper("BASE DE DONNÉES")
AND Note >=10;

347 © Mohamed H A D J K ACE M AU : 2021 - 2022


Exercice 3
◗ Liste des étudiants qui ont validé la matière Base de données et
l’algorithmique
SELECT NEtu, Nom
FROM ETUDIANT, MATIERE, EVALUER
WHERE EVALUER.CodeMat = MATIERE.CodeMat
AND EVALUER.NEtu = ETUDIANT.Netu
AND LibMat like UPPER ("BASE DE DONNÉES")
AND Note >=10
UNION
SELECT NEtu, Nom
FROM Etudiant, Matiere, Evaluer
WHERE EVALUER.CodeMat = MATIERE.CodeMat
AND EVALUER.NEtu = ETUDIANT.Netu
AND LibMat like "ALGORITHMIQUE"
AND Note >=10 ;

348 © Mohamed H A D J K ACE M AU : 2021 - 2022


Exercice 3
◗ Afficher le libellé des matières ayant le même coefficient que la matière
Base de données
SELECT LibMat
FROM MATIERE
WHERE Coef = ( SELECT Coef
FROM MATIERE
WHERE LibMat LIKE UPPER (‘Base de
données');

349 © Mohamed H A D J K ACE M AU : 2021 - 2022


Exercice 4
◗ AGEN C E (N um_Agence,N om,Ville,Actif)
◗ C LIEN T (N um_C lient,N om,Ville)
◗ COMPTE (Num_Compte, Num_Agence, Num_Client, Solde)
◗ EMPRUN T (N um_Emprunt, N um_Agence, N um_C lient,
Montant)
◗ 1. N om des agences ayant des comptes-clients
◗ 2. N om des clients ayant un compte à“ Sfax ”
◗ 3. C lients ayant un compte ou un emprunt à“Sfax”

350 © Mohamed H A D J K ACE M AU : 2021 - 2022


Exercice 4
◗ 1. N om des agences ayant des comptes-clients
SELECT DISTINCT NOM
FROM AGENCE, COMPTE
WHERE AGENCE.NUM_AGENCE = COMPTE.NUM_AGENCE;

◗ 2. N om des clients ayant un compte à“ Sfax ”


SELECT CLIENT.NOM
FROM CLIENT, AGENCE, COMPTE
WHERE AGENCE.NUM_AGENCE = COMPTE.NUM_AGENCE
AND CLIENT.NUM_CLIENT = COMPTE.NUM_CLIENT
AND AGENCE.VILLE = “ SFAX ”;

351 © Mohamed H A D J K ACE M AU : 2021 - 2022


Exercice 4
◗ 3. Clients ayant un compte ou un emprunt à“Sfax”
SELECT CLIENT.NOM
FROM CLIENT, AGENCE, COMPTE
WHERE CLIENT.NUM_CLIENT = COMPTE.NUM_CLIENT
AND AGENCE.NUM_AGENCE = COMPTE.NUM_AGENCE
AND AGENCE.VILLE = “SFAX”
UNION
SELECT CLIENT.NOM
FROM CLIENT, AGENCE, EMPRUNT
WHERE CLIENT.NUM_CLIENT = EMPRUNT.NUM_CLIENT
AND AGENCE.NUM_AGENCE = EMPRUNT.NUM_AGENCE
AND AGENCE.VILLE = “SFAX”

352 © Mohamed H A D J K ACE M AU : 2021 - 2022

Vous aimerez peut-être aussi