DB2. IBM DATABASE For COBOL. Carlos J E de Campos. G u i a d e R e f e r ê n c i a



Documentos relacionados
DB2. IBM DATABASE For COBOL. Carlos J E de Campos. G u i a d e R e f e r ê n c i a. S e g u n d a e d i ç ã o S ã o P a u l o

Banco de Dados. Prof. Antonio

O que são Bancos de Dados?

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

BANCO DE DADOS WEB AULA 4. linguagem SQL: subconjuntos DCL, DDL e DML. professor Luciano Roberto Rocha.

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

Linguagem de Consulta Estruturada SQL- DML

Structured Query Language (SQL)

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

SQL. Autor: Renata Viegas

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

Prof. Marcelo Machado Cunha

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

SQL Structured Query Language

Banco de Dados. Marcio de Carvalho Victorino Exercícios SQL

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Exercícios de Lógica Exercícios de Fixação 08

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro.

A linguagem SQL

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Comandos DDL. id_modulo = id_m odulo

Linguagem SQL Sub-linguagem DDL

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

Sistemas de Banco de Dados

NOME SEXO CPF NASCIMENTO SALARIO

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Plano de Trabalho Docente Ensino Técnico

Comandos de Manipulação

Noções de. Microsoft SQL Server. Microsoft SQL Server

A & F Consultoria em Sistemas e Treinamentos 2014 af.tecnoserv@gmail.com. A linguagem SQL. Autor: Hélio de Almeida Fonte: Wikipédia

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Disciplina: Unidade V: Prof.: Período:

EXEMPLOS DE COMANDOS NO SQL SERVER

Plano de Trabalho Docente Ensino Técnico

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

Introdução ao SQL. O que é SQL?

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

INTRODUÇÃO. Diferente de Bando de Dados

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Introdução a Sistemas de Bancos de Dados

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

ISO/IEC 12207: Gerência de Configuração

Prof. Omero, pág. 63. Banco de Dados InterBase.

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda.

MANUAL C R M ÍNDICE. Sobre o módulo de CRM Definindo a Campanha... 3

Prof.: Clayton Maciel Costa

CURSO DE EXTENSÃO ON-LINE EM Oracle 10g Express Edition XE nível básico. Edital de seleção

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Administração Central Unidade de Ensino Médio e Técnico CETEC. Ensino Técnico

Treinamento sobre SQL

Banco de Dados. Maurício Edgar Stivanello

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS

Disciplina: Unidade III: Prof.: Período:

MUDANÇAS NA ISO 9001: A VERSÃO 2015

Android e Bancos de Dados

Introdução ao SQL Avançado

Banco de Dados. Profª. Ana Leda

Microsoft Access XP Módulo Um

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Principais Comandos SQL Usados no MySql

Orientação a Objetos

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

CONTEÚDOS PROGRAMÁTICOS DA ACADEMIA

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS

Programação SQL. Introdução

Boletim Técnico. Adição de campos à tabela Histórico do Status do Pneu (TQZ) Produto : Microsiga Protheus Manutenção de Ativos Versão 11

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Como funcionam os comandos de SQL no Logic Basic Por Alan Oliveira

1. Domínio dos Atributos

EXERCÍCIOS PRÁTICOS. Banco de Dados

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Conceitos de Banco de Dados

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Módulo 4: Gerenciamento de Dados

Tarefa Orientada 19 Triggers

LINGUAGEM DE BANCO DE DADOS

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

ÍNDICE O QUE É... 2 COMO FUNCIONA Acervo Meus Livros Livros em destaque Fórum Notícias Ajuda Suporte...

Banco de Dados. Microsoft Access

MANUAL DE UTILIZAÇÃO

Formação em Banco de Dados. Subtítulo

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

MODELO RELACIONAL - UFMA

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos.

Transcrição:

Carlos J E de Campos DB2 IBM DATABASE For COBOL Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas e Pensamentos D e s e n v o l v i m e n t o C O B O L M a i n f r a m e G u i a d e R e f e r ê n c i a S e g u n d a e d i ç ã o S ã o P a u l o 2013

Carlos J E de campos, 2013 Capa: Alexandra Hardt Carlini Diagramação: Carlos J E de Campos Revisão: Neusa Pallione É proibida a reprodução total ou parcial desta obra, de qualquer forma ou por qualquer meio sem a autorização prévia e por escrito do autor. A violação dos Direitos Autorais (Lei n.º 9610/98) é crime estabelecido pelo artigo 184 do Código Penal. 2013 Todos os direitos desta obra pertencem a Carlos J E de Campos www.carloscamposinfo.com

