V5R10 , Database navigator

la version 5.10 propose (sous operation navigator) une nouvelle vision de la base de données :

Database navigator. Ce dernier offre les fonctionnalités existantes (conception et affichage d'informations sur les tables, les vues, les index, le journal), mais aussi une vision globale des liens entre tables et une possibilité de "reverse engeneering" (création du source à partie de l'objet).

 

Voyons cela.

Pour commencer, créons une base de test (cette procédure est fournie par IBM)

Puis, sous Database navigator, lançons un nouvel organigramme :

Dans la partie gauche de la fenêtre, il faut renseigner la bibliothèque et choisir "recherche" pour réactualiser la liste.

la liste des tables vous est affcihée et pour chaque tables, les relations base de données
(liste des index, liste des vues)

pour chaque élément, un menu contextuel vous est proposé :

  • Ouverture: mise à jour de la table (utilise Commit/Rollback)
  • Aperçu (select * from ..)
  • description (dspfd)
  • journalisation (strjrnpf/endjrnpf)
  • lignes verrouillées (dsprcdlck)
  • création d'un alias (CREATE ALIAS)
  • réorganisation (RGZPFM)
  • droits (EDTOBJAUT)
  • suppression et changement de nom (sans commentaires...)
  • propriétés = affichage du détail de la table
    (structure, contraintes, etc...)

ainsi que deux nouvelles options :
ajout à l'organigramme (voir la suite) et génération d'instruction SQL (regénérer le source)

 

la génération d'instruction SQL vous génère un source permettant de recréer l'élément en utilisant le langageSQL, il s'agit d'un véritable outil de transition qui mettera en évidence (sous forme de commentaires) les petites différences entre DDS et SQL (EDTCDE par exemple)

Cette fonctionnalité utilise en fait une API (QSQGNDDL) dont voici le détail : (voir la commande RTVSQLSRC et le pgm RTVSQLSRCP)


        Retrouver le source SQL
                          + QSQGNDDL (V5)

                          - structure 582 c. de long (voir ci-dessous)
                          - BIN(4)    longueur de la structure
                          - CHAR(8)  FORMAT
                                     . SQLR0100
                          - CHAR(??) Code erreur standard

  cette API génère le source SQL d'un élément base de données (table, vue..)
    elle regénère le source au format SQL, même si le fichier a été créé       par SDD, en générant un source permettant de recréer un objet le       plus proche possible de l'original.


 Format SQLR0100

   - CHAR(258)    nom de l'élément base de données
   - CHAR(258)    bibliothèque
   - CHAR(10)     type d'élément :   . TABLE                                      . VIEW                                      . INDEX                                      . ALIAS                                      . CONSTRAINT                                      . FUNCTION                                      . PROCEDURE                                      . SCHEMA                                      . TRIGGER                                      . TYPE
   - CHAR(10)     fichier source
   - CHAR(10)     bibliothèque du fichier source
   - CHAR(10)     membre source



   - BIN(4)     gravité maximale admise
                0 aucune erreur n'est admise                 10 à 40 : niveau de gravité admis.
   - CHAR(1)    remplacement du source
                '0' : écriture en ajout dans le membre source                 '1' : remplacement du membre source
  - CHAR(1)     option de formatage
                '0' : aucun caractère spécial n'est généré                 '1' : ajout des caractères fin de ligne et tabulation.
  - CHAR(3)     format de la date (ISO, USA, EUR, YMD, MDY, DMY)   - CHAR(1)     séparateur de la date
  - CHAR(3)     format de l'heure (ISO, USA, EUR, HMS)   - CHAR(1)     séparateur de l'heure



  - CHAR(3)     convention d'appellation
                'SYS' : le qualifiant est le '/'                 'SQL' : le qualifiant est le '.'
  - CHAR(1)     marque décimale (en France : ',')
  - CHAR(1)     option de standard
                '0' : les extensions pour DB2/400 sont générées                 '1' : les instructions doivent être conformes aux std DB2                 '1' : les instructions doivent être conformes aux std SQL
  - CHAR(1)     option pour instructions DROP
                '0' : ne pas générer les instructions DROP                 '1' : il faut  générer les instructions DROP
  - BIN(4)      niveau de gravité à partir duquel un message est généré                 dans le source



  - CHAR(1)     option pour commentaires
                '0' : les instructions COMMENT ON ne sont pas générées                 '1' : les instructions COMMENT ON sont  générées                       (invalide avec option de standard = '2')
  - CHAR(1)     option pour générer une entête
                '0' : une entête ne doit pas être générée.                 '1' : une entête doit être générée dans le source   Exemple:  ..........................................................  :   --  Générer SQL                                      :  :   --  Version :                  V5R1M0 010525         :  :   --  Généré le :              14/06/02 15:52:24       :  :   --  Base données relationn. : AS400                  :  :   --  Option normes :          DB2 UDB AS/400          :  :                                                        :  :   CREATE TABLE BDVIN1/VINS (                           :  :       .../...                                          :  :........................................................:


Lors de l'ajout d'une table à l'organigramme, le système recherche toutes les relations base de données :

et vous les affiche dans la fenêtre de droite:

les options suivantes gèrent l'affichage et vous permettent :

  • d'adapter le zoom à la taille de la fenêtre.
  • zoom avant
  • zoom arrière
  • affiche une vue d'ensemble (fenêtre indépendante)


ici, affichage à la taille de la fenêtre

en laissant votre curseur immobile sur un élément de l'organigramme vous obtenez :

du détail (ici, une int. reférentielle)


vous pouvez aussi, définir vos propres relations (fonctionnelles)

que vous voyez matérialisée ci-dessous:

vous pouvez demander l'affichage ou le retrait des éléments suivants (dans l'ordre) :

  • les index
  • les vues
  • les journaux
  • les récepteurs de journaux
  • les contraintes de clé primaire
  • les contraintes de vérification (CHECK)
  • les contraintes de clé unique
  • les alias de table
  • et enfin, les alias de vue.


quand vous avez terminé, sauvegardez votre organigramme (il s'agit d'une table stockée dans une bibliothèque 400)


(cours_sql dans QGPL, dans notre exemple), vous pourrez y revenir plus tard ,
à condition d'être seul à travailler avec votre organigramme.

 

 

Copyright © 1995,2002 VOLUBIS