S11 Modernisation DB2 Des DDS SQL

  • View
    23

  • Download
    6

Embed Size (px)

DESCRIPTION

S11 Modernisation DB2 Des DDS SQL

Text of S11 Modernisation DB2 Des DDS SQL

  • GAIA 2011

    IBM i

    La modernisation de la Base de Donnes DB2 for iPassage de DDS SQL

    16 et 17 mai 2011 IBM Forum de Bois-Colombes

    Session 11 Mardi 17 mai 09h00/10h30

    Nathanal BONNET GAIA Mini Systmes nbonnet@gaia.fr

  • IBM i

    GAIA 20112

    AGENDA

    Profitez de donnes plus fiables et plus accessibles grce SQL

    Comprendre les diffrences entre DB2 natif et DB2 SQL

    Comment migrer vos structures de fichiers tout en limitant les impacts sur votre existant

    Les difficults de la migration de donnes : donnes non conformes et volumtrie

  • IBM i

    GAIA 20113

    GAIA : EXPERTISE CONSEIL ET FORMATION DEPUIS 1999

    NOS DOMAINES DE COMPETENCES IBM i

    Lotus Domino

    Java / Websphere

    Technologies Web

    EXPERTISES

    Systme Migration, optimisation

    Dveloppement Mthodologie, conseil, assistance technique

    Accompagnement Conduite du changement, support aux quipes

  • IBM i

    GAIA 20114

    KNOW 400 : DISPOSITIF DE CAPITALISATION

    BASE DE CONNAISSANCES WEB

    WWW.KNOW400.FR

  • IBM i

    GAIA 20115

    KNOW 400 : DISPOSITIF DE CAPITALISATION

    BASE DE CONNAISSANCES IBM i RPG IV, ILE, Web Services, SQL

    Exploitation,Systme

    CONTENUS THEMATIQUES

    BASE DEXERCICES ET DEXEMPLES

    PARCOURS FORMATION

    SERVICES ASSOCIES Tutorat, formation online, conseil online

    WWW.KNOW400. FR

  • GAIA 2011

    IBM i

    DB2 for i

    Comprendre les diffrences entre fichier natif et SQL

    6

  • IBM i

    GAIA 2011

    Vers SQL

    Historiquement IBM i (systme 38, 36, AS400, iSeries, System i )

    Systme de fichier QSYS

    Structures de fichiers propritaires

    Langage propritaire

    DDS

    Evolution de la plateforme Support de SQL

    Famille DB2

    Particularit IBM i DB2 est intgr lOS

    Equivalence gre par lOS entre fichier natif DDS et SQL

    7

  • IBM i

    GAIA 2011

    Structured Query Language

    Le langage standard de manipulation de donnes

    Prsent dans tous les SGBD Mais non portable dun SGBD a un autre

    Chaque diteur enrichissant le standard de sa propre syntaxe ou fonctionnalit

    Langage ensembliste Manipule un ensemble de donnes

    De 0 n enregistrements

    Contrairement RPG

    Enregistrement par enregistrement

    La premire version commerciale 1979

    8

  • IBM i

    GAIA 2011

    Structured Query Language

    Cest le langage incontournable sur toutes les plateformes

    Sur IBM i De nombreuses volutions au fil des ans

    IBM a stabilis le DDS, seul SQL volue

    Nouveaux types de donne

    Nouvelles fonctionnalits

    9

  • IBM i

    GAIA 2011

    Structured Query Language

    10

  • IBM i

    GAIA 2011

    Structured Query Language

    SQL est compos de plusieurs langages, chacun ddi une utilisation DML (Data Manipulation language)

    Permet de slectionner, insrer, supprimer ou modifier des donnes dans une table (des tables) dune base de donnes relationnelle

    DDL (Data Definition Language)

    Permet de dfinir les structures de donnes, cest--dire les tables, les index et les contraintes

    DCL (Data Control Language)

    Gestion des autorisations, au niveau des objets comme au niveau colonne

    PL/SQL (Procedural Language)

    Langage de programmation SQL pour les SGBD : procdures stockes, fonctions utilisateurs, triggers

    SQL embarqu

    DML, DDL, DCL et des lments de PL/SQL disponibles pour les langages de programmation

    11

  • IBM i

    GAIA 2011

    SQL sur IBM i

    Particularit DB2 for i Intgr lOS

    Gestion dquivalent avec DB2 natif

    De multiples interfaces

    SQL Interactif (STRSQL)

    Excution de scripts SQL (RUNSQLSTM)

    SQL embarqu

    Query Manager (QM)

    SQL interactif par iSeries Navigator

    12

  • IBM i

    GAIA 2011

    Mais pourquoi passer de DDS SQL ?

    Pour des raisons humaines Il est simple de trouver une comptence SQL

    Moins simple pour DDS

    Pour des raisons de politique de dveloppement RoadMap IBM

    IBM a stabilis DDS, ce qui signifie que toutes les volutions porte sur SQL

    Pour des raisons techniques Performances

    Fiabilit des donnes

    Simplicit de dveloppement

    13

  • IBM i

    GAIA 2011

    DB2 for i

    Vocabulaire et concepts

    14

    IBM i DB2 for i

    Bibliothque Schma, Collection ou BD

    Fichier physique Table

    Enregistrement Ligne

    Champ Colonne

    Logique cl Index

    Logique sans cl Vue

    Format

    Membre

    Nom = 10 caractres Nom = 128 caractres

    Catalogue

    Journalisation Journalisation

    Intgrit rfrentielle

  • IBM i

    GAIA 2011

    DB2 for i

    Une diffrence fondamentale

    15

    PF (DDS)

    TABLE (SQL)

    WRITE INSERT

    READ FETCH

    CONTROLE

    CONTROLE

    Et ?

    30 %

    70 %

  • IBM i

    GAIA 2011

    DB2 for i

    Une autre diffrence DDS = compilation

    SQL = excution script

    Objets par dfaut dans *CURLIB

    Impacts Dveloppement

    Objets

    Livraison

    Diffrentiel

    Script

    16

  • IBM i

    GAIA 2011

    DB2 for i

    Bibliothque vs Schema/Collection Catalogue

    17

    QSYS

    QSYS2

    COLLECTION

    (*LIB)

    LIBRABRY

    (*LIB)

    SYSTABLES

    QADBXREF

    SYSTABLES

    CREATE COLLECTION CRTLIB

  • IBM i

    GAIA 2011

    DB2 for i

    Principales vues du catalogue

    Nom Usage

    SYSCOLUMNS Colonnes des tables et index

    SYSCHKCST

    SYSCST

    SYSCSTCOL

    SYSCSTDEP

    SYSREFCST

    Contraintes de cls, dintgrit, de vrification

    SYSINDEXES Index

    SYSKEYS

    SYSKEYCSTCls

    SYSTABLES Tables et index

    SYSVIEWS Vues

  • IBM i

    GAIA 2011

    DB2 for i

    Journalisation SQL

    Par dfaut

    Une journal et un rcepteur de journal associ sont crs automatiquement dans la collection

    QSQJRN (*JRN)

    QSQJRN0001 (*JRNRCV)

    Toute table cre dans une collection est journalise

    Toute table cre dans une bibliothque nest pas journalise

    DDS

    Manuelle

    Aucun fichier nest journalis

    19

  • IBM i

    GAIA 2011

    Et plus !

    SQL apporte dautres fonctionnalits Intgrit rfrentielle

    Triggers

    Plus de possibilits avec SQL

    Droits au niveau colonne

    XML

    Index EVI

    LOB

    Encryption

    20

  • GAIA 2011

    IBM i

    Migration des structures

    Compatibilit ascendante signifie que toutes les erreurs de

    conception originelles sont conserves

    21

  • IBM i

    GAIA 2011

    Problmatique

    Le problme nest pas tant de crer les tables qui vont remplacer nos fichiers physiques, mais plutt de maitriser

    tous les impacts

    Nous allons donc Etudier ces diffrences dans le dtail

    Dresser la liste des usages qui posent problmes

    Avec ce guide Analyse dimpact de notre existant

    Prvoir les modifications

    De fichiers

    De programmes

    22

  • IBM i

    GAIA 2011

    Principe PF -> TABLE

    23

    PF FIC1

    A R FIC1FMT

    A ID 10S 0 TEXT('Cl')

    A DONNEES 20A TEXT('Donnes')

    A SELE 10A TEXT('Slection')

    A K ID

    TABLE FIC1

    CREATE TABLE FIC1 (

    ID NUMERIC(10, 0) NOT NULL DEFAULT 0 ,

    DONNEES CHAR(20) NOT NULL DEFAULT '' ,

    SELE CHAR(10) NOT NULL DEFAULT '' ,

    PRIMARY KEY( ID ) ) ;

    LABEL ON TABLE FIC1

    IS 'Libell FIC1' ;

    LABEL ON COLUMN FIC1 (

    ID TEXT IS 'Cl' ,

    DONNEES TEXT IS 'Donnes' ,

    SELE TEXT IS 'Slection' ) ;

  • IBM i

    GAIA 2011

    Principe LF -> INDEX

    24

    PF FIC1L0

    A R FIC1FMT PFILE(FIC1)

    A K ID

    INDEX FIC1L0

    CREATE INDEX FIC1L0 ON FIC1 ( ID ) ;

    LABEL ON INDEX FIC1L0

    IS 'Cl non unique' ;

  • IBM i

    GAIA 2011

    Principe LF -> INDEX driv

    25

    PF FIC1L1

    A R FIC1FMT PFILE(FIC1)

    A K ID

    A S SELE COMP(EQ 'OUI')

    INDEX FIC1L1

    CREATE INDEX FIC1L1 ON FIC1 ( ID )

    WHERE SELE = 'OUI'

    ADD ALL COLUMNS ;

    LABEL ON INDEX FIC1L0

    IS 'Cl non unique' ;

  • IBM i

    GAIA 2011

    Principe LF -> VUE

    26

    PF FIC13V0

    A R F13FTM JFILE(FIC1 FIC3)

    A J JOIN(FIC1 FIC3)

    A JFLD(ID CLE)

    A ID

    A CLE

    A DONNEES

    Vue FIC13V0

    CREATE VIEW FIC13V0 (

    ID , CLE , DONNEES )

    AS

    SELECT f1.ID , f2.CLE , f1.DONNEES

    FROM FIC1 AS f1

    INNER JOIN FIC3 AS f2 ON ( f1.ID = f2.CLE ) ;

    LABEL ON COLUMN FIC13V0

    ( ID TEXT IS 'Cl' ,

    CLE TEXT IS 'Cl' ,

    DONNEES TEXT IS 'Donnes' ) ;

  • IBM i

    GAIA 2011

    Usages supports et non supports

    Types dusage RPG (carte F)

    SQL

    Sous toutes ces formes

    SQL embarqu

    QMQRY

    SQL interactif, RUNSQLSTM

    CL

    Les commandes relatives aux fichiers DDS

    OPNQRY,

    27

  • IBM i

    GAIA 2011

    Usages supports et non supports

    TABLE INDEX INDEX

    Driv

    VUE

    RPG (*)Carte F

    Idem PF Idem LF Idem LF Idem LF