Aller au contenu

Programmation SQL/Langage de définition de données

Un livre de Wikilivres.

Le LDD comprend les commandes pour la définition des données, qui sont CREATE (créer), DROP (supprimer), et ALTER (modifier).

Instruction CREATE SCHEMA

[modifier | modifier le wikicode]
CREATE SCHEMA nom_base;
  • Signification : crée une base de données appelée nom_base.
  • Rappel : une base de données est un ensemble de tables. Un SGBD peut gérer plusieurs bases de données.
  • Exemple :
CREATE SCHEMA `toto` ;

Cette commande permet de créer une base de données toto.

Sous MySQL on peut employer le terme DATABASE

CREATE {DATABASE | SCHEMA} nom_base;

Instruction DROP SCHEMA

[modifier | modifier le wikicode]
DROP SCHEMA nom_base;
  • Signification : détruit une base de données appelée nom_base.
  • remarque : cette instruction est parfois désactivée pour des raisons de sécurité.
  • Exemple :
DROP SCHEMA `toto` ;

Cette commande permet de détruire une base de données toto.

Sous MySQL on peut employer le terme DATABASE

DROP {DATABASE | SCHEMA} nom_base;

Instruction CREATE TABLE

[modifier | modifier le wikicode]
  • Cette instruction permet de créer une table : il faut définir son nom, les différents champs de la table avec leur type ainsi que des caractéristiques comme par exemple des clés.
  • Chaque champs d'une table possède un type :
    • CHAR chaîne non unicode remplacé par nchar pour des chaînes unicode microsoft (cf À la découverte d'Unicode )
    • VARCHAR chaîne non unicode remplacé par nvarchar pour des chaînes unicode microsoft.
    • INTEGER
    • NUMBER
    • DECIMAL
    • FLOAT
    • DOUBLE
    • DATE
    • TIME
    • TIMESTAMP


  • Exemple :
CREATE TABLE client1 ("NOM" VARCHAR( 50 ), "PRENOM" VARCHAR( 50 ), "TELEPHONE" VARCHAR( 50 ), "ADRESSE" VARCHAR( 200 ) );

Cette instruction crée une table intitulée client1 contenant 4 champs :

  • Un champ NOM : chaîne d'au plus 50 caractères.
  • Un champ PRENOM : chaîne d'au plus 50 caractères.
  • Un champ TELEPHONE : chaîne d'au plus 50 caractères.
  • Un champ ADRESSE : chaîne d'au plus 200 caractères.

Instruction DROP TABLE

[modifier | modifier le wikicode]
DROP TABLE nom_table;
  • Signification : détruit la table appelée nom_table.
  • Exemple :
DROP TABLE `client1` ;

Cette commande permet de détruire la table client1.

Instruction CREATE INDEX

[modifier | modifier le wikicode]
CREATE [UNIQUE] INDEX nom_de_l_index ON nom_de_table
  • Signification : crée un index appelée nom_de_l_index sur la table nom_de_table.

Instruction DROP INDEX

[modifier | modifier le wikicode]
DROP INDEX nom_de_l_index ON nom_de_table
  • Signification : détruit l'index appelé nom_de_l_index de la table nom_table.

Instruction CREATE VIEW

[modifier | modifier le wikicode]
{CREATE | REPLACE} VIEW {nom_de_la_vue} AS
{Instruction SELECT}
WITH READ ONLY;

Avec Oracle :

  • La création d'une vue nécessite les droits de création de vue.
  • L'instruction WITH READ ONLY (lecture seule) est facultative.
  • Une vue qui comporte certaines expressions (comme GROUP BY) est forcément en lecture seule.
  • L'{Instruction SELECT} de la vue ne comportera pas d'ORDER BY.