Translate

Mostrar mensagens com a etiqueta Performance SQL. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Performance SQL. Mostrar todas as mensagens

sexta-feira, 4 de agosto de 2023

☕ Da Tela Verde ao SQL: A Jornada de um Profissional Mainframe

 

Bellacosa Mainframe evoluindo da tela verde ao SQL no Db2



☕ Da Tela Verde ao SQL: A Jornada de um Profissional Mainframe

Muitos profissionais aprendem JCL, COBOL, SORT e CICS antes de entrar em contato com SQL.

Quando isso acontece, a primeira impressão costuma ser:

"Parece simples demais."

Mas o SQL possui uma característica única:

É simples para começar e complexo para dominar.

Você consegue escrever um SELECT em poucos minutos.

Pode levar anos para compreender completamente:

  • Access Paths

  • Indexes

  • Buffer Pools

  • Locking

  • Concurrency

  • RUNSTATS

  • REORG

  • Performance Tuning

Por isso cada objetivo dessa trilha merece ser explorado profundamente.


🎯 Objetivo 1: Compreender os Conceitos Básicos do SQL

O que realmente significa?

Entender SQL não é decorar comandos.

É compreender o Modelo Relacional.

Antes do SQL, sistemas trabalhavam diretamente com:

  • Arquivos sequenciais

  • VSAM KSDS

  • VSAM ESDS

  • VSAM RRDS

O programador precisava conhecer:

  • Layout físico

  • Chaves

  • Organização dos dados

Com SQL ocorre uma revolução:

Você informa:

SELECT NOME
FROM CLIENTES

O banco decide:

  • Como localizar

  • Qual índice usar

  • Quantas páginas acessar

  • Qual estratégia é mais eficiente

Essa separação entre lógica e armazenamento foi uma das maiores inovações da computação.


Conceitos fundamentais

Tabela

Equivalente moderno de um arquivo lógico.

Linha

Registro.

Coluna

Campo.

Chave Primária

Identifica unicamente cada registro.

Índice

Estrutura que acelera pesquisas.

Relacionamento

Conexão entre tabelas.


🎯 Objetivo 2: Explorar a Sintaxe e Estruturas do SQL

Aqui começa a alfabetização do profissional SQL.

Toda instrução possui uma estrutura lógica.

Exemplo:

SELECT
    NOME,
    CIDADE
FROM CLIENTES
WHERE CIDADE = 'SANTOS'
ORDER BY NOME;

Observe a sequência:

  1. SELECT

  2. FROM

  3. WHERE

  4. ORDER BY

A ordem de escrita é simples.

Mas o DB2 executa internamente de forma diferente.

Ele primeiro localiza os dados.

Depois filtra.

Depois ordena.

Compreender isso ajuda a entender performance.


Boas práticas desde o início

Evite:

SELECT *
FROM CLIENTES;

Prefira:

SELECT
    ID_CLIENTE,
    NOME,
    CIDADE
FROM CLIENTES;

Essa pequena mudança já demonstra maturidade técnica.


🎯 Objetivo 3: Utilizar Comandos Básicos de SQL

Todo profissional precisa dominar quatro comandos fundamentais.


SELECT

Consulta informações.

SELECT *
FROM CLIENTES;

INSERT

Inclui registros.

INSERT INTO CLIENTES
(
 ID,
 NOME
)
VALUES
(
 1,
 'ANA'
);

UPDATE

Altera registros.

UPDATE CLIENTES
SET CIDADE = 'SANTOS'
WHERE ID = 1;

DELETE

Remove registros.

DELETE
FROM CLIENTES
WHERE ID = 1;

O erro que assombra os DBAs

Esquecer o WHERE.

Exemplo perigoso:

UPDATE CLIENTES
SET STATUS = 'ATIVO';

Resultado:

Toda a tabela será atualizada.

É um dos acidentes mais famosos da história dos bancos de dados.


