> Tech > Types de données SQL3

Types de données SQL3

Tech - Par iTPro - Publié le 24 juin 2010
email

La base de données AS/400 en V4R4 fournit plusieurs nouveaux types de données appelés SQL3. JDBC 2.0 est compatible avec ces types de données qui font partie du standard SQL99.
Le premier type que nous examinerons est le type distinct. Ce type est défini par l'utilisateur et est fondé sur

Types de données SQL3

un type de données standard. On peut définir
par exemple, un type de numéro de sécurité sociale, SSN, qui est un CHAR(9) en
interne. Un type distinct sera toujours associé à  un type de donnée intégré. Pour
utiliser des types distinct dans JDBC, il suffit d’y accéder de la même manière
qu’au type sous-jacent. Une nouvelle méthode DatabaseMetaData, getUDTs, permet
de recenser les types distinct présents sur le système. La figure 4 montre la
création d’un type distinct et l’une de ses utilisations courantes.

Les BLOB (Binary Large Objects) sont une autre forme de types de données SQL3.
Une colonne BLOB ressemble à  une colonne ‘CHAR FOR BIT DATA’, que l’on peut agrandir
à  volonté. On peut stocker ces colonnes binaires pour tout élément pouvant être
représentée sous la forme d’une suite d’octets non transposés.

On peut utiliser les BLOB comme tout autre type de base de données standard :
on peut les transmettre à  des procédures cataloguées, les utiliser dans des instructions
préparées et les mettre à  jour dans des jeux de résultats. La classe PreparedStatement
possède une méthode setBlob pour transmettre des BLOB à  la base de données et
la classe ResultSet ajoute une classe getBlob pour les extraire de la base de
données. Un BLOB est représenté dans un programme Java par un objet BLOB, lui-même
défini par une interface fournie par Sun. L’exemple de programme de la figure
5 montre la création d’une table qui contient une colonne BLOB et une utilisation
classique des BLOB.

Les CLOB (Character Large Objects) sont le complément, sous forme de données caractères,
des BLOB. Au lieu de stocker des données dans la base de données sans transposition,
on les stocke dans la base de données sous forme de texte et on les traite de
la même manière qu’une colonne CHAR. Comme pour les BLOB, JDBC 2.0 permet de travailler
directement avec les CLOB. PreparedStatement contient une méthode setClob et ResultSet
contient une méthode getClob. L’exemple de programme de la figure 6 illustre la
création d’une table contenant une colonne CLOB et une utilisation classique des
CLOB.
Pour l’utilisateur externe, les colonnes BLOB et CLOB fonctionnent comme les colonnes
CHAR FOR BIT DATA et CHAR. Mais elles sont très différentes en interne.
En raison de l’énorme taille potentielle des colonnes LOB (Large Object), on travaille
en principe indirectement avec les données. Ainsi, quand on atteint un bloc de
lignes dans la base de données, on ne transfère pas vraiment un bloc de LOB dans
le ResultSet ; on déplace plutôt des pointeurs (appelés localisateurs de LOB)
dans le ResultSet. Les localisateurs sont en principe des entiers de quatre octets.
Cependant, il n’est pas nécessaire de connaître les localisateurs quand on travaille
avec des LOB dans JDBC.

Les améliorations de JDBC 2.0 pour les types de données SQL3 apportent aux programmeurs
de base de données une souplesse considérable. (Un prochain article décrira certaines
utilisations de ces types de données.) Les types de données SQL3 sont idéaux pour
stocker de objets Java sérialisés, des documents XML (Extensible Markup Language)
et des données multimédia : chansons, illustrations de produits, photographies
d’employés, clips de films, et autres.
Notons au passage que l’AS/400 n’accepte pas certains types de données SQL3 comme
les ARRAY et les types structurés.
L’utilisation de ces types de données SQL3 avec les interfaces JDBC standard entraîne
une exception ou  » no-op « . JDBC ne prend en charge que les technologies qui font
partie de la base de données AS/400.

Téléchargez gratuitement cette ressource

Les 7 étapes d’un projet de dématérialisation RH

Les 7 étapes d’un projet de dématérialisation RH

Dans ce livre blanc, nous vous donnons les clés pour concevoir votre projet de dématérialisation RH. Vous découvrirez chacune des étapes qui vous permettront d’apporter de nouveaux services aux collaborateurs, de vous adapter aux nouvelles pratiques et de renforcer la marque employeur.

Tech - Par iTPro - Publié le 24 juin 2010