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