Vous êtes sur la page 1sur 2

ENCGK

Examen
Gestion des bases de données
Niveau : 3ème année, Semestre 5
Durée : 1h30,
Date : 05 Janvier 2022

Exercice 1 :

1.1. Citer les qualités et les types d'un SGBD.


1.2. Quelle est la différence entre une clé candidate et une clé primaire (donner un exemple).
1.3. Citer les types des contraintes d'intégrités.
1.4. Donner un exemple de contrainte d'intégrité référentielle.
1.5. Donner un exemple de dépendance fonctionnelle entre deux attributs.
1.6. Donner un exemple d’une contrainte d'intégrité fonctionnelle (CIF) pour une association ternaire.
1.7. Quelle est la différence entre la clause WHERE et la clause HAVING.

Exercice 2 :

2.1. Expliquez quels sont les problèmes engendrés par une relation non normalisée ? Donnez un exemple
simple illustrant votre avis ?
2.2. On a les données suivantes sur des élèves avec le DFs:
Matricule, Nom, Age, Club, Salle (attributs)
 Matricule → Nom , AGE
 Matricule → Club
 Club → Salle
a. Que signifie chaque DFs?
b. Mettre ces informations dans un ensemble de schémas de relations en 3FN

Exercice 3 :
On considère les relations suivantes :
 PERSONNE (CIN, NOM, Prenom, Adresse)
 Voiture (NCarteGrise_V, Modele_V, #CIN)
 Moto (NCarteGrise_M, Modele_M, #CIN)
Ecrire en algèbre relationnelle les requêtes permettant d’afficher :
1. Les personnes qui possèdent une moto mais pas de voiture ?
2. Les personnes qui possèdent une voiture mais pas de moto ?
3. Les personnes qui possèdent une moto et une voiture ?
4. Les personnes qui ne possèdent ni moto ni voiture ?

2/1
Exercice 4

La représentation textuelle suivante est une description simplifiée d’une base de données de gestion de
facturation d’une entreprise commerciale.

 CLIENT (Numcli, Nomcli, Prenomcli, adressecli, telcli, mailcli)


 PRODUIT (Numprod, désignation, prix, qte_stock)
 VENDEUR (Idvendeur, Nomvendeur, adresse_vend, tel_vend)
 COMMANDE (Numcom, #Numcli, #Idvendeur, #Numprod, date_com, qte_com)

On suppose que :
 Numcli, Numprod, Idvendeur et Numcom sont des entiers.
 Le nom, le prénom et l’adresse des clients ainsi que les vendeurs sont des informations obligatoires, le mail
peut ne pas être indiqué.
 La valeur par défaut de la quantité de commande (qte_com) est égale à 0
 Le prix est un réel positif avec 4 chiffres avant la virgule et 3 chiffres après.
 date_com vaut par défaut la date du jour
A. En langage SQL :
A.1 Créer cette base de données ;
A.2 Créer les tables : Client, Produit, Vendeur et Commande en tenant compte de toutes les contraintes
d'intégrité.
NB : Utilisez l'option "on delete cascade" pour toutes les clés étrangères.
A.3 Modifier la table Client pour que la colonne telcli soit un texte de 10 caractères.
A.4 Augmenter de 5% le prix de produit n° 360
A.5 Insérer les lignes suivantes dans la table client. Que se passe-t-il ?
101 Ben hamou Nadir 0668099078 Ben_Nadir@gmail.com
102 Ben ghita Karim N 468,Rabat 0033668099078 Ben_Karim@gmail.com
103 Khaldi Imane N 45,Salé 0668091077

B. Exprimer en SQL les requêtes suivantes :


B.1. La liste des clients de Marrakech.
B.2. La liste des produits (Numprod, désignation, prix) classés de plus cher au moins cher.
B.3. Noms et adresses des vendeurs dont le nom commence par la lettre ‘M’et qui habitent à Rabat.
B.4. La liste des commandes effectuées par le vendeur "Mohammed" entre le 1er et 30 janvier 2021.
B.5. Le nombre des commandes contenant le produit n° 365
B.6. Les commandes qui contiennent plus que 4 produits
B.7. Les vendeurs qui ont vendu plus de 50 commandes
B.8. Pour chaque commande le total de quantités des produits vendus et tel que ce total est > 50
B.9. Tous les produits (Numprod, prix, Mois de vente) qui ont été vendus pendant le mois 5

C. En langage SQL, supprimer ces quatre tables.

Bon travail.

2/2

Vous aimerez peut-être aussi