D B 2 Agradecimentos Agradeço a Deus por ter-me colocado na trilha do conhecimento. Agradeço à minha filhota, Vanessa Soares de Campos, por ser a minha fonte de esperança e por mostrar compreensão e paciência em muitos momentos da nossa vida. Agradeço ao amigo Roberto Azem, que sempre esteve por perto, nos momentos de estudo e naqueles em que precisava de ouvidos e conselhos. Agradeço aos meus pais Alice de Assunção Esteves Costa e José Manuel Lopes Moreira de Campos, por terem-me dado a vida, educação, formação moral e muito apoio. Agradeço ao companheiro Benedito Aparecido Alves, pelo apoio que tem me dado nesta segunda fase dos meus livros, acompanhando-me no dia a dia do trabalho, ouvindo-me e apoiando-me com o seu conhecimento e sabedoria. Benê, como é conhecido, tem sido um grande conselheiro. Reflexão Para adquirir conhecimento é preciso estudar, para adquirir sabedoria é preciso observar. Autor: William Arthur Ward w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 3

N ã o e s t a m o s a q u i p a r a p a g a r n e m s o b r e v i v e r, m a s s i m, p a r a v e n c e r, a d q u i r i n d o s a b e r. & U s e m o s o c o n h e c i m e n t o c o m é t i c a e m o r a l.

D B 2 Introdução O DB2 (IBM DATABASE 2) é um Sistema Gerenciador de Banco de Dados (DBMS) Relacional, desenvolvido pela IBM, que permite aos usuários acessarem as Bases de Dados relacionais, através de uma liguagem, padrão, chamada SQL ( STRUCTURED QUERY LANGUAGE ). As tabelas do DB2 podem ser acessadas pelo ambiente ON-LINE, através dos ambientes IMS, CICS e TSO e pelo ambiente BATCH, através do JCL (Job Control Langue) e, ainda, podem ser acessadas de forma interativa com o próprio banco de dados, isto é, executar o comando diretamente no DB2 e, tudo isto, simultaneamente. Existe DB2 para os mais variados sistemas operacionais. A IBM fornece, gratuitamente, através do seu site, versões atualizadas para serem usadas. DB2 é um Banco de dados relacional com a finalidade de tornar mais eficiente a manipulação dos dados que estão armazenados nas tabelas; fornecendo maior Independência dos dados, facilidade na sua utilização e maior segurança de acesso e na integridade dos seus dados. No DB2, os dados são armazenados em tabelas que só podem ser criadas e acessadas através de comandos específicos. História A primeira versão da linguagem SQL (Structured Query English Language) surgiu, em 1974, nos laboratórios da IBM (Califórnia). Entre 1976 e 1977, ela foi revisada e ampliada, tendo, então, o seu nome alterado para SQL. Devido ao sucesso da nova forma de consulta e manipulação de dados dentro de um ambiente de banco de dados, sua utilização tornou-se cada vez maior. Em 1982, o American National Standard Institute (ANSI) tornou a SQL a linguagem padrão para a manipulação de dados, em ambiente relacional e, desde então, vários Sistemas Gerenciadores de Bancos de Dados (SGBD) utilizam o SQL, como a linguagem padrão para o acesso às bases de dados. Esta obra Esta obra tem como objetivo alcançar as pessoas que desejam conhecer o banco de dados e como utilizá-la na linguagem de programação COBOL, especificamente para ambiente Mainframe IBM com ênfase no COBOL Enterprise utilizada em ambientes z/os e OS/390. Oferece uma base teórica e prática, suficientemente boa, para que o leitor domine a criação, manutenção e utilização em programas COBOL. A abordagem segue uma sequência, de forma que o leitor possa compreender como os dados podem ser incluídos, lidos, alterados, excluídos e listados.e, como cada comando trabalha. Reflexão E conhecereis a verdade e a verdade vos libertará. João 8:32 w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 5

