Fiche de cours

Langage de définition de données (LDD)

Lycée   >   Terminale STMG   >   Sciences de gestion et numérique   >   Langage de définition de données (LDD)

  • Fiche de cours
  • Quiz et exercices
  • Vidéos et podcasts
Objectifs : qu’est-ce qu’une table ? Qu’est-ce qu’une contrainte d’intégrité ? Qu’est-ce qu’une vue ?

Un langage de définition de données (LDD) permet de créer des tables, des contraintes d’intégrité et des vues. Pour cela, il convient d’utiliser le couple de mots clés CREATE TABLE.

1. La création d’une table
La création de tables se fait à l’aide du couple de mots-clés CREATE TABLE. La syntaxe de définition simplifiée d’une table est la suivante :
CREATE TABLE Nom_de_la_table (Nom_de_colonne1 Type_de_donnée,
Nom_de_colonne2 Type_de_donnée, ...);


Le nom donné à la table doit généralement (sur la plupart des SGBD) commencer par une lettre, et le nombre de colonnes maximum par table est de 254.

Pour chaque colonne que l’on crée, il faut préciser le type de données que le champ va contenir. Celui-ci peut être un des types suivants :

Type de donnée

Syntaxe

Description

Type alphanumérique CHAR(n) Chaîne de caractères de longueur fixe n (n<16383)
Type alphanumérique VARCHAR(n) Chaîne de caractères de n caractères maximum (n<16383)
Type numérique NUMBER(n,[d])  Nombre de n chiffres [optionnellement d après la virgule]
Type numérique SMALLINT Entier signé de 16 bits (-32768 à 32757)
Type numérique INTEGER Entier signé de 32 bits (-2E31 à 2E31-1)
Type numérique FLOAT Nombre à virgule flottante
Type horaire DATE Date sous la forme 01/01/07
Type horaire TIME Heure sous la forme 12:54:24.85
Type horaire TIMESTAMP Date et Heure
 

L’option NOT NULL, placée immédiatement après le type de donnée permet de préciser au système que la saisie de ce champ est obligatoire.

Il est possible de créer une table en insérant directement des lignes lors de la création. Les lignes à insérer peuvent être alors récupérées d’une table existante grâce au prédicat AS SELECT. La syntaxe d’une telle expression est la suivante :
CREATE TABLE Nom_de_la_table (Nom_de_colonne1 Type_de_donnée,
Nom_de_colonne2 Type_de_donnée, ...)
AS SELECT Nom_du_champ1,
Nom_du_champ2, ...
FROM Nom_de_la_table2
WHERE Prédicat;

2. La contrainte d’intégrité
Une contrainte d’intégrité est une clause permettant de contraindre la modification de tables, faite par l’intermédiaire de requêtes d’utilisateurs, afin que les données saisies dans la base soient conformes aux données attendues. Ces contraintes doivent être exprimées dès la création de la table grâce aux mots clés suivants :
CONSTRAINT/ DEFAULT/ NOT NULL/ UNIQUE/ CHECK.

Le langage SQL permet de définir une valeur par défaut lorsqu’un champ de la base n’est pas renseigné grâce à la clause DEFAULT. Cela permet notamment de faciliter la création de tables, ainsi que de garantir qu’un champ ne sera pas vide.

La clause DEFAULT doit être suivie par la valeur à affecter. Cette valeur peut être un des types suivants :
- constante numérique ;
- constante alphanumérique (chaîne de caractères) ;
- le mot clé USER (nom de l’utilisateur) ;
- le mot clé NULL ;
- le mot clé CURRENT_DATE (date de saisie) ;
- le mot clé CURRENT_TIME (heure de saisie) ;
- le mot clé CURRENT_TIMESTAMP (date et heure de saisie).

Le mot clé NOT NULL permet de spécifier qu’un champ doit être saisi, c’est-à-dire que le SGBD refusera d’insérer des tuples dont un champ comportant la clause NOT NULL n’est pas renseigné.

Il est possible de faire un test sur un champ grâce à la clause CHECK() comportant une condition logique portant sur une valeur entre les parenthèses. Si la valeur saisie est différente de NULL, le SGBD va effectuer un test grâce à la condition logique. Celui-ci peut éventuellement être une condition avec des ordres SELECT...

La clause UNIQUE permet de vérifier que la valeur saisie pour un champ n’existe pas déjà dans la table. Cela permet de garantir que toutes les valeurs d’une colonne d’une table seront différentes.

Il est possible de donner un nom à une contrainte grâce au mot clé CONSTRAINT suivi du nom que l’on donne à la contrainte, de telle manière à ce que le nom donné s’affiche en cas de non respect de l’intégrité, c’est-à-dire lorsque la clause que l’on a spécifiée n’est pas validée.

Si la clause CONSTRAINT n’est pas spécifiée, un nom sera donné arbitrairement par le SGBD. Toutefois, le nom donné par le SGBD risque fortement de ne pas être compréhensible et ne sera vraisemblablement pas compris lorsqu’il y aura une erreur d’intégrité. La stipulation de cette clause est donc fortement conseillée.

