2. I -Introduction
II -Le langage SQL dans Access
III -Création et suppression de tables
IV –Création et suppression d’une relation
3. I - Introduction
Le sigle SQL signifie "Structured Query
Language", soit en français "Langage de
recherche structuré". SQL est un langage de
gestion des bases de données relationnelles
que presque tous les SGBD comprennent. Il a
été développé par IBM dans le courant des
années 70, et son nom actuel (il s'appelait
initialement SEQUEL) date du début des
années 80.
4. II -Le langage SQL dans Access
Évidemment, il est beaucoup plus facile
de créer, remplir, modifier, et supprimer
une table dans l'interface graphique
d'Access qu'en utilisant des commandes
SQL. Mais tous les SGBD ne sont pas
dotés d'une interface graphique, et il est
bon de savoir se débrouiller sans elle le
cas échéant.
5. Il
présente cependant de l'intérêt dans les
deux cas suivants :
l'apprentissage initial du SQL, pour lequel il n'est
pas utile d'entrer immédiatement dans les moindres
détails ;
l'automatisation (via les macros) de certaines
opérations relatives aux tables. En effet, le code
SQL que nous allons écrire sera enregistré sous
forme de requête par le SGBD, et il est très facile
de lancer une requête à partir d'une macro.
6. Pour gérer les tables en langage SQL
dans Access
Il suffit d’ouvrir une requête en mode
création puis passer en mode SQL
7. III -Création et suppression de
tables
Dans la fenêtre SQL ouverte, nous écrivons
notre première commande (ou instruction)
SQL, contenant la clause CREATE TABLE,
pour créer la table "Personnes" (nous notons
qu'un point-virgule marque la fin de la
commande) :
CREATE TABLE Personnes
(Nom CHAR(20),
Prénom CHAR(20));
8. Les types de données sont définis dans le DDL (Data
Definition Language) du SGBD Microsoft Access:
Booléen : BIT ;
Nombre entier : SHORT (entier), SMALLINT (entier), LONG
(entier long), INTEGER (entier long), BYTE (octet) ;
Nombre réel : SINGLE (réel simple), DOUBLE (réel double),
NUMERIC (réel double) ;
Monétaire : CURRENCY, MONEY ;
Date/Heure : DATE, TIME, DATETIME ;
Texte : VARCHAR (255 caractères), CHAR(n) ou TEXT(n) (n
caractères), LONGTEXT (mémo, 32K max.) ;
Fichier binaire : LONGBINARY (Objet OLE) ;
Compteur : COUNTER (NuméroAuto).
9. Pour supprimer une table, on utilise la
clause DROP TABLE, comme le montre
l'exemple suivant :
DROP TABLE Personnes;
10. 1) Modification d’une table
Il est possible de modifier une table existante.
Les exemples les plus classiques concernent
l'addition d'une nouvelle colonne et la
suppression d'une colonne existante. La
commande :
ALTER TABLE Personnes
ADD Naissance DATE;
Ou bien
ALTER TABLE Personnes
ADD COLUMN Naissance DATE;
11. Pour supprimer la colonne que nous
venons de créer, nous utilisons la
commande suivante :
ALTER TABLE Personnes
DROP Naissance;
ou sa variante :
ALTER TABLE Personnes
DROP COLUMN Naissance;
12. En SQL standard, la commande ALTER
TABLE peut aussi être utilisée pour
modifier les propriétés d'une colonne
existante. Exemple :
ALTER TABLE Personnes
MODIFY Nom CHAR(40);
mais la clause MODIFY n'est pas
reconnue par Access
13. 2) Propriétés des champs
Pour empêcher un champ de rester vide,
nous utilisons la clause NOT NULL,
comme le montre l'exemple suivant :
CREATE TABLE Personnes
(Nom CHAR(20) NOT NULL,
Prénom CHAR(20));
14. Pour qu'un champ soit indexé sans
doublons, nous utilisons la clause
UNIQUE, comme le montre l'exemple
suivant :
CREATE TABLE Personnes
(Nom CHAR(20) UNIQUE,
Prénom CHAR(20));
15. Pour poser une clé primaire sur un champ,
nous utilisons la clause PRIMARY KEY,
comme le montre l'exemple suivant :
CREATE TABLE Personnes
(Nom CHAR(20) PRIMARY KEY,
Prénom CHAR(20));
Si deux champs représentent une clé primaire:
CREATE TABLE Personnes
(Nom CHAR(20),
Prénom CHAR(20),
PRIMARY KEY(Nom, Prénom));
16. 3) Application
Grâce au langage SQL créer les tables
suivantes dans une base de donnée
nommée « bon de commande votre nom et
prénom »
17. Table article Table commande
Code_art Entier long
Num_cmd Entier long
Des_art Texte (20)
Date_cmd date
pu Numérique
Num_cl Entier long
Qte_stock Numérique
18. Table client
Num_cl Entier long
Nom Texte (20)
prénom Texte (20)
adresse Texte (50)
tel Entier long
19. Table detail
Num_detail Entier long
Num-cmd Entier long
Code_art Entier long
Qte_cmd Réél double