Os comandos são apresentados com a sua sintaxe básica e explicados a partir de pequenos programas apresentados especificamente e criados para esse fim, que podem ser usados para praticar e realizar testes. Público-Alvo As informações contidas neste livro podem ser aprendidas e aplicadas por qualquer pessoa que deseje conhecer e programar em COBOL com o Banco de Dados DB2. Os conceitos, o método estruturado e as lógicas são apresentados numa ordem, como forma de melhorar a compreensão e são acompanhados por figuras para ilustrar e aumentar a clareza das informações. Com a finalidade de reforçar e consolidar o aprendizado, cada comando é apresentado com a sua sintaxe básica e com um exemplo da sua aplicação e uso na programação COBOL. Pré-Requisitos Para desenvolver sistemas comerciais em COBOL que utilizem o banco de dados DB2, é necessário conhecer a sua linguagem, a sua sintaxe e as suas regras, mas, para elaborar programas nesta linguagem ou em outra, é preciso ter conhecimento sobre lógica de programação. É somente com a lógica de programação que se conseguem elaborar programas que atendam a algum propósito de negócio, com eficiência. Para que o leitor possa tirar maior proveito dos conhecimentos apresentados neste livro, é aconselhável que conheça: Lógica de programação estruturada Linguagem COBOL É aconselhada a leitura do livro de LÓGICA do mesmo autor que explica, passo a passo, a construção de algoritmos e de lógicas de programação. E, depois, o livro de COBOL. Esta obra está aderente ao programa de formação de Especialista em Desenvolvimento de Programação COBOL Mainframe, CMCPDS - Certified Mainframe COBOL Program Development Specialist, fornecido pelo instituto ICPDUG - INTERNATIONAL COBOL PROGRAM DEVELOPER USERS GROUP. Para mais informações, visite o site www.carloscamposinfo.com, ou entre em contato através do e-mail do autor: carlosjec@hotmail.com. Reflexão Muitos homens iniciaram uma nova era na sua vida a partir da leitura de um livro. Autor: Henry Thoreau

D B 2 Sumário Agradecimentos... 3 Introdução... 5 Sumário... 7 Resenha... 11 Formação de especialista COBOL... 13 Metodologia dos cursos... 14 Objetivo do método... 14 Benefícios do método... 14 Certificação para desenvolvedor Mainframe... 15 Objetivo da certificação... 15 Como é a certificação... 15 Notação utilizada... 17 Introdução ao banco de dados... 19 Banco de dados... 19 Modelo relacional... 20 Características de um DBMS Relacional... 20 Tabela... 21 Coluna... 21 Linha... 21 Índice... 21 VIEW... 22 ALIAS... 22 Chaves de uma tabela... 22 Linguagem SQL... 23 Integridade no banco de dados... 24 Questionário... 27 DATA DEFINITION LANGUAGE... 29 Comandos DDL... 29 w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 7

Comando DDL CREATE... 30 Comando CREATE STOGROUP... 30 Comando CREATE DATABASE... 31 Comando CREATE TABLESPACE... 32 Comando CREATE TABLE... 33 Comando CREATE INDEX... 34 Comando CREATE VIEW... 35 Comando DDL - ALTER... 36 Comando ALTER STOGROUP... 36 Comando ALTER DATABASE... 37 Comando ALTER TABLESPACE... 37 Comando ALTER TABLE... 38 Comando DDL - DROP... 39 Comando DROP... 39 DATA CONTROL LANGUAGE... 41 Comandos DCL... 41 Comandos de privilégios... 41 Comandos de efetivação... 41 Comando GRANT... 42 Comando REVOKE... 45 Comando COMMIT... 47 Comando ROLLBACK... 48 Introdução ao DB2... 49 Ambiente DB2... 50 Estrutura do DB2... 50 A hierarquia dos objetos DB2... 52 Preparação do programa de aplicação... 53 Execução do programa de aplicação... 55 Comandos DB2... 57 Como utilizar os comandos DB2 no COBOL... 58 Comunicação de dados com o DB2... 58 Formatos no DB2... 58

