Langage de données : l'exemple du langage SQL

Informations[1]

Objectifs

  • Connaître la notion de langage orienté donnée ;

  • Savoir tester une instruction en SQL.

Mise en situation

Imaginez : vous développez une bibliothèque musicale, et vous avez identifié la structure des données que vous souhaitez gérer : les artistes d'un côté, les albums de l'autre, les playlists des utilisateurs, etc.

Au moment de passer à la pratique, vous vous demandez alors : comment expliquer cette structure au système de gestion de base de données ? Comment insérer de nouvelles données ? Comment récupérer les données existantes ?

La réponse tient en trois mots : grâce à SQL. Ce langage est le couteau suisse des bases de données, et permet aux développeurs de communiquer avec les SGBD.

DéfinitionLangage de données

Un langage de données est un langage informatique permettant de décrire et de manipuler les schémas et les données d'une BD[2].

RemarqueSynonyme

On parle aussi de langage orienté données.

FondamentalSQL

SQL[3] est le langage consacré aux SGBD relationnels et relationnels-objet.

Il permet de :

  • créer des tables, en définissant le domaine de chaque colonne ;

  • insérer des lignes dans les tables ;

  • lire les données entrées dans la base de données.

ExempleCréation de table en SQL (définition du schéma de données)

1
CREATE TABLE student (
2
number INTEGER PRIMARY KEY,
3
name TEXT,
4
city TEXT
5
);

Cette instruction permet de créer une relation student comportant les propriétés number, name et city de domaines, respectivement, entier, texte et texte (number est la clé primaire de la table, il servira à identifier les enregistrements).

ExempleInsertion de ligne en SQL (création de données)

1
INSERT INTO student (number, name, city) 
2
VALUES (1, 'Holmes', 'Londres');

Cette instruction permet de créer l'étudiant numéro 1, de nom Holmes qui habite la ville de Londres.

ExempleManipulation de données en SQL (exploitation des données)

1
SELECT name
2
FROM student 
3
WHERE city = 'Londres';

Cette instruction permet de rechercher les noms de tous les étudiants habitant la ville de Londres.

ComplémentAutres langages de données

  • XQuery est un langage de données mobilisé dans les bases de données arborescentes XML.

  • Les bases NoSQL proposent des langages de données spécifiques, souvent inspirés du SQL. Par exemple le langage de MongoDB permet de manipuler une base de contenus JSON.