L2 Info : Bases de données
 
◃  Ch. 4 Implantation des données avec SQL (DDL)  ▹
 

Domaines de définition SQL

  • Les types SQL diffèrent parfois selon le SGBD employé...
  • Chaînes de caractères 
    • à longueur variable : VARCHAR(longueur)
    • à longueur constante : CHAR(longueur)
    • à longueur illimitée : TEXT, CLOB, ...
  • Avec PostgreSQL, la taille maximale d'un CHAR ou d'un VARCHAR est de 10 485 760.
  • Avec MySQL, la taille maximale d'un CHAR est de 255, la taille maximale d'un VARCHAR est de 65 535.
  • Avec Oracle, la taille maximale d'un CHAR est de 2000, la taille maximale d'un VARCHAR est de 4 000 ou 32 767 (selon la configuration du serveur).
  • Nombres & dates :
    Catégorie logo Oracle Oracle logo PostgreSQL PostgreSQL logo MySQL MySQL
    BooléensBIT (obsolete)booleanBOOL, BOOLEAN
    EntiersSMALLINT, INTEGER, NUMBERsmallint, integer, bigint TINYINT, SMALLINT, INT, BIGINT
    RéelsNUMERIC, DECIMAL, NUMBER, REAL, DOUBLE PRECISIONdecimal, numeric, real, double precisionFLOAT, DOUBLE, NUMERIC, DECIMAL
    DateDATEdate, time, timestampDATE, DATETIME, TIME, TIMESTAMP, YEAR
  • NUMERIC(précision, échelle) : type particulier permettant de mémoriser de grands nombres avec une précision exacte (moyennant un temps de calcul plus long). La précision indique le nombre maximum de chiffres utilisables, l'échelle indique le nombre constant de chiffres après la virgule. Ainsi, le nombre 1234,567 peut être associé à une précision de 7 et une échelle de 3. Avec le type NUMERIC(7,3), l'entier 43 sera représenté 43,000.
  • Le type DECIMAL(précision, échelle) est équivalent à NUMERIC.
  • Les smallint, int et bigint sont respectivement codés sur 2, 4 et 8 octets.
  • Données Binaires ; BLOB ou bytea ou LONG RAW, etc.
  • Sources détaillées : PostgreSQL, MySQL, Oracle