58
Chapitre 4 • Le langage SQL DDL
• FLOAT(p) (ou FLOAT) : nombres en virgule flottante d’au moins p bits
significatifs;
• CHARACTER(p) (ou CHAR) : chaîne de longueur fixe de p caractères;
• CHARACTER VARYING (ou VARCHAR(p)) : chaîne de longueur variable d’au
plus p caractères;
• BIT(p) : chaînes de longueur fixe de p bits;
• BIT VARYING : chaînes de longueur variable d’au plus p bits;
• DATE : dates (année, mois et jour);
• TIME : instants (heure, minute, seconde, éventuellement 1000ème de seconde);
• TIMESTAMP : date + temps,
• INTERVAL : intervalle en années/mois/jours entre dates ou en heures/minutes/
secondes entre instants 1 .
Chaque SGBD ajoutera de sa propre initiative d’autres types de données. Citons-en
deux généralement disponibles sous une forme ou sous une autre dans tous les
moteurs SQL :
• les Binary Large Objects (BLOB), sorte de contenants génériques pouvant
accueillir des chaînes de bits de longueur illimitée telles que des images,
séquences vidéo, séquence sonores ou musicales. Les Character Large Objects
(CLOB) sont similaires, mais considérés comme étant formés de caractères.
• les générateurs de valeurs, qui attribuent automatiquement la valeur suivante à
leur colonne lors de l’insertion d’une ligne; ils permettent d’assigner des
valeurs uniques à des colonnes servant d’identifiant technique.
Outre ces types de base abstraits et peu informatifs, il est possible de définir des
domaines de valeurs qui rendront le schéma plus lisible et plus facile à modifier 2 .
create domain MONTANT decimal(9,2)
create domain MATRICULE char(10)
create domain LIBELLE char(32)
create table CLIENT ( NCLI
MATRICULE,
NOM
LIBELLE,
ADRESSE char(60),
LOCALITE LIBELLE,
CAT
char(2),
COMPTE
MONTANT)
1. SQL distingue deux types d’intervalles car il n’est pas possible de calculer le nombre de jours
compris dans p mois sans connaître ces mois.
2. Comme nous le verrons également, il est possible d’attacher des contraintes d’intégrité simples
à un domaine.
Chapitre 4 • Le langage SQL DDL
• FLOAT(p) (ou FLOAT) : nombres en virgule flottante d’au moins p bits
significatifs;
• CHARACTER(p) (ou CHAR) : chaîne de longueur fixe de p caractères;
• CHARACTER VARYING (ou VARCHAR(p)) : chaîne de longueur variable d’au
plus p caractères;
• BIT(p) : chaînes de longueur fixe de p bits;
• BIT VARYING : chaînes de longueur variable d’au plus p bits;
• DATE : dates (année, mois et jour);
• TIME : instants (heure, minute, seconde, éventuellement 1000ème de seconde);
• TIMESTAMP : date + temps,
• INTERVAL : intervalle en années/mois/jours entre dates ou en heures/minutes/
secondes entre instants 1 .
Chaque SGBD ajoutera de sa propre initiative d’autres types de données. Citons-en
deux généralement disponibles sous une forme ou sous une autre dans tous les
moteurs SQL :
• les Binary Large Objects (BLOB), sorte de contenants génériques pouvant
accueillir des chaînes de bits de longueur illimitée telles que des images,
séquences vidéo, séquence sonores ou musicales. Les Character Large Objects
(CLOB) sont similaires, mais considérés comme étant formés de caractères.
• les générateurs de valeurs, qui attribuent automatiquement la valeur suivante à
leur colonne lors de l’insertion d’une ligne; ils permettent d’assigner des
valeurs uniques à des colonnes servant d’identifiant technique.
Outre ces types de base abstraits et peu informatifs, il est possible de définir des
domaines de valeurs qui rendront le schéma plus lisible et plus facile à modifier 2 .
create domain MONTANT decimal(9,2)
create domain MATRICULE char(10)
create domain LIBELLE char(32)
create table CLIENT ( NCLI
MATRICULE,
NOM
LIBELLE,
ADRESSE char(60),
LOCALITE LIBELLE,
CAT
char(2),
COMPTE
MONTANT)
1. SQL distingue deux types d’intervalles car il n’est pas possible de calculer le nombre de jours
compris dans p mois sans connaître ces mois.
2. Comme nous le verrons également, il est possible d’attacher des contraintes d’intégrité simples
à un domaine.
