Sunteți pe pagina 1din 2

EXAMEN SESSION RATTRAPAGE

Enseignant : Foued OUELBANI Classe : 1CINFOA3 Documents autorisés : NON


Module : Bases de données Date : 26 /11/ 2018 Heure : 18h30 Durée : 1h30 Nb pages : 2

Exercice 1 : (4 points)
Représenter le modèle relationnel optimisé déduit du schéma E/A suivant.

Exercice 2 : (4 points)
Soient les schémas des relations joueurs et palmares :
joueurs(id_joueur, nom, prenom, date_naiss, pays, taille, poids)
palmares(id_joueur#, annee, titre)
Ecrire en algèbre relationnelle les requêtes suivantes.
a) Donner les joueurs nés avant le 31/12/1990 (inclus) et faisant plus de 80kg
afficher (id_joueur, nom, prenom, annee_naiss, poids).
b) Donner le nom des joueurs titrés en 2015 et 2018 afficher (id_joueur, nom, prenom).
Exercice 3 : (12 points)
Soient les tables bacheliers, choix et filieres.
Table : bacheliers
Colonne Type Taille Null Interdit Valeur par défaut Valide si Clé Primaire
bac_no Numérique 6 Oui Oui
bac_nom Texte 25 Oui
bac_prenom Texte 25 Oui
bac_daten date Oui
bac_sexe Texte 1 Oui ‘M’ sexe €{F,M}
bac_nature €
bac_nature Texte 1 Oui ‘S’
{E,I,L,M,S,T}
bac_nature : E =bac Economique, I =bac Informatique, L =bac lettres, M=bac maths, S=bac Sciences,
T=bac Technique
Table : choix
Colonne Type Taille Null Interdit Valeur par défaut Valide si Clé Primaire
bac_no Numérique 6 Oui
bac_no, filiere_no
filiere_no Numérique 4 Oui et choix_no forment
la clé primaire
choix_no Numérique 2 Oui choix_no €[1,10]
score Numérique Oui 0<=score <=200
bac_no clé étrangère fait référence à la table bacheliers(bac_no)
filiere_no clé étrangère fait référence à la table filieres(filiere_no)
bac_no et choix_no doivent être uniques
bac_no et filiere_no doivent être uniques
Table : filieres
Colonne Type Taille Null Interdit Clé Primaire
filiere_no Numérique 4 Oui Oui
filiere_nom Texte 50 Oui
a) Ecrire les requêtes nécessaires à la création des tables bacheliers, choix et filieres.
b) Ecrire les requêtes SQL pour insérer les données dans les tables bacheliers, choix et filieres

Bacheliers filieres
bac_no bac_nom bac_prenom bac_daten bac_sexe bac_nature filiere_no filiere_nom
1 Nom1 Prenom1 28-03-1999 F E 105 F105
2 Nom2 Prenom2 17-10-1998 M T 410 F410
3 Nom3 Prenom3 15-05-2000 M M 354 F354
4 Nom4 Prenom4 04-02-1999 836 F836

Choix
bac_no filiere_no choix_no Score
1 105 1 135
1 354 2 152
2 410 1 165
3 105 1 117

c) Ecrire une requête pour mettre en majuscule les noms des bacheliers et en minuscule les prenoms.
Ecrire les requêtes SQL suivantes :
d) Liste des bacheliers maths ou sciences dont le nom commence par la lettre A ou B ou C. La liste doit être triée
par nature de bac, nom et prénom (afficher toutes les données).
e) Liste de tous les choix triée par filiere_no croissant et score décroissant
(afficher filiere_no, filiere_nom, bac_no, bac_nom, bac_prenom, bac_nature, choix_no, score).
f) Liste des bacheliers ayant choisi la filière 210 en 1er choix et la filière 375 en 2ème choix
(afficher bac_no, bac_nom, bac_prenom).
g) Liste triée par filiere_no (afficher filiere_no, nbre de bacheliers, score minimum et score maximum).
h) Liste des filières dont le nombre de bacheliers est supérieur ou égal à 500.

S-ar putea să vă placă și