D B 2 Variável HOST... 59 NULL (Nulo)... 61 Área de comunicação de erro do DB2... 61 Área de comunicação do DB2 com o programa... 63 Questionário... 64 Massa de teste para os comandos DB2... 65 MER - Modelo de Entidade Relacional para testes... 66 Massa de testes para as tabelas... 66 Scripts para criar as tabelas... 67 DCLGEN das tabelas... 68 Scripts para incluir dados nas tabelas... 69 Comandos para Manipulação de Dados... 71 Comando INSERT (Incluir)... 72 Comando SELECT (Ler)... 78 Comando UPDATE (Alterar)... 90 Comando DELETE (Excluir)... 94 Questionário... 99 Comandos para cursor (BROWSE)... 101 Comando DECLARE (Declarar)... 102 Comando OPEN (Abrir)... 104 Comando FETCH (Ler o próximo)... 104 Comando CLOSE (Fechar)... 105 Exemplificação da utilização do cursor... 106 Como atualizar linhas via cursor... 111 Questionário... 113 Funções de Colunas... 115 Função AVG... 116 Função COUNT... 119 Função MAX... 122 Função MIN... 125 Função SUM... 128 Questionário... 131 w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 9

Funções Escalares... 133 Funções STRING... 135 Funções de conversão de formato... 138 Funções de tratamento de data e hora... 142 Como efetuar operações com data... 147 Questionário... 153 Boas práticas... 155 Introdução... 155 Escreva o melhor código SQL... 156 Minimizar a concorrência... 163 Orientações na criação das tabelas... 165 Orientações para o uso no programa... 165 Orientações detalhadas sobre o uso de comandos... 167 Orientações para implantar o processo RESTART... 170 Anexos... 173 Como codificar subparâmetros... 173 SQLCODE... 179 Definições e termos... 179 Abreviaturas... 182 Bibliografia... 183 Outras obras do autor... 185 Índice Geral... 189

D B 2 Resenha Benedito Aparecido Alves Li este livro e pude comparar com outros da mesma área, e observei a maneira como está organizado o ensino do DB2. Gostei muito da forma simples e objetiva de como os comandos são apresentados. Todos os comandos apresentados são a forma básica de utilizar o DB2 no programa COBOL. O conteúdo está organizado, de forma que o leitor possa conhecer a linguagem SLQ, e o que é banco de dados relacional. Mostra como criar um banco de dados com massa de testes para os comandos. Os comandos são apresentados com a sua sintaxe, exemplo de utilização e outros ainda que possuem programas para treinar o comando. O livro de DB2 atingiu o seu objetivo, que é o de apresentar a linguagem de forma prática, de modo a ser fácilmente utilizado pelo programador. O autor, assim como fez no livro de lógica e de COBOL, tem a preocupação de fornecer um material didático e, ao mesmo, tempo um treinamento com uma metodologia que leva a uma boa formação básica para ser um bom programador, utilizando uma boa lógica com bons princípios de DB2, na linguagem COBOL. Benedito Aparecido Alves tem mais de 25 anos de experiência, no ambiente de produção Mainframe, atuando no setor financeiro, tais com: Bradesco, Unibanco, Caixa Federal, Boston e IBM. Atualmente, trabalha na Sonda IT como Suporte a Produção (Mainframe). w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 11

Página deixada em branco

D B 2 A formação de um desenvolvedor especialista em COBOL Mainframe envolve diversas áreas do conhecimento, necessárias para a atuação que o profissional precisa ter no desempenho da sua atuação. São seis módulos específicos de conhecimento que se completam: Lógica, COBOL, DB2, CICS, JCL e TSO. Formação de especialista COBOL A formação completa segue uma sequência, de acordo com um planejamento, para a integração de todos os módulos e, com isso, potencializar a sinergia vinda de cada área de conhecimento. Por exemplo, primeiro se desenvolve o racíocino e se aprende a construir algoritmos e lógicas de programação; depois, se aprende a estrutura de linguagem de programação com os seus comandos e constrói-se programa com base nas lógicas de programação aprendidas. A seguir, aprende-se o banco de dados onde estarão armazenados os dados e, finalmente, aprende-se a estrutura do ambiente online do Mainframe, a forma de programação pseudoconversacional e, o JCL, linguagem de administra a execução de programas batch. No módulo de LÓGICA, são abordados como se constrói algoritmos e lógicas de programação. No módulo de COBOL, são vistos toda a teoria e estrutura da linguagem de programação e todos os comandos principais e básicos para desenvolver a grande maioria dos programas. No módulo de DB2, são abordados a teoria e estrutura básica de um banco de dados e, todos os comandos principais e básicos para desenvolver programas que utilizam o banco de dados DB2 em programas COBOL. No módulo de CICS, são vistos toda a teoria e estrutura do ambiente, a forma de programação pseudoconversacional e, todos os comandos principais e básicos para desenvolver a grande maioria dos programas online. No módulo de JCL, são vistos toda a teoria e estrutura da linguagem de programação e todos os comandos principais e básicos para desenvolver a grande maioria das soluções necessárias para a execução dos programas batch. w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 13

