Filière : IIR Niveau : 3ème Année
Session Juin 2025 Date : 12/06/2025
Sujet d’examen Durée : 2H00
L'USAGE DES TELEPHONES PORTABLES ET DE TOUT OBJET CONNECTE (MONTRE
INTELLIGENTE, ETC.) EST STRICTEMENT INTERDIT.
SEULE UNE FEUILLE A4 MANUSCRITE EST AUTORISEE. PAS DE PHOTOCOPIE NI D’IMPRIME
VEUILLEZ REPONDRE SUR LA FEUILLE DE SUJET FOURNIE.
VEUILLEZ MENTIONNER VOTRE NOM ET PRENOM EN MAJUSCULES.
LES PAGES 1 ET 2 (L’ENONCE) PEUVENT ETRE DETACHEES
ENONCE
On considère une base de données relationnelle nommée GestionRH utilisée pour la gestion du personnel d’une
entreprise. Le schéma logique de cette base de données et le dictionnaire de données sont donnés ci-dessous :
EVOLUTION * ABSENCE
ID_absence
ID_evolution
Matricule
Matricule
Date_debut
Date_evolution
Date_fin
Ancien_salaire
Motif
PCT_augmentation
Motif EMPLOYE *
Matricule
Nom
Prenom
Date_naissance
Date_embauche
Salaire
Fig. 1 : schéma logique de la BD
Page 1 of 6
Filière : IIR Niveau : 3ème Année
Session Juin 2025 Date : 12/06/2025
Sujet d’examen Durée : 2H00
Table Attribut Type de données Contrainte Sémantique
La table EMPLOYE enregistre les informations personnelles, professionnelles et administratives
de chaque employé, telles que son matricule, nom, prénom, date de naissance, date d’embauche,
salaire annuel, le service auquel il appartient et son grade.
Matricule INT PK Identifiant unique de
l’employé
Nom VARCHAR(50) NOT NULL Nom de famille de
EMPLOYE l’employé
Prenom VARCHAR(50) NOT NULL Prénom de l’employé
Date_naissance DATE NOT NULL Date de naissance
Date_embauche DATE NOT NULL Date d’entrée dans
l’entreprise
Salaire DECIMAL(10,2) NOT NULL Salaire mensuel
La table EVOLUTION permet de suivre les évolutions de carrière des employés. Elle contient
des données sur les changements de salaire, les augmentations, les primes accordées, les dates de
ces évolutions et les motifs associés.
ID_evolution INT PK Identifiant de l’évolution
IDENTITY(1,1)
Matricule INT FK, fait référence à Employé concerné
EVOLUTION
EMPLOYE(Matricule)
Date_evolution DATE NOT NULL Date de l’évolution
Ancien_salaire DECIMAL(10,2) NOT NULL Salaire avant évolution
PCT_augmentation DECIMAL(5,2) Pourcentage
d’augmentation
Motif VARCHAR(100) Motif de l’évolution
La table ABSENCE enregistre les périodes d’absence des employés avec les dates de début et de
fin ainsi que le motif de chaque absence.
ID_absence INT IDENTITY PK Identifiant de l’absence
(1,1)
ABSENCE Matricule INT FK, Fait référence à Employé concerné
EMPLOYE(Matricule)
Date_debut DATE NOT NULL Début de l’absence
Date_fin DATE NOT NULL Fin de l’absence
Motif VARCHAR(100) Motif de l’absence
Fig. 2 : dictionnaire de données
Page 2 of 6
Filière : IIR Niveau : 3ème Année
Session Juin 2025 Date : 12/06/2025
Sujet d’examen Durée : 2H00
Matière : SQL Server Enseignant/e(s) : ………………………………………………………………………….
Nom : ........................................................................ NOTE :
Prénom : ……………………………………………….
Groupe : ……………………………………………….
Site : ……………………………………………….
QUESTION 1 : (5 pts)
1.1. Créer une fonction fn_NbrAbsence qui calcule le nombre total d'absences (en jours) d’un employé
dont le matricule est passé en argument. Pour ce, vous pouvez utiliser la fonction DATEDIFF (DAY,
DateDebut, DateFin) pour récupérer la différence entre 2 dates en nombre de jours. (4 pts)
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
1.2. Afficher, pour chaque employé de la table EMPLOYE, son matricule, son nom ainsi que le nombre
total de jours d’absences. (1 pt)
......................................................................................................................................................................................................
......................................................................................................................................................................................................
Page 3 of 6
Filière : IIR Niveau : 3ème Année
Session Juin 2025 Date : 12/06/2025
Sujet d’examen Durée : 2H00
QUESTION 2 : (4 pts)
Créer une procédure sp_AjouterAbsence permettant d'enregistrer une nouvelle absence pour un
employé donné. La procédure prend en paramètre le matricule de l’employé, la date de début, la date de
fin et le motif de l’absence.
Gérer l’exception si le matricule fournit ne correspond à aucun employé (Erreur numéro 547), ou si la
date de début est supérieure à la date de fin (date_début>date_fin).
En cas d’erreur, la procédure affiche le numéro et le message d’erreur appropriés.
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
Page 4 of 6
Filière : IIR Niveau : 3ème Année
Session Juin 2025 Date : 12/06/2025
Sujet d’examen Durée : 2H00
QUESTION 3 : (7 pts)
3.1. Créer une procédure sp_AugmentationSalaire qui prend en paramètres :
Le matricule de l’employé
Le pourcentage d’augmentation (ex. 10%)
Le motif
La procédure doit mettre à jour le salaire de l’employé, puis enregistrer cette opération dans la table
EVOLUTION (en insérant le matricule, la date d’aujourd’hui (GETDATE()), l’ancien salaire, le
pourcentage d’augmentation et le motif).
Gérer l’exception si le matricule fourni n’existe pas. (6 pts)
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
......................................................................................................................................................................................................
3.2. Augmenter de 10% le salaire de l’employé ayant le matricule 1001, en utilisant la procédure
sp_augmentationSalaire. (1pt)
......................................................................................................................................................................................................
......................................................................................................................................................................................................
Page 5 of 6
Filière : IIR Niveau : 3ème Année
Session Juin 2025 Date : 12/06/2025
Sujet d’examen Durée : 2H00
QUESTION 4 : (4pts)
Ecrire un trigger trg_DeleteEmp sur la table ABSENCE permettant d’archiver chaque absence
supprimée dans une table d’archive nommée ABSENCE_ARCHIVE, qui contient les mêmes attributs
que la table ABSENCE, plus une colonne DATE_SUPPRESSION de type DATE.
La table ABSENCE_ARCHIV est supposée être déjà créée.
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
Page 6 of 6