Bienvenue sur le site web du réseau et de la Programmation!
 
 
Toujours en marche...?
   
 
   
 
 
 

Types de données SQL:

Chaque colonne dans une base de données doit être définie avec un type. Avec Oracle8, vous pouvez même définir vos propres types de données en plus de ceux prédéfinis. Les types prédéfinis entrent dans quatre catégories de données suivantes:

  • les nombres;
  • les chaînes;
  • les dates et les heures;
  • les chaînes longues et les grands objets binaires, BLOB (Binary Large Object)

Nombres entiers et décimaux

Le système Oracle dispose de plusieurs types de données pour stocker les nombres, chaque type convenant pour une utilisation différente

NUMBER
Stocke des nombres en général.
DECIMAL
Stocke des nombres à fraction décimale fixe et permet au système d'être compatible avec les autres bases des données relationnelles, spécialement SQL/DS et DB2.
FLOAT
Stocke des nombres en virgule flottante et permet au système d'être compatible avec le type FLOAT ANSI

Le type NUMBER offre la plus grande souplesse pour stocker des données numériques. Il accepte des entiers positifs et négétifs et des nombres réels, et possède une précision maximale de 38 chiffres.

La syntaxe d'utilisation de ce type lorsque vous définissez une colonne est:

NUMBER (Précision, échelle)

Les variables sont définies ainsi:

  • précision indique le nombre maximal de chiffres à stocker.
  • échelle indique le nombre de chiffres situés à droite de la virgule (échelle positive) ou à gauche (échelle negative), en fonction de la valeur donnée pour l'argument précision. la plage de valeur va de -84 à 127.

Le système accepte de 1 à 38 chiffres de précision pour ce type. Le nombre d'octets requis pour stocker une valeur de ce type dans une base de données dépend du nombre de chiffres utilisés pour exprimer cette valeur.

Caractères et chaînes

Vous disposez de plusieurs types pour stocker les chaînes:

  • CHAR
  • VARCHAR
  • VARCHAR2
  • LONG

La plus grande partie des données que l'on stocke dans une base de données est de type caractère.
Essayons maintenant d'expliquer les avantages et les inconvénients de chacun de ces types.

Le type CHAR stocke des chaînes comportant au maximum 255 caractères dans une colonne de longueur fixe. si vous ne spécifiez pas de longueur, une colonne de ce type ne stockera qu'un seul caractère.

Vous ne devriez pas utiliser le type VARCHAR si ce n'est pas pour des raisons de compatibilité avec une ancienne base de données avec laquelle vous voulez travailler (Oracle signale que le type VARCHAR pourra ne pas être utilisé dans les versions futures). Le type VARCHAR2 a été introduit pourremplacer le type VARCHAR. Si vous développez une nouvelle application, vous n'avez aucune raison d'utiliser le type VARCHAR.

 

 

Le type VARCAHR2 stocke jusqu'à 2000 caractères dans une seule colonne. Si vous devez absolument stocker une plus grande quantité de caractères, songez à utiliser le type LONG

Une colonne de type LONG peut stocker jusqu'à 2 Go de caractères. Toutefois, vous ne pouvez pas employer de fonctions intégrées ni d'opérateurs avec ce type. Si celà peut vous aider, voyez une colonne de type LONG comme une très grosse boîte noire dont le contenu ne peut pas être consulté avant qu'elle n'ai été vidée

Suivez les directives proposées ci-après pour choisir un type approprié pour une colonne qui doit stocker des données de type caractère:

  • Vous pouvez utiliser CHAR pour définir une colonne stockant un seul caractère.
  • Utilisez VARCAHR2 pour stocker des chaînes de longueur variable pouvant contenir plus de 2000 caractères.
  • Utilisez LONG pour stocker plus de 2000 caractères.

Si vous tentez de stocker plus de 2000 caractères, ne créez pas plusieurs colonnes de type VARCHAR2. Assembler, rechercher et manipuler le contenu de plusieurs colonnes relève de l'impossible.

Type CHAR

