Les commandes sql
-
Upload
hanfi-akram -
Category
Documents
-
view
923 -
download
15
description
Transcript of Les commandes sql
![Page 1: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/1.jpg)
Les commandes SQL
![Page 2: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/2.jpg)
I -Introduction
II -Le langage SQL dans Access
III -Création et suppression de tables
IV –Création et suppression d’une relation
![Page 3: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/3.jpg)
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.
![Page 4: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/4.jpg)
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.
![Page 5: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/5.jpg)
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.
![Page 6: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/6.jpg)
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
![Page 7: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/7.jpg)
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));
![Page 8: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/8.jpg)
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).
![Page 9: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/9.jpg)
Pour supprimer une table, on utilise la clause DROP TABLE, comme le montre l'exemple suivant :
DROP TABLE Personnes;
![Page 10: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/10.jpg)
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 PersonnesADD Naissance DATE;
Ou bien ALTER TABLE Personnes
ADD COLUMN Naissance DATE;
![Page 11: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/11.jpg)
Pour supprimer la colonne que nous venons de créer, nous utilisons la commande suivante :
ALTER TABLE PersonnesDROP Naissance;
ou sa variante :ALTER TABLE Personnes
DROP COLUMN Naissance;
![Page 12: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/12.jpg)
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 PersonnesMODIFY Nom CHAR(40);
mais la clause MODIFY n'est pas reconnue par Access
![Page 13: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/13.jpg)
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));
![Page 14: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/14.jpg)
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));
![Page 15: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/15.jpg)
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));
![Page 16: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/16.jpg)
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 »
![Page 17: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/17.jpg)
Table article
Code_art Entier long
Des_art Texte (20)
pu Numérique
Qte_stock Numérique
Table commande
Num_cmd Entier long
Date_cmd date
Num_cl Entier long
![Page 18: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/18.jpg)
Table client
Num_cl Entier long
Nom Texte (20)
prénom Texte (20)
adresse Texte (50)
tel Entier long
![Page 19: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/19.jpg)
Table detail
Num_detail Entier long
Num-cmd Entier long
Code_art Entier long
Qte_cmd Réél double
![Page 20: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/20.jpg)
IV –Création et suppression d’une relation
1) Création d’une relation 1-n Pour montrer comment on crée une relation 1-
n entre deux tables, nous avons décomposé les opérations en quatre étapes. Dans un premier temps, en exécutant la commande suivante : CREATE TABLE Personnes
(Nom TEXT(30),Prénom TEXT(30),Code_Ville LONG);
![Page 21: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/21.jpg)
Dans un deuxième temps, nous créons la table "Villes". Cette table servira de liste externe pour la table "Personnes". Nous exécutons la commande suivante :CREATE TABLE Villes
(Code_Ville COUNTER,Ville TEXT(30));
![Page 22: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/22.jpg)
Dans un troisième temps, nous modifions la table "Villes" en plaçant une clé primaire sur le champ "Code_Ville", qui servira de côté 1 à la future relation. Pour ce faire, nous exécutons la commande suivante :ALTER TABLE Villes
ADD PRIMARY KEY(Code_Ville);
![Page 23: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/23.jpg)
Dans un quatrième temps, nous modifions la table "Personnes" en plaçant une clé étrangère, nommée "relation_ville", sur le champ "Code_Ville" de la table "Personnes"
![Page 24: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/24.jpg)
(on parle de clé étrangère pour le côté n de la relation), en précisant que le côté 1 de la relation est le champ "Code_Ville" de la table "Villes".
![Page 25: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/25.jpg)
Nous exécutons donc la commande suivante
ALTER TABLE Personnes
ADD FOREIGN KEY (Code_Ville) REFERENCES Villes (Code_Ville);
![Page 26: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/26.jpg)
2) Suppression d’une relationPour pouvoir supprimer une relation ou
une clé primaire, il faux donner un nom indexe à ces derniers lors de la création grâce à la clause CONSTRAINT.
Exemple:
![Page 27: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/27.jpg)
CREATE TABLE Villes(Code_Ville COUNTER PRIMARY KEY,Ville TEXT(30));
CREATE TABLE Personnes(Nom TEXT(30),Prénom TEXT(30),Code_Ville LONG,CONSTRAINT relation_ville FOREIGN KEY (Code_Ville) REFERENCES Villes (Code_Ville));
![Page 28: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/28.jpg)
La suppression de cette relation s'obtient à l'aide de la commande ALTER TABLE. Dans le cas de la table "Personnes", côté n de la relation "relation_ville" créée précédemment, la commande s'écrit :ALTER TABLE Personnes
DROP CONSTRAINT relation_ville;
![Page 29: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/29.jpg)
V- La saisie et la correction des données
Pour saisir des données dans la table "Personnes", la commande SQL utilise la clause INSERT INTO. Les données en mode texte doivent être placées entre guillemets. Exemple : INSERT INTO Personnes
VALUES("Machin","Pierre");
![Page 30: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/30.jpg)
Si le Null n'est pas interdit dans les champs de la table "Personnes", nous pouvons introduire un nom sans le prénom correspondant, en opérant de la manière suivante : INSERT INTO Personnes (Nom)
VALUES ("Truc");
![Page 31: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/31.jpg)
Pour modifier un enregistrement existant, nous faisons appel à la clause UPDATE (qui signifie "mise à jour" en anglais). Si, par exemple, nous voulons doter M. Truc de son prénom, nous écrirons :UPDATE Personnes
SET Prénom="Henri"WHERE Nom="Truc";
![Page 32: Les commandes sql](https://reader034.fdocuments.fr/reader034/viewer/2022052202/559817fc1a28ab671d8b481d/html5/thumbnails/32.jpg)
Pour supprimer une ligne, nous utilisons la commande basée sur la clause:DELETE :DELETE FROM Personnes
WHERE Nom="Truc";
Lorsque la clause WHERE est absente, le SGBD supprime tous les enregistrements, laissant la table vide (mais ne la supprimant pas) :DELETE FROM Personnes;