Langage de définition de données

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Le langage de définition de données (LDD, ou Data Definition Language, soit DDL en anglais) est un langage orienté au niveau de la structure de la base de données. C'est-à-dire que les commandes manipulent les structures de données et non les données elles-mêmes.

Tout d'abord, on peut définir le domaine des données (ensemble des valeurs que peut prendre une donnée : nombre, chaîne de caractères, date, booléen). Ensuite, on regroupe des données ayant un lien conceptuel au sein d'une même entité. Puis on peut définir les liens entre plusieurs entités de nature différente. Enfin, on peut ajouter des contraintes de valeur sur les données.

Ordres SQL[modifier | modifier le code]

On distingue typiquement quatre types de commandes:

  • CREATE : création de la structure
  • ALTER : modification de la structure
  • DROP : suppression des données et de la structure
  • RENAME : renommage,

qui peuvent porter sur les objets de type suivants :

  • TABLE : table
  • INDEX : index
  • VIEW : table virtuelle
  • SEQUENCE : compteur ou de suite de nombres
  • SYNONYM : synonyme
  • USER : utilisateur

Exemples[modifier | modifier le code]

  • Création d'une vue, à partir d'une table :
CREATE VIEW IG1
AS SELECT nom, prenom, (SYSDATE-datenaiss)/ 365 AGE
FROM eleve
WHERE classe = ‘BTSIM2’;
  • Modification d'une table, avec ajout d'une colonne de type entier, obligatoirement renseignée :
ALTER TABLE table1 ADD COLUMN colonne5 INTEGER NULL;
  • Suppression d'un objet:
DROP VIEW nom_vue;
  • Renommage d'un objet :
RENAME VIEW nom_vue TO nouveau_nom;

Typage des champs pour la création d'un table[modifier | modifier le code]

Lors de la création d'une table il faut en particulier décider du type des champs, qui sera approprié aux données et à leur manipulation.

Si par exemple, on décide de stocker des données définissant des individus dans une base de données,

on pourra définir les données de l'entité individu comme suit dans une table 'individu', comportant les champs :

  • Numéro de sécurité sociale : chaîne de caractères
  • Nom : chaîne de caractères
  • Prénom : chaîne de caractères
  • Date de naissance : date. La date de naissance doit être forcément antérieure à la date du jour

Maintenant, considérons l'entité voiture définie comme suit, modélisée par la table 'voiture', comportant les champs :

  • Numéro d'immatriculation : chaîne de caractères
  • Marque : chaîne de caractères
  • Modèle : chaîne de caractères
  • Avec ouverture centralisée des portes : booléen (oui ou non)

À ce stade, nous aurons deux tables : 'individu' et 'voiture'. Supposons que nous voulions stocker les informations sur les voitures des individus, en supposant pour simplifier qu'un individu ne possède qu'une seule voiture. On pourra alors ajouter la colonne suivante à la table 'individu':

  • Numéro d'immatriculation de la voiture personnelle : chaîne de caractères

Grâce à cette donnée complémentaire, on a lié l'entité individu à l'entité voiture à l'aide du numéro d'immatriculation, ce qui permettra de retrouver toutes les caractéristiques de la voiture.

Voir aussi[modifier | modifier le code]

Sur les autres projets Wikimedia :