Aller au contenu

Application base bibliothèque⚓︎

base bibliothèque

Télécharger fichier Création de la base BIBLI ⬇️

Donner les instructions SQL pour réaliser les traitements qui suivent. On considérera ici que toutes les tables sont vides.

  • M1 : Renommer la table « emprunter » en « emprunt ».
  • M2 : Ajouter un champ TelLecteur (taille 10) à la table des lecteurs.
  • M3 : Ajouter un champ RefLecteur (taille fixe de 8 caractères) juste avant NumLecteur (ce champ deviendra clé primaire par la suite)
  • M4 : Modifier la taille de la colonne NomLecteur pour la passer à 40 caractères.
  • M5 : Supprimer le champ TelLecteur
  • M6 : Indiquer les opérations nécessaires pour supprimer la clé primaire sur NumLecteur et définir RefLecteur comme nouvelle clé primaire. Le champ NumLecteur de la table « emprunt » conservera son nom mais sera lié à RefLecteur de Lecteur.

M1

Renommer la table « emprunter » en « emprunt ».

🐬 SQL
ALTER TABLE EMPRUNTER
RENAME TO EMPRUNT;

M2

Ajouter un champ TelLecteur (type entier) à la table des lecteurs.

🐬 SQL
ALTER TABLE LECTEUR
ADD TelLecteur INT;
/*ou*/
ALTER TABLE LECTEUR
ADD TelLecteur INT;

M3

Ajouter un champ RefLecteur (taille fixe de 8 caractères) juste avant NumLecteur (ce champ deviendra clé primaire par la suite)

🐬 SQL
ALTER TABLE LECTEUR
ADD RefLecteur CHAR(8) FIRST ;

M4

Modifier la taille de la colonne NomLecteur pour la passer à 40 caractères.

🐬 SQL
ALTER TABLE LECTEUR
MODIFY NomLecteur VARCHAR(40);

M5

Supprimer le champ TelLecteur

🐬 SQL
ALTER TABLE LECTEUR
DROP TelLecteur;

M6

Indiquer les opérations nécessaires pour supprimer la clé primaire sur NumLecteur et définir RefLecteur comme nouvelle clé primaire. Le champ NumLecteur de la table « emprunt » conservera son nom mais sera lié à RefLecteur de Lecteur.

🐬 SQL
/* Etape 1 : Supprimmer le lien/clé étrangère */
ALTER TABLE EMPRUNT 
DROP FOREIGN KEY FK_emprunter_numlecteur;

/* Etape 2 : supprimmer la clé primaire */
ALTER TABLE LECTEUR
DROP PRIMARY KEY;

/* Etape 3 : créer la nouvelle clé primaire de lecteur */
ALTER TABLE LECTEUR DROP RefLecteur;
ALTER TABLE LECTEUR ADD RefLecteur INT(11) NOT NULL FIRST;
UPDATE LECTEUR SET RefLecteur = numLecteur ;
ALTER TABLE LECTEUR ADD CONSTRAINT pk_lecteur PRIMARY KEY (`RefLecteur`) ;

/* Etape 4 : Recréer le lien clé étangère*/
ALTER TABLE EMPRUNT
ADD CONSTRAINT `FK_emprunter_Reflecteur` FOREIGN KEY (`numlecteur`) REFERENCES `lecteur` (`RefLecteur`);