SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Les commandes SQL
I -Introduction
II -Le langage SQL dans Access
III -Création et suppression de tables
IV –Création et suppression d’une relation
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.
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.
 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.
 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
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));
   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).
 Pour supprimer une table, on utilise la
  clause DROP TABLE, comme le montre
  l'exemple suivant :
 DROP TABLE Personnes;
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;
 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;
 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
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));
 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));
 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));
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 »
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
Table client

Num_cl         Entier long

Nom            Texte (20)

prénom         Texte (20)

adresse        Texte (50)

tel            Entier long
Table detail

Num_detail     Entier long

Num-cmd        Entier long

Code_art       Entier long

Qte_cmd        Réél double
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);
 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));
 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);
 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"
 (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".
 Nous exécutons donc la commande
 suivante

   ALTERTABLE Personnes
   ADD FOREIGN KEY (Code_Ville)
   REFERENCES Villes (Code_Ville);
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:
 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));
 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 :
   ALTERTABLE Personnes
   DROP CONSTRAINT relation_ville;
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");
 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");
 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";
 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;

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (7)

La 2ème partie de la présentation PHP
La 2ème partie de la présentation PHPLa 2ème partie de la présentation PHP
La 2ème partie de la présentation PHP
 
Cours access
Cours accessCours access
Cours access
 
Presentation sql
Presentation sqlPresentation sql
Presentation sql
 
Cours access
Cours accessCours access
Cours access
 
PHP & MySQL
PHP & MySQLPHP & MySQL
PHP & MySQL
 
Theme 9(bis)
Theme 9(bis)Theme 9(bis)
Theme 9(bis)
 
Bases de php - Partie 4
Bases de php - Partie 4Bases de php - Partie 4
Bases de php - Partie 4
 

Andere mochten auch

Typededonnées suite du chapitre 2
Typededonnées suite du chapitre 2Typededonnées suite du chapitre 2
Typededonnées suite du chapitre 2Hanfi Akram
 
Ch1 l1 notions des bases de données
Ch1 l1 notions des bases de donnéesCh1 l1 notions des bases de données
Ch1 l1 notions des bases de donnéesHanfi Akram
 
Programme informatique2ème
Programme informatique2èmeProgramme informatique2ème
Programme informatique2èmeHanfi Akram
 
Programme d’informatique pour la 2ème année secondaire au
Programme d’informatique pour la 2ème année secondaire auProgramme d’informatique pour la 2ème année secondaire au
Programme d’informatique pour la 2ème année secondaire auHanfi Akram
 
ملخص مخرجات لجان اصلاح المنظومة التربوية في تونس
ملخص مخرجات لجان اصلاح المنظومة التربوية في تونسملخص مخرجات لجان اصلاح المنظومة التربوية في تونس
ملخص مخرجات لجان اصلاح المنظومة التربوية في تونسTunisie collège
 
Impact sur-la-conteunirisation-et-la-securite
  Impact sur-la-conteunirisation-et-la-securite  Impact sur-la-conteunirisation-et-la-securite
Impact sur-la-conteunirisation-et-la-securiteRabah HELAL
 
Cronograma semana de derecho 2013 (1)
Cronograma semana de derecho 2013 (1)Cronograma semana de derecho 2013 (1)
Cronograma semana de derecho 2013 (1)Daniel Pérez Ahumada
 
Check up des_2_vieux_3_r
Check up des_2_vieux_3_rCheck up des_2_vieux_3_r
Check up des_2_vieux_3_rPascal Duburque
 
Pourquoi le prix de mon billet a augmenté?
Pourquoi le prix de mon billet a augmenté?Pourquoi le prix de mon billet a augmenté?
Pourquoi le prix de mon billet a augmenté?Darjeelin
 
Exprimersesgoûtsetpréférences
ExprimersesgoûtsetpréférencesExprimersesgoûtsetpréférences
Exprimersesgoûtsetpréférencesarual091
 
Diapo complet ferrofluide (sylvain et dhervy)
Diapo complet ferrofluide (sylvain et dhervy)Diapo complet ferrofluide (sylvain et dhervy)
Diapo complet ferrofluide (sylvain et dhervy)Sylvain Chabaud
 
Guiade estudiodelabibliayelespiritudeprofecia
Guiade estudiodelabibliayelespiritudeprofeciaGuiade estudiodelabibliayelespiritudeprofecia
Guiade estudiodelabibliayelespiritudeprofeciaMisión Peruana del Norte
 
