Année universitaire 2024/2025
Correction TP 1 : Langage SQL
Exercice 1 :
1. Créer la base de données stock_produits.
1.1. CREATE DATABASE stock_produits;
1.2. USE stock_produits;
2. Créer la table CATEGORIE en respectant les contraintes.
Contraintes sur table:
CREATE TABLE CATEGORIE (
IdCat INT,
NomCat VARCHAR(50) NOT NULL,
CONSTRAINT PK_Ctg PRIMARY KEY (IdCat)
);
Ou bien Contraintes sur colonne :
CREATE TABLE CATEGORIE (
IdCat INT PRIMARY KEY,
NomCat VARCHAR(50) NOT NULL
);
3. Créer la table PRODUIT
CREATE TABLE PRODUIT (
CodeP INT,
Libelle VARCHAR(50) NOT NULL,
Quantite INT,
Categorie INT,
CONSTRAINT PK_P PRIMARY KEY (CodeP),
CONSTRAINT FK_PC FOREIGN KEY (Categorie) REFERENCES CATEGORIE(IdCat)
);
4. Vérifier la structure des tables.
• DESCRIBE CATEGORIE;
• DESCRIBE PRODUIT;
Année universitaire 2024/2025
Exercice 2 :
1. Créer la base de données :
CREATE DATABASE biblio;
USE biblio;
2. Créer les trois tables avec les contraintes appropriées.
2.1. TABLE LIVRE
CREATE TABLE LIVRE (
CodeLivre INT,
Titre VARCHAR(50) NOT NULL,
Auteur VARCHAR(50) NOT NULL,
NbPages INT,
CONSTRAINT PK_Liv PRIMARY KEY (CodeLivre)
);
2.2. TABLE EDITEUR
CREATE TABLE EDITEUR (
CodeEditeur INT,
Nom VARCHAR(50) NOT NULL,
Adresse VARCHAR(50),
CONSTRAINT PK_Editeur PRIMARY KEY (CodeEditeur)
);
2.3. TABLE EDITER
CREATE TABLE EDITER (
CodeLivre INT,
CodeEditeur INT,
Annee INT,
CONSTRAINT PK_Editer PRIMARY KEY (CodeLivre, CodeEditeur),
CONSTRAINT FK_EL FOREIGN KEY (CodeLivre) REFERENCES
LIVRE(CodeLivre),
CONSTRAINT FK_EE FOREIGN KEY (CodeEditeur) REFERENCES
EDITEUR(CodeEditeur)
);
Année universitaire 2024/2025
Exercice 3 :
1. Créer la base de données mediathèque :
CREATE DATABASE mediathèque;
USE mediathèque;
2. Créer les tables avec les contraintes
1. Table ADHERENT :
CREATE TABLE ADHERENT (
IdAdh INT,
Nom VARCHAR(50) NOT NULL,
Ville VARCHAR(50),
CONSTRAINT PK_adh PRIMARY KEY (IdAdh)
);
2. Table EMPRUNT :
CREATE TABLE EMPRUNT (
IdEmp INT,
DateEmp DATE,
IdAdh INT,
Duree INT DEFAULT 7,
CONSTRAINT PK_E PRIMARY KEY (IdEmp),
CONSTRAINT FK_EA FOREIGN KEY (IdAdh) REFERENCES ADHERENT(IdAdh)
);
3. Ajouter un champ Statut avec valeur par défaut :
ALTER TABLE EMPRUNT
ADD Statut VARCHAR(50) DEFAULT 'en cours';
4. Ajouter un champ RetourPrevu obligatoire (NOT NULL) :
ALTER TABLE EMPRUNT
ADD RetourPrevu DATE NOT NULL;
5. Supprimer la colonne RetourPrevu :
ALTER TABLE EMPRUNT
DROP COLUMN RetourPrevu;
6. Afficher la structure de la table EMPRUNT :
DESCRIBE EMPRUNT;
Année universitaire 2024/2025
Exercice 4 :
1. Créer la base de données :
CREATE DATABASE gestion_commandes;
USE gestion_commandes;
2. Créer la table CLIENT avec les contraintes :
CREATE TABLE CLIENT (
IdClient INT,
Nom VARCHAR(50) NOT NULL,
Ville VARCHAR(50),
CONSTRAINT PK_Clt PRIMARY KEY (IdClient)
);
3. Créer la table COMMANDE :
CREATE TABLE COMMANDE (
IdCmd INT,
DateCmd DATE DEFAULT CURRENT_DATE,
IdClient INT,
CONSTRAINT PK_cmd PRIMARY KEY (IdCmd),
CONSTRAINT FK_cmd_Clt FOREIGN KEY (IdClient) REFERENCES
CLIENT(IdClient)
);
4. Supprimer la contrainte de clé étrangère :
ALTER TABLE COMMANDE
DROP FOREIGN KEY FK_cmd_Clt;
5. Afficher la structure de la table COMMANDE :
DESCRIBE COMMANDE;