Université d’Antananarivo
Mention Mathématique et Informatique
Examen de Bases de Données Relationnelles
Année universitaire 2024-2025
Durée : 2 heures Total : 20 points
Barème général :
– Exercice 02 : 5 points
– Exercice 03 : 15 points
Exercice 02 : (5 points)
Soit la base de données relationnelle PUF, de schéma :
– U(NU, NomU, Ville)
– P(NP, NomP, Couleur, Poids)
– F(NF, NomF, Statut, Ville)
– PUF(NP, NU, NF, Quantité)
Clés étrangères :
– NP référence [Link]
– NU référence [Link]
– NF référence [Link]
Description des relations :
– U : une usine est décrite par son numéro (NU), son nom (NomU), et la ville (Ville)
dans laquelle elle est située.
– P : un produit est décrit par son numéro (NP), son nom (NomP), sa couleur (Cou-
leur) et son poids (Poids).
– F : un fournisseur est décrit par son numéro (NF), son nom (NomF), son statut
(Statut), et la ville (Ville) où il est domicilié.
– PUF : le produit de numéro NP a été livré à l’usine de numéro NU par le fournisseur
de numéro NF dans une quantité donnée.
1. Donner le numéro, le nom et la ville de toutes les usines. (1 pt)
2. Donner le numéro, le nom et la ville de toutes les usines de Londres. (1 pt)
3. Donner les numéros des fournisseurs qui approvisionnent l’usine n1 en produit n1.
(1 pt)
4. Donner le nom et la couleur des produits livrés par le fournisseur n1. (1 pt)
5. Donner les numéros des fournisseurs qui approvisionnent l’usine n1 en un produit
rouge. (1 pt)
1
Exercice 03 : SQL (15 points)
Soit la base de données BANQUE contenant les tables suivantes :
– AGENCE(Num_Agence, Nom, Ville, Actif)
– CLIENT(Num_Client, Nom, Prenom, Ville)
– COMPTE(Num_Compte, Num_Agence#, Num_Client#, Solde)
– EMPRUNT(Num_Emprunt, Num_Agence#, Num_Client#, Montant)
Clés primaires soulignées, clés étrangères suivies d’un dièse (#).
1. Requêtes SQL
1. Créer un rôle pour un employé de l’agence bancaire qui peut uniquement consulter
les informations des clients et des comptes sans pouvoir modifier ou supprimer des
données. (2 pts)
2. Comment restreindre l’accès à la table EMPRUNT afin que seuls les utilisateurs
ayant le rôle employé banque puissent y insérer (INSERT) des données ? (2 pts)
3. Créer un déclencheur sur la table COMPTE pour mettre à jour la table EMPRUNT
dès que le solde d’un compte est mis à jour. (2 pts)
2. Requêtes SQL
1. Les clients n’ayant pas de compte dans la même agence que Liliane Bettencourt.
(Résultat : Num_Client) (2 pts)
2. Les agences ayant un actif plus élevé que toutes les agences de Saint-Ouen. (Résul-
tat : Num_Agence) (2
pts)
3. Le solde moyen des comptes clients, pour chaque agence dont le solde moyen est
supérieur à 10000. (Résultat : Num_Agence, Solde_Moyen) (1 pt)
4. Le nombre de clients de l’agence de nom “Paris-BNF” dont la ville n’est pas rensei-
gnée dans la table CLIENT. (Résultat : Nombre) (1
pt)
5. Les clients ayant un compte dont le solde est supérieur à la somme totale de tous
les actifs des agences de Saint-Ouen. (Résultat : Num_Client) (2 pts)
6. Les clients dont la somme du solde de tous les comptes est inférieure à l’actif de
chaque agence. (Résultat : Num_Client) (1 pt)
La persévérance, c’est ce qui rend l’impossible possible, le possible probable et le probable
réalisé.