# Programmation SQL/Définitions

* Introduction
** Installation d'interfaces
* Les bases de données
* Quelques définitions
* Langage de définition de données
* Langage de manipulation de données
* Langage de contrôle de données
* Exemples d'applications
* Mots réservés
* Introduction
** Installation d'interfaces
* Les bases de données
* Quelques définitions
* Langage de définition de données
* Langage de manipulation de données
* Langage de contrôle de données
* Exemples d'applications
* Mots réservés
[ Modifier le sommaire ]

## Quelques définitions
### Le SGBD

Le SGBD (Système de Gestion des Bases de Données) est le serveur qui gère la ou les bases de données. Il est administré par un administrateur de bases de données. Celui-ci doit installer la base de données, gérer sa sauvegarde régulière, garantir sa sécurité et gérer les droits des utilisateurs de la base.

### Les bases de données

Une base de données relationnelle est constituée d'un ensemble de tables. Une entreprise ne possède en général qu'une seule base de données. Toutefois, un SGBD peut gérer plusieurs bases de données : ceci permet par exemple de garantir que deux applications ne vont absolument pas interagir.

### Les tables

Une base de données relationnelle est constituée d'un ensemble de tables. Une table est constituée de lignes et de colonnes. Chaque colonne correspond à un champ de données. Chaque ligne correspond à un enregistrement. Tous les enregistrements possèdent donc les mêmes champs.
Par exemple si vous avez une liste de clients définis par un nom, un prénom et une adresse, vous allez définir une table avec 3 colonnes : NOM, PRENOM et ADRESSE. Chaque client correspondra à une ligne dans la table.

### Les colonnes

Une ligne comporte plusieurs colonnes. De manière analogique on peut représenter une table sous la forme d'un tableau : une valeur est située à chaque intersection d'une ligne et d'une colonne. Une colonne correspond à un champ de données. Ce champ possède un nom (par exemple : nom, prénom, adresse, âge), un type (entier, chaîne de caractères, ...), et des options (possibilité de valeur nulle, clé primaire, ...).

### Le langage SQL

Les instructions essentielles SQL (Structured Query Language) se répartissent en plusieurs familles fonctionnellement distinctes parmi lesquelles : le LDD (Langage de Définition de Données) permet la description de la structure de la base : tables, vues ("views"), index, attributs… Le dictionnaire contient à tout moment le descriptif complet de la structure de données. Le LMD (Langage de Manipulation de Données) permet la manipulation des tables et des vues. Le LCD (Langage de Contrôle des Données) contient les primitives de gestion des transactions et des privilèges d'accès aux données.

### Langage de définition de données

On appelle langage de définition de donnée la partie du langage SQL qui permet de créer les différentes bases et les différentes tables.

### Langage de manipulation de données

Il s'agit de la partie du langage SQL permettant de modifier ou d'extraire des informations en provenance des différentes tables.

### Langage de contrôle de données

Il s'agit de la partie du langage SQL permettant de gérer les droits des différents utilisateurs du SGBD.