TP1-SQL
Création de table et contraintes d’intégrité
Enoncé :
Durant son parcours éducatif, un étudiant inscrit à ISET de Nabeul doit effectuer trois stages :
• Stage d’initiation d’une durée d’un mois
• Stage de perfectionnement d’une durée d’un mois
• Projet de fin d’études d’une durée de cinq mois
Le stage a lieu dans une entreprise.
Un étudiant est encadré par un tuteur professionnel.
Voici le modèle relationnel correspondant :
Etudiant( id_etu, nom , prenom, ville, classe)
Entreprise( id_ent, nom , domaine, ville)
Tuteur( id_tut, nom, prenom, id_ent)
Stage(id_stg,id_etu, type , date_deb)
Voici les schémas des relations suivantes
Table etudiant
Id_etu nom prenom Ville classe
Et1 amri oumaima Nabeul MDW22
Et2 turki eya Tunis MDW21
Et3 romdhani ahmed Sousse TI16
Table enterprise
Id_ent nom domaine ville
A1 Info for all informatique nabeul
B2 adwiya export nabeul
C3 SRT transport kef
Table Tuteur
Id_tut nom prenom id
T1 abidi hedi A1
T2 fehri amira A1
T3 baccar khaled C3
1
Atelier Base de données
Table Stage
Id_stg Id_etu type date_deb
S1 Et1 I 2023
S2 Et2 P 2022
S3 Et3 PFE 2023
S4 Et3 P 2022
A - Création de table
Créer les tables ci-dessus en respectant les contraintes d’intégrités suivantes :
• Clé primaire
• Clé étrangère
• L’attribut nom dans la table entreprise ne doit pas être nul
• L’attribut ville dans la table entreprise a par défaut la valeur « nabeul »
• L’attribut type dans la table stage doit être une des valeurs suivantes : (I,P,PFE)
Remarque :
Vous pouvez utiliser la commande desc nom_table pour voir la description d’une table
choisie.
B - Modification de Tables
✓ Ajoutez une nouvelle colonne email dans la table Etudiant qui permet de stocker les
adresses e-mail des étudiants
✓ Modifiez la table Entreprise pour rendre la colonne ville obligatoire (non-nulle)
✓ Supprimez la colonne prenom dans la table Tuteur
✓ Supprimez la table Stage de la base de données
✓ Que se passe-t-il si vous essayez de supprimer une table référencée par une clé étrangère
dans une autre table ? Testez la suppression de la table Entreprise alors que la table
Tuteur dépend d’Entreprise
✓ Ajoutez une contrainte sur la colonne classe de la table Etudiant pour que seuls les
étudiants des filières 'MDW22' et 'MDW21' puissent y être inscrits
✓ Ajoutez une contrainte UNIQUE sur la colonne email dans la table Etudiant pour éviter
que deux étudiants aient la même adresse e-mail
2
Atelier Base de données