Programmation SQL/Langage de définition de données
Apparence
Le LDD comprend les commandes pour la définition des données, qui sont CREATE (créer), DROP (supprimer), et ALTER (modifier).
SCHEMA
[modifier | modifier le wikicode]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;
TABLE
[modifier | modifier le wikicode]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.
INDEX
[modifier | modifier le wikicode]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.
VIEW
[modifier | modifier le wikicode]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
.