Vous êtes sur la page 1sur 2

DEPARTEMENT DINFORMATIQUE

FILIERE : BCG
SECTION : A-B
ANNEE 2014-2015

FACULTE DES SCIENCES ET TECHNIQUES


UNIVERSITE SIDI MED BEN ABDELLAH

Srie TD N3- TP N-6


Objectif de la srie : Langage SQL sous MS Access : LDD (CREATE, ALTER, DROP) et
LMD (INSERT, UPDATE, DELETE).
Soient les tables suivantes :
Table : client
numcli
nom
adresse
1
Alami
9 Rue G-D La fontaine
2
Ibrahimi
101 Boulevard Royal
3
Ibrahimi
33 Rue de Zinzibar
4
Marzouq
6 Rue de Paris
5
Zorro
32 Rue Alhouria
6
Aach
1 Rue du 18 novembre
Table : commande
numcom
date
1
2.1.2014
2
2.1.2014
3
5.2.2014
4
3.3.2014

localit
Mekns
Tanger
Tanger
Fs
Rabat
Marrakech

Table ; produit
npro libelle
1
CHEV. SAPIN 200x6x2
2
CHEV. SAPIN 200x6x4
3
CHEV. SAPIN 400x6x4
4
POINTE ACIER 45 (20K)

numcli
2
3
2
4

prixU
75,00
120,00
220,00
105,00

Table : detailCom

numcom npro qcom


1
1
2
2
3
3
4

1
4
3
4
2
1
4

25
60
20
30
120
20
260

1. Cration des tables


Dans une nouvelle base de donnes, nomme gestion_commandes_sql, et laide du langage SQL, crer
la structure des tables Client, Produit, Commande et DetailCom en choisissant les types appropris
pour les colonnes.

2. Modification de la structure dune table

2.1 Formulez la requte SQL pour augmenter la taille de la colonne localit, de la table Client, 45
caractres.
2.2 Formulez la requte SQL pour ajouter la colonne tlphone la table Client.
2.3 Formulez la requte SQL pour supprimer la colonne tlphone de la table Client.

3. Dfinition des contraintes dintgrit au moment de la cration de la table

Crer une nouvelle version de la table Client, nomme Client2, mais cette fois-ci avec les contraintes
dintgrit suivantes :
numcli
: est une cl primaire.
Nom
: est un champ non vide toujours renseign.
Adresse
: est un champ unique et toujours renseign.
Noublier pas dattribuer des noms ces contraintes : vous suivez la configuration suivante pour
nommer les contraintes : nomtable_nomclonne_typedelacontarainte
Comme exemple pour nommer la contrainte cl primaire sur la colonne numcli on utilise le nom :
client_numcli_pk .

~ 1/2~

4. Suppression des contraintes


Donner les commandes SQL permettant de supprimer toutes les contraintes dfinies
dans la table Client2.
5. Suppression des tables
A laide du SQL, supprimer la table Client2.

6. Dfinition des contraintes dintgrit aprs cration des tables


6.1 Dans MS Access, afficher les relations entre les tables.
6.2 Formulez les requtes SQL pour ajouter, avec des noms de contraintes, les contraintes suivantes :
numcli de la table client
: est une cl primaire.
nom du client de la table client
: est un champ non vide toujours renseign.
numcom de la table commande
: est une cl primaire.
numcli de la table commande
: est une cl trangre.
numcli de la table client
: est une cl primaire.
npro de la table produit
: est une cl primaire.
(npro, numcom) de la table detailCom : est une cl primaire.
npro de la table detailCom
: est une cl trangre.
numcom de la table detailCom
: est une cl trangre.
6.3 Dans MS Access, Afficher de nouveau les relations entre les tables et afficher les options de
chacune des relations.

7. Dfinition des indexes


7.1 Quel est le rle des indexes dans une base de donnes ?
7.2 Dites quel moment le SGBD cre automatiquement des indexes ?
7.3 Formulez la requte SQL pour crer un indexe sur la colonne nom de la table Client.
7.4 Formulez la requte SQL pour supprimer lindexe cr la question prcdente.

8. Ajout des donnes une table : INSERT


8.1 Formulez les requtes SQL pour insrer les lignes de toutes les tables.
8.2 Formulez la requte SQL pour ajouter le client suivant : (4, Alaoui, 8 Grand Rue, Fs). Est-ce quon
peut ajouter ce client ? Justifier.
8.3 Formulez la requte SQL pour ajouter le client suivant : (11, Tazi, Rue Principale 10). Est-ce quon
peut ajouter ce client ? Justifier.
8.4 Formulez la requte SQL pour ajouter la commande suivante : (5, 5.1.2014, 10). Est-ce quon peut
ajouter cette commande ? Justifier.
8.5 Formulez la requte SQL pour ajouter lenregistrement suivant (numcom=1, npro=1, qcom=2) dans la
table DetailCom. Est-ce quon peut ajouter cet enregistrement ? Justifier.

9. Modification des lignes dune table : UPDATE


9.1 Formulez la requte SQL pour modifier le n de la commande 4 en 5. Est-ce quon peut faire cette
modification ? Justifier.
9.2 Formulez la requte SQL pour modifier lenregistrement (numcom=1, npro=1, qcom=25) en (numcom=1,
npro=1, qcom=30) dans la table DetailCom. Est-ce quon peut faire cette modification ? Justifier.
9.3 Est-ce quon peut remplacer dans la commande N 2 le client N3 par le client N 1 ? Justifier.

10. Surpression des lignes dune table : DELETE


10.1 Formulez la requte SQL pour supprimer le client N 4. Est-ce quon peut supprimer ce client ? Justifier.
10.2 Est-ce quon peut supprimer le client N 7 ? Justifier.

~ 2/2 ~