Le 03/01/2020
Devoir Surveillé : Modélisation Merise -Langage SQL
Exercice I :(Questions Cours)
1. Considérons le modèle logique relationnel suivant
PERSONNE ( N° CIN, Nom , Prénom )
PARENTE ( N° CIN_Parent # , N° CIN_Enfant # )
Donner le modèle MCD correspondant.
2. Définir et expliquer les différents types des contraintes d'intégrités.
3. Donner les différentes commandes de langage LDD.
Exercice II
Dans l’objectif de créer une application pour la gestion des projets au sein d’une entreprise de
développement informatique on vous propose le schéma relationnel suivant :
Service (Num_serv, Nom_serv, Date_creation)
Employe (Matricule, Nom, Prenom, DateNaissance, Adresse, Salaire,Grade, Num_serv#)
Projet (Num_prj, Nom_prj, Ville, nbr_limite_taches,Num_serv#)
Tache (Num_tach, Nom_tache, date_debut, date_fin, cout, Num_prj#)
Travaille (Matricule#,Num_tache#, Nombre_heure)
un projet est réalisé en plusieurs étapes (Tache) selon le processus de conception choisi ; une
tache est réalisée par un ou plusieurs employés chaqu’un avec une masse horaire définit
(nombre_heure).
Remarque :
souliginé : Clé primaire
# : clé étrangère
Question1 : MCT
Identifier et Citez dans l'ordre les différents processus du Modèle Conceptuel de Traitement
de domaine étudié.
Question2 : SQL
Donner l’ordre SQL complet permettant la résolution des requêtes suivantes :
1) Afficher les employés dont le nom commence avec « El » et se termine par la lettre a,
trier la liste par date de naissance.
2) Afficher les noms des taches qui prendront fin le 31/01/2020.
3) Nom des projets sur lesquels travaillent Jalal Hasani
4) Compter le nombre de grades différents de l’entreprise.
5) Nom des employés qui ne travaillent que sur des projets à Rabat.
6) Pour chaque Service donner son nom et le nombre d'employés qui y travaillent.
7) Afficher les employés qu’ont participé à un projet affecter à un service différent où il
travaille.
8) Nombre de projets par service (Numéro et nom du service, nombre_projet).
9) Afficher les projets avec une tache 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)
10) Afficher la masse horaire travaillée cette année (travaille débuter et terminer cette
année) par projet (Masse horaire = somme (nombre_heure))
11) Afficher le matricule et le nom des employés qui ont participé à la réalisation de
plusieurs projets (aux moins 2)
12) Afficher le(s) projet(s) qui se composent du plus grand nombre de taches.
13) 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 tache de ce projet – la date de début de la première tache du projet
(utiliser Min et Max))
14) Modifier les salaires des employés selon la règle suivante:
augmentation de 5% pour les employés âgés de plus que 60 ans.
15) Supprimer les taches non réalisées (une tache non réalisée est une tache dont la date de
fin est dépassée sans qu’elle contienne un travail).