La vida de mi abuela paula cordero alvarez
La vida de mi abuela paula cordero alvarezLa vida de mi abuela paula cordero alvarez
La vida de mi abuela paula cordero alvarezmoronad45
 
Terminaux a-conteneur
Terminaux a-conteneurTerminaux a-conteneur
Terminaux a-conteneurRabah HELAL
 
Mapa conceptual evaluacion Mary ruiz
Mapa conceptual evaluacion Mary ruizMapa conceptual evaluacion Mary ruiz
Mapa conceptual evaluacion Mary ruizjoseantoniomogna
 

Andere mochten auch (20)

Typededonnées suite du chapitre 2
Typededonnées suite du chapitre 2Typededonnées suite du chapitre 2
Typededonnées suite du chapitre 2
 
Ch1 l1 notions des bases de données
Ch1 l1 notions des bases de donnéesCh1 l1 notions des bases de données
Ch1 l1 notions des bases de données
 
Programme informatique2ème
Programme informatique2èmeProgramme informatique2ème
Programme informatique2ème
 
Programme d’informatique pour la 2ème année secondaire au
Programme d’informatique pour la 2ème année secondaire auProgramme d’informatique pour la 2ème année secondaire au
Programme d’informatique pour la 2ème année secondaire au
 
Tp7
Tp7Tp7
Tp7
 
TP 2 ACCESS
TP 2 ACCESSTP 2 ACCESS
TP 2 ACCESS
 
ملخص مخرجات لجان اصلاح المنظومة التربوية في تونس
ملخص مخرجات لجان اصلاح المنظومة التربوية في تونسملخص مخرجات لجان اصلاح المنظومة التربوية في تونس
ملخص مخرجات لجان اصلاح المنظومة التربوية في تونس
 
Luose
LuoseLuose
Luose
 
Impact sur-la-conteunirisation-et-la-securite
  Impact sur-la-conteunirisation-et-la-securite  Impact sur-la-conteunirisation-et-la-securite
Impact sur-la-conteunirisation-et-la-securite
 
Cronograma semana de derecho 2013 (1)
Cronograma semana de derecho 2013 (1)Cronograma semana de derecho 2013 (1)
Cronograma semana de derecho 2013 (1)
 
Check up des_2_vieux_3_r
Check up des_2_vieux_3_rCheck up des_2_vieux_3_r
Check up des_2_vieux_3_r
 
Pourquoi le prix de mon billet a augmenté?
Pourquoi le prix de mon billet a augmenté?Pourquoi le prix de mon billet a augmenté?
Pourquoi le prix de mon billet a augmenté?
 
Exprimersesgoûtsetpréférences
ExprimersesgoûtsetpréférencesExprimersesgoûtsetpréférences
Exprimersesgoûtsetpréférences
 
Diapo complet ferrofluide (sylvain et dhervy)
Diapo complet ferrofluide (sylvain et dhervy)Diapo complet ferrofluide (sylvain et dhervy)
Diapo complet ferrofluide (sylvain et dhervy)
 
Guiade estudiodelabibliayelespiritudeprofecia
Guiade estudiodelabibliayelespiritudeprofeciaGuiade estudiodelabibliayelespiritudeprofecia
Guiade estudiodelabibliayelespiritudeprofecia
 
Claroline
ClarolineClaroline
Claroline
 
La vida de mi abuela paula cordero alvarez
La vida de mi abuela paula cordero alvarezLa vida de mi abuela paula cordero alvarez
La vida de mi abuela paula cordero alvarez
 
Terminaux a-conteneur
Terminaux a-conteneurTerminaux a-conteneur
Terminaux a-conteneur
 
Mapa conceptual evaluacion Mary ruiz
Mapa conceptual evaluacion Mary ruizMapa conceptual evaluacion Mary ruiz
Mapa conceptual evaluacion Mary ruiz
 
Computraining
ComputrainingComputraining
Computraining
 

Ähnlich wie Les commandes sql

presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfRihabBENLAMINE
 
SGBDR - MySQL
SGBDR - MySQLSGBDR - MySQL
SGBDR - MySQLMusatge
 
QuelquesCommandesMySQL.pdf
QuelquesCommandesMySQL.pdfQuelquesCommandesMySQL.pdf
QuelquesCommandesMySQL.pdfMoez Moezm
 
