Nom & Prénom : Classe :
Année académique 2012/2013
Module : Bases de données 1
Elément : Langage SQL
TP1 – Définition d’un schéma relationnel
Soit le schéma relationnel suivant :
CLIENT (NCLI , Nom, [Adresse], [Ville])
COMMANDE (NCOM, Client, DateCommande : Date, [DateLivraison])
Client référence NCLI
PRODUIT (NPRO, Libelle, Prix, [Stock])
DETAIL (Commande, Produit, Quant)
Commande référence NCOM
Produit référence NPRO
1. Créer une nouvelle base de données TP1.
2. Créer le domaine MONTANT comme un nombre décimal de six chiffres et avec deux
chiffres après la virgule.
3. Créer la table CLIENT. Attention : Se reporter aux enregistrements de la table pour
proposer des domaines de valeur compatibles (voir question 7).
23/04/2013 1/5
Nom & Prénom : Classe :
4. Créer la table COMMANDE. Assurez-vous qu’on ne puisse pas supprimer un client
qui a déjà passé des commandes. En cas de modification de NCLI, répercuter la
modification dans COMMANDE. La date de livraison doit être supérieure à la date de
commande.
5. Créer la table PRODUIT. Prix sera déclaré comme MONTANT.
6. Créer la table DETAIL. Déclarer Quant comme un entier avec 1 comme valeur par
défaut. On permet de supprimer les détails d’une commande en cas de suppression de
la commande. On ne permet pas la suppression d’un produit si un détail existe.
7. Entrer dans la table CLIENT les enregistrements suivants :
NCLI Nom Adresse Ville
C001 Société MAROCLUX 98 Bd Zerktouni Casablanca
C002 Etablissements ANFA Casablanca
C003 Imprimerie du Nord 120 Avenue des FAR Tanger
C004 Papeterie du Saiss 45 Avenue Hassan II
23/04/2013 2/5
Nom & Prénom : Classe :
8. Ajouter le client (C003, COMAREP, , Agadir). En utilisant des requêtes INSERT
ajouter le client (C006, Etablissements du Nord, , Tanger).
9. Ajouter le client (C003, COMAREP, , Agadir).
10. Ajouter le client (C005, , 24 Avenue Med V, Oujda).
11. Entrer dans la table PRODUIT les enregistrements suivants :
NPRO Libelle Prix Stock
P001 Cartouche encre couleur 500,00 100
P002 Imprimante laser A4 3000,00 20
P003 Clé USB 4Gb 300,00 100
12. Entrer dans la table COMMANDE les enregistrements suivants :
NCOM Client DateCommande DateLivraison
CO001 C001 12/04/2009 17/04/2009
CO002 C001 19/04/2009
CO003 C002 07/11/2008 09/11/2008
CO004 C003 23/03/2009 24/03/2009
23/04/2013 3/5
Nom & Prénom : Classe :
13. Ajouter la commande (CO005, C003, 15/03/2009, 06/03/2009).
14. Ajouter la commande (CO005, C003, 15/03/2009, 16/03/2009).
15. Supprimer le client C002 dans la table CLIENT.
16. Modifier le code du client C003 en C005 dans la table CLIENT.
17. Entrer dans la table DETAIL les enregistrements suivants :
Commande Produit Quant
CO001 P001 12
CO001 P002 5
CO002 P001 20
CO003 P001 8
CO003 P002 11
CO003 P003 15
CO004 P003 20
18. Supprimer la commande CO004 dans la table COMMANDE.
23/04/2013 4/5
Nom & Prénom : Classe :
19. Ajouter une colonne Poids en tant qu’entier à la table PRODUIT.
20. Ajouter une contrainte d’unicité à la colonne Nom de la table CLIENT.
21. Ajouter une contrainte d’unicité à la colonne Ville de la table CLIENT.
22. Enlever la contrainte NOT NULL sur la colonne DateCommande de la table
COMMANDE
23. Le client veut que la table DETAIL ait une clé primaire artificielle (ID) de type entier.
23/04/2013 5/5