Interface QMF
A ferramente de SQL para DB2 Mainframe
por Leandro Delamare
Ola leitores.
Meu foco aqui como colunista é apresentar o DB2 para vocês, no meu artigo anterior (Guia de Sobrevivencia DB2 Parte 1) apresentei alguns comandos básicos que podem ser executados no DB2 tanto em ambientes Windows, Unix e Mainframe. Aqui mostraremos alguns exemplos práticos de uso daqueles comandos.
A interface QMF
Neste artigo irei apresentar para vocês a interface do QMF, que é basicamente a interface que executa as queries no DB2 no Mainframe, os comandos SQL são basicamente os mesmo, ou seja, podem ser usados tambem na versão Windows.
A Figura 1 apresenta a tela inicial do QMF, estou utilizando o QMF em um terminal TSO.
Terminal QMF
O terminal QMF é terminal de execução de SQLs no DB2
Figura 1. Terminal QMF
As primeiras informacoes basicas que precisamos são sobre as teclas de função que serao utilizadas aqui, a principio estaremos utilizando as seguintes teclas.
F6 – Query
F2 – Listagens como tabelas, procedures, etc
F12 – Reports, são os resultados de nossas buscas SQL.
Vamos entao iniciar apertando a tecla F2 para nos listarmos nossas tabelas para conhecermos nossas tabelas disponiveis para trabalharmos com alguns dados.
Precionando a Tecla F2 ira ser exibida a tela de listagem, lá vamos preencher os seguintes campos como a mostra a figura 2.
Figura 2. List QMF
Nesta tela estamos pedindo para ele listar para nós todas as tabelas e de todos os donos (owner), estes owners são que na versão Win/Unix são tambem chamados de SCHEMAS, nestas versoes este procedimento não existe, e é substituido pelo comando SQL “LIST TABLES FOR ALL”.
Quando precionamos enter recebemos o resultado como é exibido na figura 3, nesta tela podemos utilizar as teclas F7 e F8 para subir ou descer a tela com as listagens das tabelas, procure pelas tabelas em que o owner são Q, que são as tabelas de estudo que utilizaremos neste artigo, particularmente a tabela Q.STAFF
Figura 3. Listagem de tabelas
Como ja vimos as tabelas, vamos agora precionar a tecla F12 para voltar para a tela inicial e logo em seguida a tecla F6 para entrarmos no modo de query.
No modo query, vamos primeiramente fazer um simples “Select * from Q.Staff”, digitando isso no campo, precionamos a tecla F2 que ira executar nossa consulta, que tera o retorno como a figura 4.
Figura 4. Comando Select * from Q.Staff
Como podemos ver na listagem, temos os campos ID, Name, Dept, Job, Years, Salary, Comm, podemos nesta tela fazer a rolagem para os proximos registros utilizando as teclas F7 e F8 como na listagem de tabelas.
Vamos criar um novo exemplo desta vez para exibir o ID, Nome, Departamento, Salario e Commisão quando o salario for maior que 18000, para isso vamos voltar para a tela de consulta com a tecla F6, e vamos digitar como a figura 5.
Figura 5. Tela Query.
Depois disto, precionamos o F2 para executar a Query, e teremos o resultado como da figura 6.
Figura 6. Resultado SQL
Podemos tambem utilizar uma expressão para ele exibir não só os que tenham o salario maior que 18000, mais o salario somado com a commissão, dai a sintaxe seria muito semelhante, seria “SELECT * FROM Q.STAFF WHERE SALARY+COMM > 18000”
Conclusão
Neste artigo minha intenção era apresentar para vocês o ambiente real de produção do DB2, o modulo QMF, nos proximos artigos estaremos apresentando algums modulos de administração para o DB2 ambiente Windows/Unix, até o próximo artigo.
Leandro H. Delamare Ferreira (delamare@gmail.com) é desenvolvedor .NET e C++, formado em Engenharia de Software, já Atuou como DBA em SQL Server e desenvolveu vários projetos de análise e gerenciamento de dados para internet em sistemas de busca bem como sistemas de domínios para internet brasileira. Atualmente é da equipe de desenvolvimento da IBM e também presta suporte a DBAs DB2 em projetos Java