Vous êtes sur la page 1sur 2

Etablissement : INSTITUT SPECIALISE DE TECHNOLOGIE APPLIQUEE DAKHLA

Filière : TS DEVOWFS201(2A) Contrôle N° : 02


Intitulé du Module : Gestion des données (M203) Durée : 2h30
Année de formation : 2022/2023 Barème/20

Exercice N1 (2pts)
On vous demande d’auditer la table employés pour surveiller toutes les opérations de pouvant
survenir, le résultat de l’audit doit être mis dans la table créé à cet effet appelée journal.
Structure des tables :

Employé (NEmploye,nom,prénom,salaire)
Journal (message)

Proposer le code qui permet d’ajouter une ligne qui a la forme suivante à chaque suppression
« L’employé 100 a été supprimé le 10/10/2009 10 :30»

Exercice N2 (18pts)
Gestion des comptes bancaires
Soit le schéma de la base de données qui décrit les mouvements des comptes de clients d’une
banque :

Client(id_c,nom,prenom,adresse,tel,nbre_comptes)
Compte(Ncompte,solde,#id_c,seuil,#typeC)
TypeCompte(TypeC ,Type)
Mouvement (NMouvement,#Ncompte,montant,type,dateM)

Un client est identifié par un id_c possède un nom,un téléphone ainsi que le nombre de compte
qui lui appartiennent.
Le compte est identifié par un numéro de compte, possède un solde, appartient à un client
(#id_c),la propriété seuil fixe le montant maximum que le compte peut avoir comme découvert.
La propriéte nous renseigne sur le type de compte.

La table TypeCompte liste tous les types de comptes de la banque.

La table Mouvement archive les mouvements effectués sur chaque compte, on retiendra le
montant et la date du mouvement, le type peut être un retrait signalisé par « R » ou un dépôt
signalisé par « D »

1. Ecrire la procédure stockée retirer qui accepte en argument le numéro du compte, le


montant à retirer puis ajoute la ligne correspondante dans la table mouvement. (4pts)
La procédure doit effectuer le traitement suivant :

- le NMouvement doit s’incrémenter automatiquement.


- Vérifier l’existence du compte et renvoyer le message d’erreur s’il n’existe pas.
- La date du mouvement est égale à la date système.
- L’argent est disponible sur le compte.

2. Ecrire une procédure stockée qui renvoie en sortie le nombre de dépôts et de retraits par client
dont le numéro de compte est transmis en argument. Effectuer un jeu d’essai (2pts)

Mr ABDELLAH DAAIF
3. Ecrire une procédure stockée qui permet d’octroyer à tous les comptes de type « épargne » une
augmentation du solde de 6%, à tous les comptes de type « âge d’or » une augmentation du
solde de 7%, à tous les comptes de type « éducation » une augmentation du solde de 8% (2pts)

4. Créer une fonction permettant de renvoyer pour un client le total de tous les comptes qu’il
possède. (2pts)

5. Définir une fonction qui liste les mouvements effectués sur un compte entre deux dates données
en argument. (2pts)

6. Ecrire le trigger CHEK_STOCK en insertion sur la table Mouvement permettant de vérifier s’il
s’agit d’un dépôt ou d’un retrait d’argent et de mettre à jour le solde après avoir vérifié la
disponibilité d’argent en cas de retrait (2pts)

7. Ecrire un trigger permettant de mettre à jour le nombre comptes des clients à chaque ajout ou
suppression de compte (2pts)

8. Ecrire un trigger qui empêche la diminution de comptes (2pts)

Mr ABDELLAH DAAIF

Vous aimerez peut-être aussi