Exemple de création de tables :
celle-ci va permettre de voir la syntaxe d’une instruction de création de table avec contraintes :

CREATE TABLE clients(
Nom char(30) NOT NULL,
Prenom char(30) NOT NULL,
Age integer, check (age < 100),
Email char(50) NOT NULL, check (Email LIKE “%@%”)
)

Il est possible de définir des clés, c’est-à-dire spécifier la (ou les) colonne(s) dont la connaissance permet de désigner précisément un et un seul tuple (une ligne).

L’ensemble des colonnes faisant partie de la table en cours permettant de désigner de façon unique un tuple est appelé clé primaire, et, se définit grâce à la clause PRIMARY KEY suivie de la liste de colonnes, séparées par des virgules, entre parenthèses. Ces colonnes ne peuvent alors plus prendre la valeur NULL et doivent être telles que deux lignes ne puissent avoir simultanément la même combinaison de valeurs pour ces colonnes.

PRIMARY KEY (colonne1, colonne2, ...)

Lorsqu’une liste de colonnes de la table en cours de définition permet de définir la clé primaire d’une table étrangère, on parle alors de clé étrangère, et on utilise la clause FOREIGN KEY suivie de la liste de colonnes de la table en cours de définition, séparées par des virgules, entre parenthèses, puis de la clause REFERENCES suivie du nom de la table étrangère et de la liste de ses colonnes correspondantes, séparées par des virgules, entre parenthèses.

FOREIGN KEY (colonne1, colonne2, ...)
REFERENCES Nom_de_la_table_etrangere(colonne1,colonne2,...)


Les clés étrangères permettent de définir les colonnes d’une table garantissant la validité d’une autre table. Ainsi, il existe des éléments (appelés triggers, ou en français « gâchettes » ou « déclencheurs ») permettant de garantir l’ensemble de ces contraintes que l’on désigne par le terme d’intégrité référentielle, c’est-à-dire notamment de s’assurer qu’un tuple utilisé à partir d’une autre table existe réellement.

Ces triggers sont ON DELETE et ON UPDATE :

         • ON DELETE est suivi d’arguments entre accolades permettant de spécifier l’action à réaliser en cas d’effacement d’une ligne de la table faisant partie de la clé étrangère :

- CASCADE indique la suppression en cascade des lignes de la table étrangère dont les clés étrangères correspondent aux clés primaires des lignes effacées ;
- RESTRICT indique une erreur en cas d’effacement d’une valeur correspondant à la clé ;
- SET NULL place la valeur NULL dans la ligne de la table étrangère en cas d’effacement d’une valeur correspondant à la clé ;
- SET DEFAULT place la valeur par défaut (qui suit ce paramètre) dans la ligne de la table étrangère en cas d’effacement d’une valeur correspondant à la clé. 

         • ON UPDATE est suivi d’arguments entre accolades permettant de spécifier l’action à réaliser en cas de modification d’une ligne de la table faisant partie de la clé étrangère. Ces éléments sont identiques à ceux de ON DELETE.
Les assertions sont des expressions devant être satisfaites lors de la modification de données pour que celles-ci puissent être réalisées. Ainsi, elles permettent de garantir l’intégrité des données. Leur syntaxe est la suivante :
CREATE ASSERTION Nom_de_la_contrainte CHECK (expression_conditionnelle)

La condition à remplir peut (et est généralement) être effectuée grâce à une clause SELECT.

3. Les vues
Une vue peut se définir comme une table virtuelle, c'est-à-dire dont les données ne sont pas stockées dans une table de la base de données et dans laquelle il est possible de rassembler des informations provenant de plusieurs tables. On parle de « vue » car il s'agit simplement d'une représentation des données dans le but d'une exploitation visuelle. Les données présentes dans une vue sont définies grâce à une clause SELECT.

