Considérations relatives aux types de données de colonne de base de données
Plusieurs types de données de colonne sont disponibles pour être utilisées lorsque vous créez de nouvelles tables ou colonnes de base de données.
Vous pouvez utiliser l'un des types de données suivants pour vos colonnes de base de données personnalisées lorsque vous devez créer une nouvelle table ou colonne de base de données. Il est recommandé d'utiliser uniquement les types de données de colonne suivants lorsque vous créez une table personnalisée. Les autres types de colonnes ne sont pas pris en charge.
Notes :
- Les descriptions des types de données suivants utilisent la terminologie DB2.
- Toutes les valeurs de clés primaires négatives d'une table, y compris 0, sont réservées à l'utilisation interne par HCL.
- BIGINT
- Les colonnes présentant ce type de données peuvent inclure un nombre entier signé 64 bits d'une plage de -9223372036854775807 à 9223372036854775807. En comparaison, les colonnes présentant le type de données INTEGER peuvent inclure des valeurs d'entier qui ne font que la moitié de la taille.
- INTEGER
- Les colonnes présentant ce type de données peuvent inclure un nombre entier signé 32 bits d'une plage de -2147483647 à 2147483647. En général, utilisez le type de données INTEGER au lieu du type de données BIGINT comme type de données numériques finies par défaut, sauf si vous avez une raison commerciale solide d'utiliser le type de données BIGINT. Par exemple, comme type de données pour les colonnes qui incluent une clé générée par le système. En utilisant le type de données INTEGER au lieu du type de données BIGINT, les performances de votre base de données peuvent être améliorées.Remarque : L'utilisation des types de données SMALLINT ou SHORT est déconseillée puisque ces types de données mappent vers un type de données Java non objet. L'utilisation de ces types de données peut causer des problèmes dans une instantisation d'objet de bean d'entreprise.
- TIMESTAMP
- Les colonnes présentant ce type de données incluent une valeur en sept parties (année, mois, jour, heure, minute, seconde et microseconde) qui désigne une date et une heure. La valeur temporelle comprend une spécification fractionnée de microsecondes. La représentation interne d'une valeur d'horodatage est une chaîne de 10 octets, chacune se composant de deux chiffres décimaux condensés. Les 4 premiers octets représentent la date, les 3 octets suivants l'heure et les 3 derniers octets les microsecondes.
- CHAR
- Les colonnes présentant ce type de données incluent une chaîne de caractères à longueur fixe de longueur INTEGER qui peut varier de 1 à 254 caractères. Si la spécification de longueur est omise, une longueur d'un caractère est supposée. Etant donné que CHAR est une colonne de base de données à longueur fixe, tous les espaces de caractères de fin inutilisés sont transformés en blancs. Remarque : A moins que vous n'ayez besoin du type de données CHAR pour des raisons de performance, n'utilisez pas ce type de données car il n'est pas flexible et la longueur ne peut pas être modifiée ultérieurement. En général, utilisez le type de données CHAR pour améliorer les performances lorsque les valeurs de chaîne à stocker dans la colonne sont inférieures à 64 caractères de long et sont régulièrement récupérées ou mises à jour.
- CHAR() FOR BIT DATA
- Ce type de données indique que le contenu de la colonne doit être traité comme des données bit (binaires). Lors de l'échange de données avec d'autres systèmes, les conversions de pages de code ne sont pas effectuées. Les comparaisons se font en binaire, quelle que soit la séquence de collecte de la base de données.
- DATE
- Les colonnes présentant ce type de données incluent une valeur en trois parties (année, mois et jour) qui désigne une date. Par exemple, 01-01-2016 représente le 1er janvier 2016.
Les colonnes présentant ce type de données incluent une valeur en six parties qui inclut l'heure (année, mois, jour, heure, minute et secondes). Par exemple, 01-01-2016 12.00.00 représente le 1er janvier 2016, 12:00. - FLOAT
- Les colonnes avec ce type de données incluent un nombre à virgule flottante à double précision. FLOAT est synonyme de DOUBLE.
- DOUBLE
- Les colonnes avec ce type de données incluent un nombre à virgule flottante à double précision. Un nombre à virgule flottante à double précision est une approximation 64 bits d'un nombre réel. Le nombre peut être nul ou peut varier de -1 79769E+308 à -2 225E-307, ou de 2 225E-307 à 1 79769E+308.
- SMALLINT
- Les colonnes présentant ce type de données incluent un nombre entier de 2 octets. La gamme de petits nombres entiers va de -32 768 à 32 767.
- VARCHAR
- Les colonnes présentant ce type de données incluent une chaîne de caractères de longueur variable du nombre entier de longueur maximale. La longueur de la chaîne peut varier de 1 à 32672. Contrairement aux colonnes du type de données CHAR, les données de colonne ne sont pas stockées avec la table. A la place, la valeur des colonnes présentant le type de données VARCHAR est représentée en interne comme indicateur de référence. La longueur d'une colonne VARCHAR peut être modifiée à tout moment.
- Objet CLOB
- Les colonnes présentant ce type de données incluent une chaîne de caractères de longueur variable que vous pouvez utiliser lorsque la longueur de la colonne doit dépasser la limite de 32 Ko du type de données VARCHAR. La longueur d'un objet CLOB peut atteindre 1 Go sans modifier la configuration de la base de données. Les données de texte stockées sous forme de CLOB sont converties lorsque les données sont déplacées entre différents systèmes.
- BLOB
- Les colonnes présentant ce type de données incluent une chaîne de caractères binaires de longueur variable qui stocke les données non structurées dans la base de données. Les objets BLOB peuvent stocker jusqu'à 4 Go de données binaires. Pour des raisons de performances, évitez d'utiliser le type de données BLOB.
- DECIMAL(20,5)
- Les colonnes présentant ce type de données incluent la plupart des nombres à virgule décimaux fixes, tels que les unités de devises. Pour les autres nombres décimaux à virgule flottante, utilisez plutôt le type de données FLOAT.
Différences de type de données entre les types de base de données
La table suivante indique les types de données de colonne équivalents pour les différents types de base de données pris en charge par HCL Commerce.
| UDB DB2 | Oracle | Limite de taille pour HCL Commerce |
|---|---|---|
| BLOB() | BLOB | 4 Go |
| TIMESTAMP | TIMESTAMP | - |
| INTEGER | INTEGER | 2 147 483 647 |
| DECIMAL(,) | DECIMAL(,) | - |
| BIGINT | NUMBER | 9 223 372 x 1012 |
| FLOAT | NUMBER | - |
| CHAR() | VARCHAR2() | 254 |
| CHAR() FOR BIT DATA | RAW() | 32 673 |
| VARCHAR | VARCHAR2() | 32 672 |
| CLOB() | Objet CLOB |
|
| DATE | DATE | |
| DOUBLE | NUMBER | |
| SMALLINT | SMALLINT |
1 Go