Vous êtes sur la page 1sur 1

Contrôle continu : M08 Bases de données Contrôle continu : M08 Bases de données

Durée : 1 h 30 Durée : 1 h 30
Année : 2019-2020 Année : 2019-2020

L’objectif est de créer une application pour la gestion des projets au sein d’une entreprise de développement L’objectif est de créer une application pour la gestion des projets au sein d’une entreprise de développement
informatique selon le schéma relationnel suivant : informatique selon le schéma relationnel suivant :

Service (Num_serv, Nom_serv, Date_creation) Service (Num_serv, Nom_serv, Date_creation)


Employe (Matricule, Nom, Prenom, DateNaissance, Adresse, Salaire,Grade, Num_serv#) Employe (Matricule, Nom, Prenom, DateNaissance, Adresse, Salaire,Grade, Num_serv#)
Projet (Num_prj, Nom_prj, Lieu, nbr_limite_taches,Num_serv#) Projet (Num_prj, Nom_prj, Lieu, nbr_limite_taches,Num_serv#)
Tache (Num_tach, Nom_tache, date_debut, date_fin, cout, Num_prj#) Tache (Num_tach, Nom_tache, date_debut, date_fin, cout, Num_prj#)
Travaille (Matricule#, Num_tache#, Nombre_heure) Travaille (Matricule#, Num_tache#, Nombre_heure)

- Le modèle traduit le fait qu’un projet est réalisé en plusieurs étapes (Tâches). Une tâche est réalisée par un ou - Le modèle traduit le fait qu’un projet est réalisé en plusieurs étapes (Tâches). Une tâche est réalisée par un ou
plusieurs employés, chacun, avec une masse horaire définie (nombre_heure). plusieurs employés, chacun, avec une masse horaire définie (nombre_heure).
- Les clés primaires sont soulignées et les clés étrangères sont suivies avec un ‘#’. - Les clés primaires sont soulignées et les clés étrangères sont suivies avec un ‘#’.

A. Création de la base de données : (6 pts) A. Création de la base de données : (6 pts)

Les clés primaires sont incrémentées automatiquement sauf le numéro de matricule. Les clés primaires sont incrémentées automatiquement sauf le numéro de matricule.

1. Donner le script de création de la table Employé : (2pts) 1. Donner le script de création de la table Employé : (2pts)
- L’âge de l’employé doit être supérieur à 18. - L’âge de l’employé doit être supérieur à 18.

2. Donner le script de création de la table Tâche : (2pts) 2. Donner le script de création de la table Tâche : (2pts)
- Une tache a une durée minimale de 3 jours (Durée = Date_fin – Date_debut) - Une tache a une durée minimale de 3 jours (Durée = Date_fin – Date_debut)
- Le coût minimal d’une tâche est de 1000DH par jour (cout >= (Date_fin – Date_debut)j x1000 ). - Le coût minimal d’une tâche est de 1000DH par jour (cout >= (Date_fin – Date_debut)j x1000 ).
3. Remplir la table service par trois services : Fiances, Ressources humaines, Gestion projet (2pts) 3. Remplir la table service par trois services : Fiances, Ressources humaines, Gestion projet (2pts)

B. Interrogation de la base de données : (14 pts) B. Interrogation de la base de données : (14 pts)

1. Quels sont les employés dont le nom commence avec « El » et ne se termine pas par une lettre entre a et f ? 1. Quels sont les employés dont le nom commence avec « El » et ne se termine pas par une lettre entre a et f ?
trier la liste par date de naissance. (1pts) trier la liste par date de naissance. (1pts)
2. Obtenir les noms des tâches qui prendront fin le mois courant. (1pts) 2. Obtenir les noms des tâches qui prendront fin le mois courant. (1pts)
3. Quels sont les employés qui ont participé à un projet affecté à un service différent de celui où ils travaillent 3. Quels sont les employés qui ont participé à un projet affecté à un service différent de celui où ils travaillent
? (1pts) ? (1pts)
4. Obtenir les projets qui ont une tâche de durée inférieure à 30 jours et une autre supérieure à 60 jours : 4. Obtenir les projets qui ont une tâche de durée inférieure à 30 jours et une autre supérieure à 60 jours :
Durée d’une tache = Date de Fin – date de début (1pts) Durée d’une tache = Date de Fin – date de début (1pts)
5. Obtenir la masse horaire travaillée au cours de cette année par projet (compter le travail débuté et terminé 5. Obtenir la masse horaire travaillée au cours de cette année par projet (compter le travail débuté et terminé
au cours de l’année). (1pts) au cours de l’année). (1pts)
6. Obtenir le matricule et le nom des employés qui ont participé à la réalisation de plusieurs projets. (1pts) 6. Obtenir le matricule et le nom des employés qui ont participé à la réalisation de plusieurs projets. (1pts)
7. Obtenir le matricule, le nom, la date d’anniversaire et l’adresse des employés qui vont fêter leur anniversaire 7. Obtenir le matricule, le nom, la date d’anniversaire et l’adresse des employés qui vont fêter leur anniversaire
la semaine prochaine. (2pts) la semaine prochaine. (2pts)
8. Afficher le(s) projet(s) qui ont le plus grand nombre de tâches. (1pts) 8. Afficher le(s) projet(s) qui ont le plus grand nombre de tâches. (1pts)
9. Afficher la durée de réalisation par projet : La durée de réalisation d’un projet = la date de fin de la dernière 9. Afficher la durée de réalisation par projet : La durée de réalisation d’un projet = la date de fin de la dernière
tâche de ce projet – la date de début de la première tâche du projet (utiliser Min et Max). (2pts) tâche de ce projet – la date de début de la première tâche du projet (utiliser Min et Max). (2pts)
10. Ecrire un script pour supprimer correctement un projet dont le numéro est affecté à une variable @NumProj. 10. Ecrire un script pour supprimer correctement un projet dont le numéro est affecté à une variable @NumProj.
(1pts) (1pts)
11. Augmenter le salaire des employés qui ont travaillé plus de 10h dans le projet Numéro 123. (2pts) 11. Augmenter le salaire des employés qui ont travaillé plus de 10h dans le projet Numéro 123. (2pts)