Harmonie des bases de données : coexistence entre 'tratidionnel' et SQL

par Paul Conte Mis en ligne le 22/02/2006 - Publié en Juillet 2005
En tant que développeurs iSeries, vous savez que SQL est désormais le seul langage stratégique de définition et d’accès aux bases de données d’IBM pour DB2 for iSeries. Dans l’ensemble, SQL est supérieur à l’approche « traditionnelle » de DDS pour la définition de données et les opérations d’I/O intégrées HLL. SQL est un langage standard compatible avec de nombreux outils et ressources de formation. Mieux encore, le nouveau support DB2 dans l’OS/400 rend SQL plus performant et SQL offre un large éventail de fonctions dont DDS ou l’I/O HLL sont dépourvus.Bien entendu, certaines fonctions habituelles sont absentes dans SQL (comme les fichiers multimembres) et, pour certains types d’accès aux bases de données, l’I/O classique demeure plus rapide que SQL. Sans entrer dans les détails, disons simplement que vous devriez généralement utiliser SQL, dans la mesure du possible, pour définir de nouveaux objets base de données et pour l’accès aux bases de données dans de nouvelles applications. Mais en tenant compte de certains cas exceptionnels où les bonnes vieilles méthodes resteraient de mise.
La question plus délicate est de savoir comment commencer à utiliser SQL avec une base de données existante qui comporte de nombreux fichiers définis par DDS et de nombreuses applications qui utilisent l’I/O HLL. Cet article examine de manière concise et rapide les problèmes de « coexistence » potentiels quand on utilise des méthodes traditionnelles et SQL dans le même site.
En revanche, les approches traditionnelles utilisent plusieurs langages distincts – dont DDS et HLL (comme RPG IV, ILE, Cobol) – qui incluent des extensions d’I/O pour supporter les fichiers base de données et des commandes CL, comme celles que l’on voit dans la figure 1.
Comme à la fois les fonctions traditionnelles et SQL s’appuient sur le même noyau de possibilités OS/400, vous pouvez aussi combiner librement des techniques SQL/400 et traditionnelles. Ainsi, vous pourriez utiliser Create Table pour créer une table de base de données puis utiliser la commande GrtObjAut (Grant Object Authority) pour contrôler l’accès.
Si l’on envisage SQL, il est bon de connaître les fonctions que permet l’approche traditionnelle et pour lesquelles il n’existe pas d’alternative SQL complète. La liste de la figure 2A vous aidera à éviter les écueils et à mieux prévoir la coexistence. A titre de comparaison, la figure 2B offre la liste des fonctions SQL non disponibles avec les méthodes utilisant des bases de données traditionnelles.
L’importance d’un élément particulier dépend, bien entendu, des besoins de l’application. Mais, en général, on peut dire que les fichiers de référence de champs sont le grand absent dans la définition de données SQL. Les types définis par l’utilisateur SQL permettent de réutiliser des définitions dans une certaine mesure, mais sans égaler la fonction DDS, qui est une aide au développement (pas à l’exécution) appréciable. Des outils, comme iSeries Navigator, qui fournissent un raccourci ponctuel pour définir une nouvelle colonne (champ) SQL en se basant sur une colonne existante, sont inadéquats parce que les changements apportés à la colonne référencée ne peuvent pas se propager automatiquement aux autres colonnes qui étaient basées sur la colonne référencée.
Une alternative raisonnable quand on utilise SQL, consiste à se servir d’un outil de conception de base de données et de génération de code SQL qui permet de maintenir les définitions, y compris un « dictionnaire » de « types » de colonnes courantes liées dynamiquement aux définitions de tables. Mais cette solution pose un problème : l’outil doit également supporter le SQL complet pour la syntaxe iSeries.
Il existe un autre moyen : utiliser un préprocesseur opensource ou maison, capable de lire des définitions de tables SQL qui utilisent un « type » de colonne (comme $Currency) et sortir un code SQL dont le type de colonne aura été remplacé par les caractéristiques de colonne appropriées. Bien que cet outil ne soit pas difficile à créer, on préfèrerait qu’IBM règle le problème de manière plus systématique. Bon gré mal gré, IBM devrait reconnaître que le manque de remplaçant pour les fichiers de référence de champs est l’un des principaux obstacles à l’adoption généralisée de SQL DDL sur l’iSeries.
Le fait que j’aie inclus des éléments du chemin d’accès dans la seconde liste de la figure 2A ne signifie nullement que SQL ne peut pas extraire des lignes par la logique select/omit ou rangées par valeur absolue. SQL peut bien sûr accéder aux données par ces diverses méthodes, mais l’instruction SQL Create Index ne permet pas de créer un objet index (c’est-àdire un chemin d’accès) qui possède ces propriétés. (Pour d’autres considérations sur ce sujet, voir aussi l’encadré « Accès SQL des tables « clonées » et des fichiers multimembres » ci-après.)
La figure 3 récapitule les objets base de données traditionnels et SQL comparables. La figure 4A fournit une liste aide-mémoire aux développeurs qui maîtrisent bien les interfaces base de données traditionnelles et désireux de connaître les techniques à utiliser en SQL. Cette liste n’est nullement exhaustive et j’ai exclu bon nombre d’opérations comparables évidentes, comme le fait que l’instruction SQL Insert soit comparable à une instruction Write de RPG IV ou Cobol. J’ai essayé de mettre dans la liste des éléments sur lesquels les programmeurs s’interrogent le plus souvent, d’après mon expérience. La figure 4B offre une liste d’alternatives classiques pour certaines techniques base de données SQL.
Nous sommes ouverts à tous les thèmes portant sur les services, les solutions et les technologies informatiques d'entreprise. Notre seule condition sera la qualité de votre contribution, quel que soit votre thème de prédilection, actualités, annonces, lancements, stratégie, tutoriaux, trucs et astuces, bonnes pratiques... cette liste n'étant pas exhaustive, stay tuned, au plaisir de collaborer.
Découvrez et évaluez les solutions de Cloud Privé MicrosoftAccédez aux solutions informatiques les plus avancées, bénéficiez d'une orchestration inédite de vos processus, d'une infrastructure souple, évoluant à la demande et selon vos besoins pour transformer vos datacenters en véritables centres de services au cœur de l'entreprise.Bénéficiez de ressources exclusives
Ressources Informatiques
Actualités Informatiques
IBM PureFlex System disponible le 21 mai 11/05/2012 | IBM | Cloud Computing
IBM rachète l’éditeur de solutions analytiques Varicent 16/04/2012 | Analyse | IBM
IBM PureSystems : le cloud privé automatisé 12/04/2012 | Cloud Computing | IBM
Facebook achète 750 brevets à IBM 26/03/2012 | Réseaux sociaux | Facebook
Modernisation, développement d'applications et DB2 sous IBM i 13/03/2012 | DB2 | Java
IBM PartnerWorld 2012 - « 20 % de notre business vient des partenaires » 06/03/2012 | IBM | PartnerWorld 2012
IBM PartnerWorld 2012 - Big Blue veut booster les projets cloud chez ses partenaires 02/03/2012 | Cloud Computing | Développement
IBM PartnerWorld 2012 - IBM augmente les marges de ses partenaires 01/03/2012 | Application | Cloud Computing
PartnerWorld 2012 - Redonner une valeur business aux données 29/02/2012 | Analyse | Big Data
IBM PartnerWorld 2012 - Ginni Rometty cible les responsables marketing 29/02/2012 | Big Data | IBM
IBM intègre les données X-Force à la plateforme QRadar 23/02/2012 | Framework | IBM
IBM lutte contre l'impact environnemental de l'industrie énergétique 23/02/2012 | Green IT | IBM
A la une de System iNEWS : Reprise après sinistre sur l'IBM i, LotuSphere 2012 et Performance Tools 10/02/2012 | Haute Disponibilité | IBM i
IBM rachète Worklight, spécialiste en mobilité 03/02/2012 | Développement | IBM
IBM crée un réseau électrique intelligent aux Etats-Unis 03/02/2012 | Architecture | Fibre optique
Vidéos Informatiques
Travail Collaboratif Présentation du Dell XPS 13
Travail Collaboratif Premiers déploiements massifs de SharePoint Workspace en 2012
Cloud computing « Le cloud ne doit pas être une aire de non-droit »
Windows Server Du script PowerShell à l’interface web avec Poshboard
Liens Informatiques
Ressources iT Pro
1er Guide thématique dédié à la mise œuvre d’un Cloud PrivéIT Pro Magazine | 12 pages
Guide de protection des environnements Hyper-VITPro Magazine | 4 pages
Guide d’optimisation & synchronisation des données SharePointAvepoint | 18 pages
Booster les performances des plates-formes virtuelles ?Diskeeper | 12 pages
IT Pro Magazine Spécial Windows 8IT Pro Magazine | 60 pages
Le guide du stockage signé IT Pro MagazineIT Pro Magazine | 16 pages
Testez Acronis Backup & Recovery 11 Virtual EditionAcronis | 2 pages





