Support formation vidéo : SQL pour les (grands) débutants
Support formation vidéo : SQL pour les (grands) débutants Support formation vidéo : SQL pour les (grands) débutants
Support formation vidéo : SQL pour les (grands) débutants SmartnSkilled
 
PL LSQL.pptx
PL LSQL.pptxPL LSQL.pptx
PL LSQL.pptxMaNl13
 
ch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdfch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdfFadouaBouafifSamoud
 
Oracle : extension du langage SQL
Oracle : extension du langage SQLOracle : extension du langage SQL
Oracle : extension du langage SQLMohammed Jaafar
 
Pl/sql - interaction avec la base de données & structures de contrôle
Pl/sql  - interaction avec la base de données & structures de contrôlePl/sql  - interaction avec la base de données & structures de contrôle
Pl/sql - interaction avec la base de données & structures de contrôleAbdelouahed Abdou
 
chapitre 5_db_20_21.pdf.pptx
chapitre 5_db_20_21.pdf.pptxchapitre 5_db_20_21.pdf.pptx
chapitre 5_db_20_21.pdf.pptxDolaMary
 
Support_Cours_SQL.ppt
Support_Cours_SQL.pptSupport_Cours_SQL.ppt
Support_Cours_SQL.pptSiwarAbbes1
 
introduction au SQL et MySQL
introduction au SQL et MySQLintroduction au SQL et MySQL
introduction au SQL et MySQLAbdoulaye Dieng
 

Ähnlich wie Les commandes sql (20)

presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdf
 
Chapitre5.pdf
Chapitre5.pdfChapitre5.pdf
Chapitre5.pdf
 
SGBDR - MySQL
SGBDR - MySQLSGBDR - MySQL
SGBDR - MySQL
 
QuelquesCommandesMySQL.pdf
QuelquesCommandesMySQL.pdfQuelquesCommandesMySQL.pdf
QuelquesCommandesMySQL.pdf
 
Introduction_R.pdf
Introduction_R.pdfIntroduction_R.pdf
Introduction_R.pdf
 
Cours3 gdm sql
Cours3 gdm sqlCours3 gdm sql
Cours3 gdm sql
 
SQL partie III
SQL partie IIISQL partie III
SQL partie III
 
Support formation vidéo : SQL pour les (grands) débutants
Support formation vidéo : SQL pour les (grands) débutants Support formation vidéo : SQL pour les (grands) débutants
Support formation vidéo : SQL pour les (grands) débutants
 
Access tables
Access tablesAccess tables
Access tables
 
PL LSQL.pptx
PL LSQL.pptxPL LSQL.pptx
PL LSQL.pptx
 
ch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdfch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdf
 
Oracle : extension du langage SQL
Oracle : extension du langage SQLOracle : extension du langage SQL
Oracle : extension du langage SQL
 
Pl/sql - interaction avec la base de données & structures de contrôle
Pl/sql  - interaction avec la base de données & structures de contrôlePl/sql  - interaction avec la base de données & structures de contrôle
Pl/sql - interaction avec la base de données & structures de contrôle
 
SQL-ORACLE.pdf
SQL-ORACLE.pdfSQL-ORACLE.pdf
SQL-ORACLE.pdf
 
SQL-ORACLE.pptx
SQL-ORACLE.pptxSQL-ORACLE.pptx
SQL-ORACLE.pptx
 
chapitre 5_db_20_21.pdf.pptx
chapitre 5_db_20_21.pdf.pptxchapitre 5_db_20_21.pdf.pptx
chapitre 5_db_20_21.pdf.pptx
 
SQL.pdf
SQL.pdfSQL.pdf
SQL.pdf
 
Php1
Php1Php1
Php1
 
Support_Cours_SQL.ppt
Support_Cours_SQL.pptSupport_Cours_SQL.ppt
Support_Cours_SQL.ppt
 
introduction au SQL et MySQL
introduction au SQL et MySQLintroduction au SQL et MySQL
introduction au SQL et MySQL
 

Les commandes sql

  • 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
  • 20. 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);
  • 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.  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.  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.  (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.  Nous exécutons donc la commande suivante  ALTERTABLE Personnes ADD FOREIGN KEY (Code_Ville) REFERENCES Villes (Code_Ville);
  • 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.  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.  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 :  ALTERTABLE Personnes DROP CONSTRAINT relation_ville;
  • 29. 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");
  • 30.  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");
  • 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.  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;