On considère la BD ci-après, relative à la gestion de projets informatiques dans une société.
Projet (NumProj, TitreProj, DateDeb, DateFin, nbheures_prévues, etat)
Logiciel (CodLog, NomLog, PrixLog, #NumProj)
Développeur (NumDev, NomDev, EmailDev, TelDev)
Réalisation (#CodLog,#NumDev, date_réal, nbheures_Travail)
N.B.
- Plusieurs logiciels peuvent être développés dans le cadre d’un projet.
- Un développeur peut intervenir dans la réalisation de plusieurs logiciels avec des nombres
d’heures de travail déterminés.
- Pour chaque projet, on prévoit un nombre d’heures à ne pas dépasser.
Questions :
Partie 1 :
Ecrire un programme en PL/SQL permettant de :
▪ Définir le type REC_PRJ qui est un record contenant les champs suivants :
- NUM : de même type que le [Link]
- Titre : de même type que le [Link]
- Durée : de type NUMBER
- NbLogiciel : de type NUMBER
- NBdev : de type NUMBER
- NHheuresRealisées : de type NUMBER
- Coût : de type NUMBER
▪ Déclarer une variable enregistrement PRJ de type REC_PRJ
▪ Initialiser le champ [Link] par 10.
▪ Initialiser le champ [Link] par le titre du projet numéro 10 de la BD.
▪ Calculer la durée du projet numéro 10.
▪ Affecter au champ NBLogciel le nombre de logiciels développés dans le cadre du projet
numéro 10 et clôturés pendant l’année dernière.
1
▪ Affecter au champ NBdev le nombre de développeurs impliqués dans le cadre du
projet numéro 10 pendant les deux derniers mois et ayant un nombre d’heures total
de travail supérieur à 100 .
▪ Affecter au champ coût le prix du logiciel réalisé dans le cadre du projet numéro 10 et
qui est le plus élevé
Partie 2
Ecrire un programme en PL/SQL permettant d’afficher les informations relatives au projet
ayant le plus grand nombre de logiciels développés. Si le nombre d’heures de travail réalisées
par tous les développeurs impliqués dans ce projet dépassent le nombre d’heures prévues,
traiter une exception en affichant un message d’erreur « nombre d’heures dépassé » et
affecter au champ état de la table projet la valeur « En dépassement » . Si le projet n’existe
pas, traiter une exception.
Bon travail.