Metodologia dos cursos O assunto novo é apresentado ao aluno, através da apresentação de SLIDES animados e coloridos e tiradas as dúvidas sobre o tópico. Para praticar o conhecimento novo, o aluno é solicitado a realizar o exercício, no caso: criar algoritmo ou programa. Após o tempo para criar a primeira solução, é apresentado; via SLIDES animados e coloridos, a solução do exercício, tirando todas as dúvidas possíveis. Para consolidar e poder tirar novas dúvidas do tópico do conhecimento, são solicitados, em média de dois a quatro exercícios na aula. A solução dos exercícios propostos é apresentada, via SLIDES animados e coloridos. E para tentar consagrar o conhecimento, é solicitado, em média de três a seis exercícios extras para o aluno fazer fora as horas das aulas. E, para tentar tirar possíveis dúvidas remanescentes, são reservados os primeiros minutos de cada aula, para tirar dúvidas. Objetivo do método Este método tem como objetivo alcançar os mais diversos indivíduos (visual, auditivo ou cinestésico) para que tomem consciência dos conceitos. Todo o método está baseado na indução do raciocínio, para que se crie a lógica necessária. Com isto, a energia necessária gasta com o esforço para criar a lógica é gasta durante o treinamento. Depois de formado, o individuo passa a raciocinar automaticamente com muito menor esforço. Por exemplo, quando houver uma solicitação que seja necessária à criação de duas quebras, uma dentro da outra, o raciocínio vem automaticamente e, à medida que vai elaborando a lógica, o seu formato já vem no padrão aprendido. Benefícios do método Rever conceitos Consolidar Exercícios Os benefícios do método aplicado podem se resumir no seguinte: Ampliação das possibilidades de aprendizagem Aumento do desempenho no raciocínio lógico Acomodação crescente do conhecimento Consolidação das estruturas lógicas Facilidade de criar a solução lógica Apresentar Conceito Apresentar Solução Tirar dúvidas Praticar exercícios

D B 2 Certificação para desenvolvedor Mainframe O instituto ICPDUG (INTERNATIONAL COBOL PROGRAM DEVELOPER USERS GROUP), para valorizar a área de desenvolvimento de sistema, fornece o exame de certificação para desenvolvedor COBOL Mainframe, com o objetivo de identificar o especialista em desenvolvimento de sistemas COBOL Mainframe. Objetivo da certificação A certificação vem agregar valor para a empresa, na medida em que vai avaliar o conhecimento para a necessidade específica que o profissional precisa ter, possibilitando a criação de um quadro de profissionais altamente qualificados e nivelados com o objetivo de planejar, definir e criar sistemas e programas com eficiência e qualidade. E para o profissional, vem para valorizar a sua capacitação, a sua formação, diferenciando-o dos demais profissionais, fornecendo-lhe as credencias de um profissional especialista, aderente com as necessidades de conhecimento específico. Como é a certificação O certificado de Especialista em COBOL Mainframe, CMCPDS - Certified Mainframe COBOL Program Development Specialist (Especialista em Desenvolvimento de Programação COBOL Mainframe). O especialista máster recebe o título, após ter obtido todas as certificações para as seguintes especialidades: LÕGICA - Programação estruturada COBOL - Linguagem de programação DB2 - Sistema Gerenciador de Banco de Dados Relacional CICS - Sistema Gerenciador de ambiente ONLINE JCL - Linguagem de controle Batch Para mais informações, acesse o site www.icpdug.org.br ou utilize o e-mail contato@icpdug.org.br. Reflexão Em algum lugar, algo incrível está esperando para ser descoberto. Autor: Carl Seagan w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 15

Página deixada em branco

D B 2 [ ] Opcional Notação utilizada { } Optar por um, sendo que as opções estão separadas pelo símbolo que significa ou < > Substituir por um nome Operador lógico "OU". Significa que pode ser substituído por um dos parâmetros.... Existem procedimentos não mencionados......1......2......3......4......5......6......7.. A linha acima representa a régua do exemplo em questão para ajudar a mostrar a posição do caracteres, muito importante para a linguagem COBOL. Reflexão Só é lutador quem sabe lutar consigo mesmo. Autor: Carlos Drummond de Andrade w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 17