🎯 Objetivo 4: Implementar Consultas Simples em SQL

Agora o aluno começa a transformar dados em informação.


Filtrando registros

SELECT
    NOME
FROM CLIENTES
WHERE CIDADE = 'SANTOS';

Filtrando intervalos

SELECT
    NOME
FROM CLIENTES
WHERE SALARIO
BETWEEN 5000 AND 10000;

Utilizando listas

SELECT *
FROM CLIENTES
WHERE ESTADO IN
(
 'SP',
 'RJ',
 'MG'
);

Pesquisando padrões

SELECT *
FROM CLIENTES
WHERE NOME LIKE 'MAR%';

Retorna:

  • MARIA

  • MARCOS

  • MARCELO


Ordenando resultados

SELECT
 NOME,
 SALARIO
FROM FUNCIONARIOS
ORDER BY SALARIO DESC;

🎯 Objetivo 5: Criar Suas Primeiras Consultas em SQL

Aqui nasce o verdadeiro analista de dados.

Não basta consultar.

É necessário responder perguntas do negócio.


Quantos clientes existem?

SELECT COUNT(*)
FROM CLIENTES;

Qual o maior salário?

SELECT MAX(SALARIO)
FROM FUNCIONARIOS;

Qual a média salarial?

SELECT AVG(SALARIO)
FROM FUNCIONARIOS;

Quantos clientes existem por cidade?

SELECT
    CIDADE,
    COUNT(*)
FROM CLIENTES
GROUP BY CIDADE;

Agora estamos produzindo inteligência.

Não apenas listando registros.


🚀 O Próximo Passo no DB2 13

Após dominar esses cinco objetivos, o profissional estará pronto para estudar temas mais avançados:

JOINs

SELECT
 C.NOME,
 P.NUMERO_PEDIDO
FROM CLIENTES C
INNER JOIN PEDIDOS P
ON C.ID = P.ID_CLIENTE;

Subqueries

SELECT *
FROM FUNCIONARIOS
WHERE SALARIO >
(
 SELECT AVG(SALARIO)
 FROM FUNCIONARIOS
);

Índices

CREATE INDEX IX_CLIENTE_NOME
ON CLIENTES
(
 NOME
);

EXPLAIN

Análise do plano de acesso.

Ferramenta essencial para DBAs e desenvolvedores DB2.


SQL Embedded em COBOL

EXEC SQL
   SELECT NOME
   INTO :WS-NOME
   FROM CLIENTES
   WHERE ID = :WS-ID
END-EXEC.

Aqui começa o verdadeiro universo Mainframe.


☕ Conclusão Bellacosa Mainframe

Os cinco objetivos apresentados na imagem parecem simples à primeira vista.

Mas eles representam a fundação de praticamente todo o ecossistema corporativo moderno.

Cada PIX processado.

Cada compra no cartão.

Cada transferência bancária.

Cada consulta de seguro.

Cada reserva aérea.

Em algum momento passa por um comando SQL.

No DB2 13, aprender SQL significa muito mais do que aprender uma linguagem. Significa compreender como os dados fluem dentro de alguns dos maiores sistemas do planeta.

O primeiro passo é escrever:

SELECT *
FROM CLIENTES;

O passo seguinte é entender por que essa consulta funciona.

O passo que diferencia um especialista é compreender por que ela pode ser lenta, como o DB2 a executa, quais índices utiliza e como transformá-la em uma consulta capaz de processar bilhões de registros com eficiência.

E é exatamente nesse momento que o estudante deixa de apenas aprender SQL e começa a pensar como um verdadeiro profissional de Mainframe. ☕🚀💾



Descubra como profissionais de Mainframe evoluem da programação em JCL, COBOL, SORT e CICS para o domínio do SQL no DB2 13 for z/OS. Entenda modelo relacional, consultas SQL, índices, joins, subqueries, EXPLAIN, access paths e técnicas de otimização utilizadas nos maiores ambientes corporativos do mundo.