Académique Documents
Professionnel Documents
Culture Documents
Module Etudiant
numM Intitulé numE nomPre dateNais
1 Biologie animale E01 Charifi Youssef 15-05-1995
2 Bases de données E02 Alami Ali 01-01-1996
3 Géodynamique externe E03 Bennani Omar 29-06-1995
…. ….. …. …. …
Notes
numE numM noteTP noteExam
E01 2 11,5 13.0
E02 3 16,25 15,5
E01 3 10,0 13,5
E03 1 9,5 8,0
…. ….. …. ….
~ 1/2~
3. Définition des contraintes d’intégrité au moment de la création de la table
Créer une nouvelle version de la table Etudiant, nommée Etudiant2, mais cette fois-ci
avec les contraintes d’intégrité suivantes :
numE : est une clé primaire.
NomPre : est un champ non vide toujours renseigné.
dateNais : est un champ unique et toujours renseigné.
N’oublier pas d’attribuer des noms à ces contraintes
Plusieurs solutions possibles. L’objectif est d’utiliser les 3 méthodes pour ajouter des
contraintes
On ne peut pas supprimer les contraintes NOT NULL avec « alter…..drop ». Pour les
supprimer il faut utiliser : Alter table Etudiant2 alter nomPre char(30)
~ 2/2 ~
Alter table Notes add constraint notes_fk foreign key(numE) references
Etudiant(numE)
7.3 Est-ce qu’on peut ajouter cette ligne : (E100, 3, 15, 13,5) dans la table « Notes »?
Justifier.
Non, car l’étudiant 100 ne se trouve pas dans la table Etudiant.
7.4 Est-ce qu’on peut ajouter cette ligne : (E01, 3, 11, 13,5) dans la table « Notes »?
Justifier.
Non, car il existe déjà une ligne dans la table Notes avec la même valeur de la clé
primaire (E01, 3)
8. Modification des lignes d’une table : UPDATE
Ecrire les requêtes SQL pour :
8.1 Modifier la note de TP de l’étudiant : E01 dans le module 3 en 11.75
Update Notes
Set noteTP=11.75
Where numE=”E01”
And numM=3
8.2. Est-ce qu’on peut remplacer le numéro de l’étudiant « E02 » par « E06 » dans la
table Notes ? Justifier.
Non, car E06 ne se trouve pas dans la table étudiant
9. Surpression des lignes d’une table : DELETE
Ecrire les requêtes SQL pour :
9.1 Supprimer l’étudiant E02. Est-ce qu’on peut supprimer cet étudiant ? Justifier.
Delete from Etudiant where numE= ‘’E02 ‘’
Non, car il est déjà référencé dans la table notes
9.2 Est-ce qu’on peut supprimer l’étudiant E07 ? Justifier.
Non, car il n’existe pas
~ 3/2~