Página deixada em branco

D B 2 Introdução ao banco de dados 1 Este capítulo tem como finalidade apresentar os conceitos de banco de dados e o seu modelo relacional para contextualizar o banco de dados DB2. As informações apresentadas são uma compilação do que se entende como informações básicas, necessárias para o entendimento do funcionamento de um banco de dados. Banco de dados Banco de dados é um conjunto de tabelas (arquivos) de uma forma estruturada para armazenar informações, com a finalidade de tornar mais eficiente a sua manipulação. No ambiente banco de dados, existem termos próprios que são importantes conhecer e Banco de dados Tabela Linha Coluna Convencional Arquivo Registro Campo I n d i c e 1 TABLESPACE1 TABELA1 I n d i c e 2 TABLESPACE2 TABELA2 View STORAGE GROUP A STORAGE GROUP B w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 19

Modelo relacional Para manipular os dados de forma mais eficiente num banco de dados relacional, existe um sistema (software) chamado DATA BASE MANAGEMENT SYSTEM (DBMS), traduzindo, Sistema Gerenciador de Banco de Dados (SGBD). O modelo relacional possui características como: Independência dos dados. Acesso fácil aos dados, através de uma liguagem específica. Acesso interativo. Acesso via programas de aplicação. Fácil manutenção das bases de dados. Maior autonomia ao usuário. Aumento de produtividade. Maior flexibilidade no tratamento dos dados. Aumento da segurança e integridade das informações. Características de um DBMS Relacional Um modelo relacional possui características particulares que lhe garantem notoriedade entre os modelos de armazenamento de dados. Principais características: Estrutura tabular de dados. Os dados são armazenados em tabelas. Operadores de tabelas (DDL, DML e DCL). Deve possuir comandos que consigam manipular dados em tabelas. Uniformidade e integridade dos dados. Possuir mecanismos que mantêm a integridade dos dados que são adicionados ou modificados. Deve também ter mecanismos capazes de forçar uma uniformização dos dados que nela são armazenados. Independência dos dados. A lógica das aplicações não deve se preocupar com a estrutura de armazenamento e com a teoria de acesso aos dados.

D B 2 Tabela Tabela é uma estrutura fundamental em um banco de dados relacional. É na tabela que ficam armazenados os dados que são Tabela de Cliente agrupados por categorias de Código Nome Endereço Cidade interesse do negócio. A tabela é organizada por linhas (registros) e 2001 ROBERTO RUA A SÃO PAULO colunas (campos). Uma tabela possui 2005 VANESSA RUA B RIO DE JANEIRO um número fixo de colunas e pode 2019 SUSETE RUA C VALPAÇOS possuir um ilimitado número de linhas. Coluna Coluna é a menor unidade de informação, também conhecida como atributo. Por exemplo: na tabela de clientes, existe uma coluna chamada NOME que Tabela de Cliente armazena o nome do cliente. Uma Código Nome Endereço Cidade coluna contém o mesmo tipo de 2001 ROBERTO RUA A SÃO PAULO dado (por exemplo: numérico ou 2005 VANESSA RUA B RIO DE JANEIRO alfanumérico) e tamanho em todas as linhas e possui um nome único na tabela. 2019 SUSETE RUA C VALPAÇOS Linha Linha é uma coleção de dados sobre uma pessoa, um lugar, um evento ou algum outro item. Uma linha (registro) é formada por várias colunas. Uma linha é a menor unidade para inserção e remoção numa tabela e pode conter colunas com diferentes tipos de dados, e não possui nome. Tabela de Cliente Código Nome Endereço Cidade 2001 ROBERTO RUA A SÃO PAULO 2005 VANESSA RUA B RIO DE JANEIRO 2019 SUSETE RUA C VALPAÇOS Índice Sua criação é basicamente por questão de performance. Pode ser formado por mais de uma coluna. Estes são armazenados separadamente das Tabelas e o usuário não tem acesso a eles. Quando o índice é único, ele força a unicidade dos dados, através dos valores de uma ou mais colunas escolhidas como chave única. w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 21

