Vous êtes sur la page 1sur 3

TP 1 SQL 1

Soit le Schéma Relationnel suivant :

CANDIDATS (CIN_candidat, NomCandidat, PrenomCandidat, DateN, Niveau, Nationnalite)


SESSIONS (IdSession, DateDebutSession, NomFormateur, NomFormation#)
FORMATIONS (NomFormation, Description, Duree, Prix)
PARTICIPATIONS (idCandidat#, idSession#)

NB :
i. Les clés primaires sont soulignées et en gras et les clés étrangères sont suivies par un #.
ii. CIN_candidat, IdCandidat, Duree (exprimée en nombre de jours), Candidat : sont des
champs de type ENTIER.
iii. Prix (en dinars) : réel avec deux chiffres après la virgule.
iv. NomCandidat, PrenomCandidat, Nationnalite, Niveau : sont des chaînes de caractères
de longueur égale à 15.
v. NomFormation, Description : sont des chaînes de caractères de longueur égale à 50.
vi. NomFormateur, IdSession: est une chaîne de caractères de longueur égale à 30.

PARTIE 1 : LDD (Langage de Définition des Données)

Ecrire Les Requêtes SQL permettant de :


1. Créer les 4 tables avec toutes contraintes d’intégrité (via un script SQL).
2. Ajouter la colonne « Lieu » de type chaine de caractères de longueur 15 dans la Table
SESSIONS ayant comme valeur par défaut la chaine ‘ORADIST’.
3. Ajouter les conditions suivantes :
a. Les colonnes « Durée » et « prix » sont obligatoires.
b. La colonne « description » présente des valeurs non redondantes.
c. La colonne « Niveau » est égale à l’une des valeurs suivantes : { ‘BAC+2’ ,
‘BAC+3’,’BAC+4’,’BAC+5’}.
d. La valeur de la colonne « Durée » doit être comprise entre 2 et 90 jours.
4. Supprimer les tables avec toutes les contraintes.

Année Universitaire 2019 / 2020 | Esprit - 3ème Année B


TP 1 SQL 2

PARTIE 2 : LMD (Langage de Manipulation des Données)

Ecrire Les Requêtes SQL permettant de :


1. Insérer les lignes suivantes dans les tables correspondantes :
CIN_candidat NomCandidat PrenomCandidat DateN Niveau Nationnalite
08935321 Hamed Ali 03/02/1982 BAC+3 Tunisien
11234567 Bensalah Asma - BAC+4 Tunisienne
11908723 Naffeti Dorra 12/12/1980 BAC+5 Tunisienne
09712368 Boushih Mohamed 14/09/1990 BAC+3 Etranger
NomFormation Description Duree Prix
PL/SQL Les 2 250
fondamentaux du
langage PL/SQL
APEX-DEV Developing Web 3 290
application
DB12C ADMIN I Administration 5 500
Workshop
ADV-SQL SQL Workshop II 2 300
IdSession DateDebutSession NomFormateur NomFormation Lieu
Janvier2016-1 11/01/2016 Chokri ouniss ADV-SQL DEFAULT
Decembre2015-1 21/12/2015 Chokri ouniss ADV-SQL DEFAULT
Septembre2015-1 14/09/2015 Faouzi fourati PL/SQL DEFAULT
Janvier2016-2 18/01/2015 - PL/SQL -

2. Exécuter le script « Insertion.sql » afin d’insérer les participations des candidats


enregistrées pour les différentes sessions.
3. Mettre à jour la durée de la formation ‘APEX-DEV’ à 7 jours.
4. Sachant que la session de « Janvier2016-2 » de la formation PL/SQL a été annulée,
faîtes le nécessaire.
5. Sachant que le prix de la formation ‘DB12C ADMIN I’ et ‘ADV-SQL’, a augmenté de
15%, faîtes le nécessaire.

PARTIE 3 : LID (Langage d’Interrogation des Données)

Ecrire Les Requêtes SQL permettant de :


1. Afficher la liste des formations, le nom et le prix de chacune des formations. Cette liste
doit être triée selon un ordre descendant du prix.

Année Universitaire 2019 / 2020 | Esprit - 3ème Année B


TP 1 SQL 3

2. Afficher la liste des noms des formateurs. (éliminer les valeurs redondantes)
3. Afficher la liste des formations dont la durée est comprise entre 5 et 10 jours.
4. Afficher les noms des formations qui coûtent moins que 400 dinars.
5. Afficher les noms et prénoms des candidats étrangers dont le niveau est égal à ‘BAC+5’.
6. Afficher la liste des formations dont la description contient le mot ‘SQL’.
7. Afficher la liste des candidats dont le nom et le prénom contiennent la lettre ‘a’.
8. Afficher la liste des sessions à laquelle il n’y a pas eu encore l’affectation d’un
formateur.
9. Afficher le nombre total des formations.
10. Afficher la liste des sessions qui ont été déroulées pendant le mois de septembre 2015.
11. Afficher la liste des sessions qui ont été déroulées pendant l’an 2015.

Année Universitaire 2019 / 2020 | Esprit - 3ème Année B

Vous aimerez peut-être aussi