La création d'une vue se fait grâce à la clause CREATE VIEW suivie du nom que l'on donne à la vue, puis du nom des colonnes dont on désire agrémenter cette vue (il faut autant de redéfinitions de colonne qu'il y en aura en sortie), puis enfin d'une clause AS précédant la sélection. La syntaxe d'une vue ressemble donc à ceci :
 
CREATE VIEW Nom_de_la_Vue
(colonnes)
AS SELECT...


Exemple :

CREATE VIEW Vue
(colonneA,colonneB,colonneC,colonneD)
AS SELECT colonne1,colonne2,colonneI,colonneII
FROM Nom_table1 Alias1,Nom_tableII AliasII
WHERE Alias1.colonne1 = AliasII.colonneI
AND Alias1.colonne2 = AliasII.colonneII


Les vues ainsi créées peuvent être l'objet de nouvelles requêtes en précisant le nom de la vue au lieu d'un nom de table dans un ordre SELECT...

Les avantages : la vue représente de cette façon une sorte d'intermédiaire entre la base de données et l'utilisateur. Cela a de nombreuses conséquences :
• une sélection des données à afficher,
• une restriction d'accès à la table pour l'utilisateur, c'est-à-dire une sécurité des données accrue,
• un regroupement d'informations au sein d'une entité.

L’essentiel

Le LDD est essentiel. En effet, la création d’une table, permettant l’organisation des données, ne fige pas l’ensemble des champs car ceux-ci vont pouvoir être modifiés grâce à une contrainte d’intégrité qui va modifier la table, par l’intermédiaire de requêtes d’utilisateurs, afin que les données saisies dans la base soient conformes aux données attendues. Les vues, quant à elles, ne sont que de simples représentations des données dans le but d'une exploitation visuelle.

Évalue ce cours !

 

Des quiz et exercices pour mieux assimiler sa leçon

La plateforme de soutien scolaire en ligne myMaxicours propose des quiz et exercices en accompagnement de chaque fiche de cours. Les exercices permettent de vérifier si la leçon est bien comprise ou s’il reste encore des notions à revoir.

S’abonner

 

Des exercices variés pour ne pas s’ennuyer

Les exercices se déclinent sous toutes leurs formes sur myMaxicours ! Selon la matière et la classe étudiées, retrouvez des dictées, des mots à relier ou encore des phrases à compléter, mais aussi des textes à trous et bien d’autres formats !

Dans les classes de primaire, l’accent est mis sur des exercices illustrés très ludiques pour motiver les plus jeunes.

S’abonner

 

Des quiz pour une évaluation en direct

Les quiz et exercices permettent d’avoir un retour immédiat sur la bonne compréhension du cours. Une fois toutes les réponses communiquées, le résultat s’affiche à l’écran et permet à l’élève de se situer immédiatement.

myMaxicours offre des solutions efficaces de révision grâce aux fiches de cours et aux exercices associés. L’élève se rassure pour le prochain examen en testant ses connaissances au préalable.

S’abonner

Des vidéos et des podcasts pour apprendre différemment

Certains élèves ont une mémoire visuelle quand d’autres ont plutôt une mémoire auditive. myMaxicours s’adapte à tous les enfants et adolescents pour leur proposer un apprentissage serein et efficace.

Découvrez de nombreuses vidéos et podcasts en complément des fiches de cours et des exercices pour une année scolaire au top !

S’abonner

 

Des podcasts pour les révisions

La plateforme de soutien scolaire en ligne myMaxicours propose des podcasts de révision pour toutes les classes à examen : troisième, première et terminale.

Les ados peuvent écouter les différents cours afin de mieux les mémoriser en préparation de leurs examens. Des fiches de cours de différentes matières sont disponibles en podcasts ainsi qu’une préparation au grand oral avec de nombreux conseils pratiques.

S’abonner

 

Des vidéos de cours pour comprendre en image

Des vidéos de cours illustrent les notions principales à retenir et complètent les fiches de cours. De quoi réviser sa prochaine évaluation ou son prochain examen en toute confiance !

S’abonner

Découvrez le soutien scolaire en ligne avec myMaxicours

Plongez dans l'univers de myMaxicours et découvrez une approche innovante du soutien scolaire en ligne, conçue pour captiver et éduquer les élèves de CP à la terminale. Notre plateforme se distingue par une riche sélection de contenus interactifs et ludiques, élaborés pour stimuler la concentration et la motivation à travers des parcours d'apprentissage adaptés à chaque tranche d'âge. Chez myMaxicours, nous croyons en une éducation où chaque élève trouve sa place, progresse à son rythme et développe sa confiance en soi dans un environnement bienveillant.

Profitez d'un accès direct à nos Profs en ligne pour une assistance personnalisée, ou explorez nos exercices et corrigés pour renforcer vos connaissances. Notre assistance scolaire en ligne est conçue pour vous accompagner à chaque étape de votre parcours éducatif, tandis que nos vidéos et fiches de cours offrent des explications claires et concises sur une multitude de sujets. Avec myMaxicours, avancez sereinement sur le chemin de la réussite scolaire, armé des meilleurs outils et du soutien de professionnels dédiés à votre épanouissement académique.

Fiches de cours les plus recherchées

Sciences de gestion et numérique

Langage d'interrogation des données (LID)

Sciences de gestion et numérique

Langage de contrôle de données (LCD)

Sciences de gestion et numérique

Approche des processus organisationnels

Sciences de gestion et numérique

Gestion du projet de système d'information

Sciences de gestion et numérique

Justification économique d'un projet d'évolution de système d'information

Sciences de gestion et numérique

Les normes associées aux réseaux informatiques : TCP/IP

Sciences de gestion et numérique

Organisation du projet

Sciences de gestion et numérique

Suivi du projet

Sciences de gestion et numérique

La modélisation des processus (le modèle événement-résultat)

Sciences de gestion et numérique

Généralités sur les réseaux pour le SI de l'organisation