VIEW É uma visão lógica. Permite a representação de dados de uma ou mais tabelas como sendo uma outra tabela, onde podemos inserir determinadas linhas e colunas de uma ou mais tabelas. Sua utilização em nada difere da de uma tabela. Conforme o caso, uma VIEW não pode ser utilizada para inserção de linhas. ALIAS ALIAS é um nome alternativo (Apelido) que se dá a uma tabela ou VIEW. Um ALIAS é de uso compartilhado. É utilizado mais como apelido para uma tabela remota e é válido a nível de um subsistema DB2. Chaves de uma tabela Chave primária A chave primária serve para identificar uma única linha de uma tabela. Pode ser composta por uma ou mais colunas. É o índice principal para uma tabela. Embora não obrigatória, a chave primária é altamente recomendada, porque aumenta a velocidade de execução da recuperação de dados. A chave primária não pode possuir valores repetidos, não pode ser atualizada nem possuir um valor NULO. Chave estrangeira A chave estrangeira numa tabela é uma chave primária em outra tabela. Serve para criar um relacionamento entre duas tabelas. Pode ser composta por uma ou mais colunas. Reflexão A pessoa sábia está sempre ansiosa e pronta para aprender. Autor: Provérbios 18:15

D B 2 Linguagem SQL A linguagem SQL (STRUCTURED QUERY LANGUAGE) serve para definir e manipular dados das tabelas. É uma linguagem de ação interativa com os dados do banco de dados e é utilizada por vários Sistemas de Gerenciamento de Banco de Dados (SGBD). Os comandos SQL terminam com um ponto e vírgula (;). Para que o comando possa ter a sua ação efetuada, deve-se executar o comando COMMIT. SELECT UPDATE DELETE INSERT SQL STRUCTURED QUERY LANGUAGE DML DDL DCL CREATE ALTER DROP GRANT REVOKE COMMIT ROLLBACK É formada por três grupos de comandos. São eles: DDL (DATA DEFINITION LANGUAGE). O grupo Data Definition Language possui comandos que são utilizados para criação, alteração e eliminação das tabelas. Podem ser utilizados para criar e alterar a estrutura física da tabela. DCL (DATA CONTROL LANGUAGE). O grupo Data Control Language possui comandos que são utilizados para criação, alteração e eliminação da segurança dos acessos às tabelas. DML (DATA MANIPULATION LANGUAGE). O grupo Data Manipulation Language possui comandos que são utilizados para efetuar a manipulação dos dados nas tabelas. Podem ser utilizados para efetuar consultas e manutenções dos dados. Programa SQL - SCRIPT SCRIPT é um programa com comandos SQL. Antes de executar um script, é preciso realizar a conexão com o banco de dados, através do comando CONNECT. Reflexão As riquezas e os bens podem ser herdados, mas os sentimentos de respeito precisam ser aprendidos. Autor: Nancy Van Pelt em filhos vencedores w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 23

Integridade no banco de dados Os comandos SQL; INSERT, DELETE e UPDATE modificam as informações em um banco de dados existente e, toda vez que os dados são alterados, existe a possibilidade que a integridade lógica possa ser afetada. Por exemplo: A inclusão de um produto inexistente em um pedido de cliente. E, ainda, um cliente pode ser eliminado, mesmo tendo pedidos pendentes em seu nome. Em ambos os casos, houve perda da integridade das informações. Quando bem definido um banco de dados, provavelmente, estes quatro conceitos de integridade serão aplicados: Integridade semântica: O dado de uma coluna sempre será do tipo de dado, definido na criação da coluna. Integridade de domínio: Domínio é um conjunto de valores previamente definido, no qual uma coluna só poderá conter valores pertencentes a esse domínio. Integridade de entidade: Cada linha de uma tabela possui um indicador que garanta a unicidade da mesma. Integridade referencial: Os relacionamentos lógicos entre as entidades serão forçados pelos SGBD. Integridade semântica O dado de uma coluna sempre será do tipo de dado definido na criação da coluna. A integridade semântica garante que o dado inserido em uma linha da tabela tenha um valor válido. Para que este valor possa ser válido, deve ser do mesmo tipo de dados, definido na especificação da coluna. Por exemplo: Um atributo de uma determinada entidade definido como numérico, só conterá dados relativos a números, ou um atributo definido como DATA, só conterá dados relativos a DATA. É a certeza de que no campo DATA_DE_ENTREGA só terá datas válidas. Caso um SGBD permita a inclusão de um outro tipo de dado diferente do definido, a integridade semântica será violada. A integridade semântica em um SGBD é aplicada com a utilização de constraints (termo em inglês).

