• 20 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 29/10/2019

Utilisez les types de données adéquats

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

 

Vous vous rappelez la longue liste de types de données disponibles dans la fenêtre de création de colonne de SQL Power Architect ? Eh bien, je vais tous vous les présenter et il faudra tout retenir... Non je plaisante !! Je vais vous présenter les principaux types de données utilisés.

Cet avertissement étant donné, je vous rappelle que j'ai fait le choix d'utiliser un outil de modélisation générique (SQL Power Architect). Eh bien, au moment de la génération du script SQL de création de la base de données, ce dernier va gérer automatiquement les spécificités du SGBD de destination pour utiliser non seulement la bonne syntaxe SQL mais également les types de données du SGBD.

Le texte

Les 3 principaux types permettant de stocker du texte sont :

Type

Précision

Description

CHAR(p)

p : nombre de caractères

Texte de taille fixe (p caractères), complété par des espaces à droite si besoin

VARCHAR(p)

p : nombre de caractères

Texte de taille variable (p caractères maximum)

LONGVARCHAR ou TEXT

 

Texte de taille variable illimitée

Les types VARCHAR  et LONGVARCHAR  (ou TEXT) sont les types que vous devriez utiliser en général.

Réservez le type CHAR aux cas spécifiques où les textes ont une taille fixe (comme un code postal ou un numéro de sécurité sociale). Mais même dans ce cas, vous n'êtes pas obligé d'utiliser le type CHAR, le type VARCHAR  peut convenir.

Les nombres

Il faut distinguer 2 cas :

  • les nombres entiers

  • les nombres décimaux

Les nombres entiers

Pour les nombres entiers, ce qui importe, ce sont les valeurs minimale et maximale à stocker.

Type

Taille

Plage de valeur

SMALLINT

2 octets (16 bits)

-32 768 à +32 767 ou -2¹⁵ à +2¹⁵-1

INTEGER

4 octets (32 bits)

-2 147 483 648 à +2 147 483 647 ou -2³¹ à +2³¹-1

BIGINT

8 octets (64 bits)

-9 223 372 036 854 775 808 à +9 223 372 036 854 775 807 ou -2⁶³ à +2⁶³-1

NUMERIC(p)

variable

nombre positif ou négatif avec un maximum de p chiffres

Le type INTEGER est le choix le plus commun. Il propose un bon compromis entre la taille de stockage, la plage de valeurs possibles et les performances.

Choisissez le type SMALLINT  dans le cas où vous avez des contraintes d'utilisation d'espace disque, et le type BIGINT  si vous devez stocker des nombres dépassant les capacités du type INTEGER.

Les nombres décimaux

Je parle bien des nombres décimaux (ensemble ⅅ) et pas des nombres rationnels ou réels (ensemble ℚ ou ℝ). En effet, il n'est pas possible de stocker des nombres avec une infinité de chiffres après la virgule.

Le type à utiliser est DECIMAL(p,s), ou NUMERIC(p,s)  (DECIMAL et NUMERIC sont des synonymes). Les paramètres p (precision) et s (scale) représentent :

  • p (precision) : le nombre total de chiffres dans le nombre

  • s (scale) : le nombre de chiffres après la virgule

Ainsi, pour stocker le nombre 123,45  il faut utiliser au minimum un DECIMAL(5,2).

Le paramètre s (scale) est facultatif et vaut 0 par défaut. Dans le cas où il est omis, vous allez donc stocker des nombres entiers.

Les dates et les heures

Il y a 3 types pour stocker les dates et les heures.

Type

Format

Description

DATE

AAAA-MM-JJ

Stocke une date (sans information horaire)

TIME

hh:mm:ss.nnn

Stocke une heure (sans la date)

TIMESTAMP

AAAA-MM-JJ hh:mm:ss.nnn

Stocke une date et l'heure

Format :

  • AAAA : année sur 4 chiffres

  • MM : mois sur 2 chiffres (commence à 01  pour Janvier)

  • JJ : jour dans le mois sur 2 chiffres (commence à 01  pour le premier jour du mois)

  • hh : heure sur 2 chiffres (de 00  à 23)

  • mm : minute sur 2 chiffres (de 00  à 59)

  • ss : seconde sur 2 chiffres (de 00  à 59)

  • nnn : milliseconde sur 3 chiffres (de 000  à 999)

Les booléens

Une information booléenne est une information qui ne peut avoir que 2 valeurs : vrai ou faux.

Pour stocker ce genre d'information, il convient d'utiliser le type BOOLEAN.

Autres types

Il existe bien d'autres types, mais je ne vais pas m'y attarder car leur utilisation est bien moins fréquente. Je vous laisse le soin de regarder la documentation de votre SGBD pour plus d'information.

Exemple de certificat de réussite
Exemple de certificat de réussite