Domaines de données
Impossible d'accéder à la ressource audio ou vidéo à l'adresse :
La ressource n'est plus disponible ou vous n'êtes pas autorisé à y accéder. Veuillez vérifier votre accès puis recharger la vidéo.
Transcription textuelle
Objectif
Savoir les domaines pré-définis pour les attributs des tables.
Mise en situation
Supposez que vous êtes sur le point de créer une base de données pour gérer des événements sportifs. Dans la table événement, vous allez avoir plusieurs attributs, comme la date et l'heure de l'événement, son nom, son prix, son lieu, etc.
Si vous devez faire des calculs sur la date, par exemple pour programmer un rappel une semaine avant, il faut pouvoir distinguer le jour, le mois et l'année, et connaître les règles de calcul sur les dates.
Or, si on se représente mentalement ce que doit être une date, une heure ou un prix, comment indiquer au langage SQL la nature des données, pour qu'il « comprenne »
comment faire des calculs par exemple ?
C'est grâce aux types standards SQL, que vous allez découvrir dans ce module.
Fondamental : Les types standard
INTEGERouINT,SMALLINTNUMERIC(X)DECIMAL(X,Y)ouNUMERIC(X,Y)FLOAT(X),REAL
CHAR(X)VARCHAR(X)
DATE("AAAA-MM-JJ")TIME("HH:MM:SS")DATETIME("AAAA-MM-JJ HH:MM:SS")
Complément : Les types numériques standard
Les nombres entiers
INTEGER(ouINT) etSMALLINT, permettent de coder des entiers sur 4 octets (-2.147.483.648 à 2.147.483.647) ou 2 octets (-32.768 à 32.767).Les nombres entiers
NUMERIC(X)désigne un entier deXchiffres au maximum.Les nombres décimaux
DECIMAL(X,Y), oùXetYsont optionnels et désignent respectivement le nombre de chiffres maximum pouvant composer le nombre, et le nombre de chiffres après la virgule.NUMERIC(X,Y)est un synonyme standard.Les nombres à virgule flottante
FLOAT(X), avecXdéfinissant la précision (nombre de bits de codage de la mantisse).REALest un synonyme standard deFLOAT(24).
Conseil : FLOAT versus DECIMAL
Il est conseillé d'utiliser DECIMAL qui est un nombre exact, plutôt que FLOAT qui est un nombre approximatif, si la précision requise est suffisante. FLOAT sera réservé typiquement à des calculs scientifiques nécessitant un degré de précision supérieur.
Les types chaîne de caractères standard
On distingue principalement les types CHAR(X) et VARCHAR(X), où X est obligatoire et désigne la longueur maximale de la chaîne.
CHARdéfinit des chaînes de longueur fixe (complétée à droites par des espaces, si la longueur est inférieure àX) ;VARCHARdes chaînes de longueurs variables.
CHAR et VARCHAR sont généralement limités à 255 caractères. La plupart des SGBD proposent des types, tels que TEXT ou CLOB (Character Long Object), pour représenter des chaînes de caractères longues, jusqu'à 65000 caractères par exemple.
Les types date standard
Les types date sont introduits avec la norme SQL2. On distingue :
DATEqui représente une date selon un format de type "AAAA-MM-JJ" ;et
DATETIMEqui représente une date plus une heure, dans un format tel que "AAAA-MM-JJ HH:MM:SS".
Attention :
DATETIME n'existe pas sous PostgreSQL (on utilise TIMESTAMP à la place).
Complément : Types de données PostgreSQL
Complément : Les autres types
En fonction du SGBD, il peut exister de nombreux autres types. On peut citer par exemple :
MONEYpour représenter des décimaux associés à une monnaie,BOOLEANpour représenter des booléens,BLOB(pour Binary Long Object) pour représenter des données binaires tels que des documents multimédia (images bitmap, vidéo, etc.)Etc.
Impossible d'accéder à la ressource audio ou vidéo à l'adresse :
La ressource n'est plus disponible ou vous n'êtes pas autorisé à y accéder. Veuillez vérifier votre accès puis recharger la vidéo.