Integridade de domínio D B 2 Neste tipo de integridade, as validações ocorrem em cada coluna de nossa tabela (ou entidade), do tipo: Se um campo deve aceitar valores NULL ou apenas uma faixa de valores. Por exemplo: Uma tabela possui a coluna Sexo, que só deve aceitar valores do tipo M ou F e, independente do programa da aplicação, não deverá aceitar outros valores. Integridade de entidade Toda entidade tem um identificador único para cada linha da tabela. Este identificador é composto de uma ou mais colunas; é chamado de chave primária da tabela. Integridade referencial São regras de inserção, exclusão e atualização, definidas no próprio modelo de entidade relacional (MER). A Integridade referencial garante que qualquer valor da chave estrangeira possui um valor correspondente na chave primária à qual está associada; é implementada no DB2 via comandos DDL (Instruções de definição de objetos da linguagem SQL). A Integridade referencial é executada na inclusão ou alteração de linhas da tabela e obedece às seguintes regras: Uma chave primária tem valor único e não nulo. Uma chave estrangeira é nula ou tem valor correspondente na chave primária. Tabela de Funcionários Tabela de Departamentos MATR NOME DEPTO CDEPTO NDEPTO 491 MARIA D01 D01 VENDAS 003 CARLOS D02 D02 ESTOQUE Chave Estrangeira Integridade referencial Chave Primária w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 25

Tipos de integridade referencial Cascade (em cascata): Ao excluir pedido, excluir itens do pedido correspondente. Restrict (restrito): Ao excluir fornecedor, não o excluir, caso exista pedido para o mesmo. Set Null (Preencher com nulos): Ao excluir fornecedor, inserir nulo na respectiva coluna dos pedidos correspondentes. Reflexão Há pessoas que transformam o SOL numa simples mancha amarela, mas há aquelas que fazem de uma simples mancha amarela o próprio sol. Autor: Pablo Picasso

D B 2 Questionário Introdução ao banco de dados 1. Assinale a alternativa que apresenta corretamente a correspondência entre a terminologia convencional e a utilizada no banco de dados. A. X-1, Y-3, Z-2 B. X-3, Y-1, Z-2 C. X-3, Y-2, Z-1 D. X-2, Y-3, Z-1 Banco de dados Convencional x Tabela 1 Registro y Linha 2 Campo z Coluna 3 Arquivo 2. O que é um banco de dados? A. São coleções de informações que se relacionam de uma forma não estruturada para armazenar dados, com a finalidade de tornar mais eficiente a sua manipulação. B. É um conjunto de tabelas de uma forma estruturada para armazenar informações, com a finalidade de tornar mais eficiente a sua manipulação. C. É um conjunto de tabelas de uma forma estruturada para armazenar informações, sem se preocupar com eficiência nem com a estrutura física. D. É um conjunto de arquivos de uma forma estruturada para armazenar e recuperar informações. 3. Qual é a característica de um banco de dados relacional? A. Independência dos dados. B. Acesso fácil aos dados, através de uma linguagem específica. C. Fácil manutenção das bases de dados. D. Todas as opções. 4. Em um banco de dados relacional, os dados que são agrupados por categoria de interesse do negócio, chama-se: A. Tupla. B. Índice. C. Tabela. D. Atributo. w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 27

5. A menor unidade de informação, também conhecida como atributo, é a: A. Linha. B. Coluna. C. Tabela. D. Nenhuma das opções. 6. Que nome se dá à menor unidade utilizada para inserir, remover dados em uma tabela? A. VIEW. B. Chave primária. C. Linha. D. Nenhuma das opções. 7. A linguagem SQL é formada por: A. DDL Data Definition Language. B. DML Data Manipulation Language. C. DCL Data Control Language. D. Todas as opções. 8. Que grupo de comandos SQL é utilizado para efetuar consultas e manipulação dos dados nas tabelas? A. DDL DATA DEFINITION LANGUAGE. B. DML DATA MANIPULATION LANGUAGE. C. DCL DATA CONTROL LANGUAGE. D. DBA Data Base Administrator. 9. Que regra de integridade avalia se uma coluna de uma tabela deve aceitar valores NULL ou apenas uma faixa de valores? A. Semântica. B. Se Entidade. C. De Domínio. D. Referencial. 10. Que regra de integridade garante a unicidade de um linha em uma tabela? A. Semântica. B. Se Entidade. C. De Domínio. D. Referencial.