Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

TP3_BD_LMD_2O24

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 2

Bases de Données

TP n°3 : Langage SQL: Langage de Manipulation des Données


Enseignant : Mme Ben Saïd Salma

Exercice 1 :
Soit le modèle relationnel suivant :

TypePoste (idTypePoste, intitulePoste );


Employe (idEmploye,nom,prenom,dateNaiss,numTel,ville,tauxHoraire,#idTypePoste, #numFiliale)
Filiale (numFiliale , adresseFiliale , #idEmploye)
Chantier (numChantier , nomChantier , villeChantier , #numFiliale )
Affectation (#idEmploye, #numChantier, DateAff )
PasseportSante (idPasseport, DateExpiration , DateEdition , etatValidite ,#idEmploye)
Reclamation (idReclamation, DateReclam, TypeReclam, DescriptionReclam, #idPasseport)

Travail à Faire

1. Mettre à jour le schéma relationnel créé au TP précédant (TP2 LDD) comme indiqué ci-dessus.
2. Modifier la table Affectation de sorte qu’un employé peut être affecté plusieurs fois au même
chantier.
3. Créer une séquence ordonnée nommée SQ_IdEmp commençant par 101 avec un pas de 2.
4. Insérer des lignes de données de votre choix comme suit :
 3 types de postes : Directeur de filiale / Chef de chantier / Ouvrier.
 14 employés (utiliser la séquence).
 2 filiales.
 3 chantiers.
 Les ouvriers à affecter par chantier
 Un passeport santé valide par employé.
 4 réclamations pour 3 passeports santé d’ouvriers de votre choix.
5. Ecrire les requêtes SQL permettant d'afficher :
a. Tous les employés par ordre croissant du nom et descendant du prénom.
b. Chaque filiale ainsi que le nom et prénom de son directeur.
c. Nom et prénom de chaque employé affecté au chantier numéro x, l’identifiant de son
passeport valide ainsi que sa date d’expiration.
d. La liste des passeports qui expireront dans un mois.
e. La liste des ouvriers qui ont été affectés à des chantiers de leur même ville.
f. Nom, prénom et âge de chaque employé. Affichage trié par ordre décroissant de l’âge.
g. Les filiales dont l’adresse comporte la ville du chantier numéro x.
h. Le nombre d’ouvriers affectés par chantier.
i. Le chantier qui a accueilli le plus grand nombre d’ouvriers depuis sa création. Le même
ouvrier ne doit pas être comptabilisé deux fois.

Page 1 /2
Exercice 2 :
Soit le schéma relationnel suivant :

Enseignant (idEns, nom, prenom, grade, specialite, datPriseFonct)


Niveau(codeNiv, libelleNiv)
Matiere (idMat, libelleMat, coefficient, descriptionMat, nbrHeures, # codeNiv)
Enseignement (idEnsgn,#idEns, #idMat, anneeUniv, semestre )

Travail à Faire

1. Insérer des lignes de données de votre choix comme suit :


 2 niveaux.
 4 Enseignants.
 10 matières.
 9 enseignements.

2. Ecrire les requêtes SQL permettant d'afficher :


a. Afficher les matières non enseignées.
b. Toutes les matières qui ont le même coefficient et qui sont enseignées au même semestre,
afficher le coefficient et le semestre correspondant.
c. Sachant qu’après 35 ans de service, un enseignant part à la retraite. Afficher les enseignants
qui partiront dans 5 ans à la retraite.
d. Afficher le nombre de matières enseignées par enseignant.
e. Afficher le niveau auquel est enseigné le plus grand nombre de matières.
f. Supposant que la rémunération de l’heure pour un maitre-assistant est de 40 d, calculer et
afficher leurs honoraires respectifs.
g. Créer une vue relative à toutes les matières et qui donne un affichage comme suit :
Intitulé Matière A-U Semestre Niveau Nom Ens Prénom Ens

Page 2 /2

Vous aimerez peut-être aussi