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

 LeandroDelamare_InterfaceQMF_Fig01.png

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.

 LeandroDelamare_InterfaceQMF_Fig02.png

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

 LeandroDelamare_InterfaceQMF_Fig03.png

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.

 LeandroDelamare_InterfaceQMF_Fig04.png

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.

LeandroDelamare_InterfaceQMF_Fig05.png
Figura 5. Tela Query.

Depois disto, precionamos o F2 para executar a Query, e teremos o resultado como da figura 6.

 LeandroDelamare_InterfaceQMF_Fig06.png

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.

 

 Noticia_Delamare.gif

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