Comme le type CHAR stocke des caractères dans une colonne de logueur fixe, utilisez-le lorsque vous définissez des colonnes qui ne doivent contenier qu'un seul caractère Ce type n'est pas un bon choix pour stocker des chaînes en raison du gaspillage causé par l'espace fixe réservé.

Type VARCHAR2

Comme ce type permet de stocker des chaînes de longueur variable, c'est le type de prédilection pour conserver des chaînes. Il peut comprendre jusqu'à 2000 caractères. Toutefois, le SGBDR es efficace: il allouera seulement l'espace requis pour chaque valeur de colonne.

Dates et heures

Un des atouts du système Oracle est le type de données DATE (ce type aurait pu être appelé date-time, car il permet de stocker les informations concernant les dates et les heures). Le système alloue toujours une longueur de colonne fixe de 7 octets, même lorsque vous ne l'utilisez que pour conserver des informations d'heure.

Oracle possède un certain nombre de fonctions destinées spécialement à la manitpulation de valeurs et d'expression de date. Ce type permet de stocker des dates allant de 1er janvier 4712 av. J.-C. au 31 décembre 4712 apr. J.-C. Le système utilise le format DD-MMM-YY pour l'introduction et l'affichage de dates.

Chaînes longues

Comme mentionné précédemment, vous devez utiliser le type LONG pour stocker plus de 2000 caractères dans une seule colonne; car ce type accepte jusqu'à 2 Go de données. Comme pour le type VARCHAR2, le SGBDR est efficace dans sa gestion du type LONG et n'allouera que l'espace nécéssaire au stockage de chaque valeur de colonne. L'utilisation de ce type avec SQL s'accompagne toutefois de restrictions. Vous ne pouvez pas utiliser de fonctions ou d'opérateurs pour rechercher ou modifier le contenu d'une colonne de ce type. Si vous tentez de le faire, le système signale une erreur. Vous pouvez vous représenter une colonne de type LONG comme étant un grand container dans lequel vous pouvez stocker et récupérer des données, mais pas les manipuler.

NB: Vous ne pouvez avoir qu'une seule colonne de type LONG dans une table.

Grands objets binaires

Comme vous le savez probablement, la plupart des bases de données offrent la possibilité de stocker de grands objets binaires appelés BLOB (Binary Large Object). Ces objets comprennent les documents, les graphiques, les sons, les images vidéo; en fait, tout type de fichier bianaire. Le type LONG RAW est prévu pour le stockage de ces grands objets.

Lorsque vous voulez associer un BLOB avec une ligne normale, vous disposez de deux possibilités:

  • Stocker le BLOB dans un fichier du système d'exploitation (tel qu'un fichier MS-DOS) et stocker le répertoire et le nom de fichier dans la table associée;
  • Stocker le BLOB directement dans une colonne LONG RAW.

Certains dévéloppeurs préfèrent la première méthode. Ils pensent que l'objet est plus facilement disponible s'il est associé dans le système de fichiers plutôt que dans la base de données. Ils soutiennent qu'ils y gagnent très peu en stockant ce type d'objet dans une colonne de table si la base ne peut (ou ne doit), pas le mamipuler.

'D'autres voient un avantage à centraliser tout le stockage des informations dans une base de données. Ils prétendent que cette approche fournit une meilleure portabilité. En limitant les références vers un répertoire et un nom de fichier, ils réduisent le nombre de problèmes liés au système.

Une colonne de type LONG RAW peut accepter jusqu'à 2 Go pour chaque ligne. A l'instar des colonnes LONG, celle de type RAW possèdent un certain nombre de limitations. par exemple, vous ne pouvez pas utiliser de fonctions intégrées.

Type RAW

Le système dispose aussi du type RAW qui accepte jusqu'à 255 octets de données bianaires. Etant donné cette limitation de stockage, une colonne de ce type est moins utile qu'uen colonne LONG RAW.

Copyright © 2003
Webmaster: danysson
hotmail.com
Forum | Chat | Mail | Mailing List | Livre d'Or | Download

 

R&P©2003 Date de dernière mise à jour: lundi, 15 décembre, 2003