Les commandes sql

939 vues

Publié le

les commandes SQL suite du cours partie 2

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
939
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1
Actions
Partages
0
Téléchargements
64
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Les commandes sql

  1. 1. Les commandes SQL
  2. 2. I -IntroductionII -Le langage SQL dans AccessIII -Création et suppression de tablesIV –Création et suppression d’une relation
  3. 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 sappelait initialement SEQUEL) date du début des années 80.
  4. 4. II -Le langage SQL dans Access  Évidemment, il est beaucoup plus facile de créer, remplir, modifier, et supprimer une table dans linterface graphique dAccess quen utilisant des commandes SQL. Mais tous les SGBD ne sont pas dotés dune interface graphique, et il est bon de savoir se débrouiller sans elle le cas échéant.
  5. 5.  Il présente cependant de lintérêt dans les deux cas suivants :  lapprentissage initial du SQL, pour lequel il nest pas utile dentrer immédiatement dans les moindres détails ;  lautomatisation (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 dune macro.
  6. 6.  Pour gérer les tables en langage SQL dans AccessIl suffit d’ouvrir une requête en mode création puis passer en mode SQL
  7. 7. III -Création et suppression detables  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 quun point-virgule marque la fin de la commande) :  CREATE TABLE Personnes (Nom CHAR(20), Prénom CHAR(20));
  8. 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. 9.  Pour supprimer une table, on utilise la clause DROP TABLE, comme le montre lexemple suivant : DROP TABLE Personnes;
  10. 10. 1) Modification d’une table  Il est possible de modifier une table existante. Les exemples les plus classiques concernent laddition dune nouvelle colonne et la suppression dune colonne existante. La commande :  ALTER TABLE Personnes ADD Naissance DATE;  Ou bien  ALTER TABLE Personnes ADD COLUMN Naissance DATE;
  11. 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. 12.  En SQL standard, la commande ALTER TABLE peut aussi être utilisée pour modifier les propriétés dune colonne existante. Exemple : ALTER TABLE Personnes MODIFY Nom CHAR(40); mais la clause MODIFY nest pas reconnue par Access
  13. 13. 2) Propriétés des champs  Pour empêcher un champ de rester vide, nous utilisons la clause NOT NULL, comme le montre lexemple suivant :  CREATE TABLE Personnes (Nom CHAR(20) NOT NULL, Prénom CHAR(20));
  14. 14.  Pour quun champ soit indexé sans doublons, nous utilisons la clause UNIQUE, comme le montre lexemple suivant : CREATE TABLE Personnes (Nom CHAR(20) UNIQUE, Prénom CHAR(20));
  15. 15.  Pour poser une clé primaire sur un champ, nous utilisons la clause PRIMARY KEY, comme le montre lexemple 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. 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. 17. Table article Table commandeCode_art Entier long Num_cmd Entier longDes_art Texte (20) Date_cmd datepu Numérique Num_cl Entier longQte_stock Numérique
  18. 18. Table clientNum_cl Entier longNom Texte (20)prénom Texte (20)adresse Texte (50)tel Entier long
  19. 19. Table detailNum_detail Entier longNum-cmd Entier longCode_art Entier longQte_cmd Réél double
  20. 20. IV –Création et suppression d’unerelation 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);
  21. 21.  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));
  22. 22.  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 :  ALTERTABLE Villes ADD PRIMARY KEY(Code_Ville);
  23. 23.  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"
  24. 24.  (onparle 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".
  25. 25.  Nous exécutons donc la commande suivante  ALTERTABLE Personnes ADD FOREIGN KEY (Code_Ville) REFERENCES Villes (Code_Ville);
  26. 26. 2) Suppression d’une relation Pour 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:
  27. 27.  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));
  28. 28.  La suppression de cette relation sobtient à laide 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 :  ALTERTABLE Personnes DROP CONSTRAINT relation_ville;
  29. 29. V- La saisie et la correction desdonné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");
  30. 30.  Si le Null nest 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");
  31. 31.  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";
  32. 32.  Poursupprimer 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;

×