Anda di halaman 1dari 28

Carlos J E de Campos

DB2
IBM DATABASE For COBOL
Comandos, Sintaxe, Regras e Procedimentos
Exemplos de programas e Pensamentos

Desenvolvimento COBOL
Mainframe
Guia de Referncia

Segunda edio
So Paulo
2013
Carlos J E de campos, 2013
Capa: Alexandra Hardt Carlini
Diagramao: Carlos J E de Campos
Reviso: Neusa Pallione

proibida a reproduo total ou parcial desta obra, de qualquer forma ou por qualquer meio
sem a autorizao prvia e por escrito do autor. A violao dos Direitos Autorais (Lei n.
9610/98) crime estabelecido pelo artigo 184 do Cdigo Penal.

2013
Todos os direitos desta obra pertencem a
Carlos J E de Campos
www.carloscamposinfo.com
DB2

Agradecimentos

Agradeo a Deus por ter-me colocado na trilha do conhecimento.

Agradeo minha filhota, Vanessa Soares de Campos, por ser a minha fonte de esperana e
por mostrar compreenso e pacincia em muitos momentos da nossa vida.

Agradeo ao amigo Roberto Azem, que sempre esteve por perto, nos momentos de estudo e
naqueles em que precisava de ouvidos e conselhos.

Agradeo aos meus pais Alice de Assuno Esteves Costa e Jos Manuel Lopes Moreira de
Campos, por terem-me dado a vida, educao, formao moral e muito apoio.

Agradeo 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.

Reflexo
Para adquirir conhecimento preciso estudar, para adquirir sabedoria preciso observar.
Autor: William Arthur Ward

www.carloscamposinfo.com Pgina 3
No estamos aqui para pagar nem
sobreviver, mas sim, para vencer,
adquirindo saber.
&
Usemos o conhecimento com tica e moral.
DB2

Introduo
O DB2 (IBM DATABASE 2) um Sistema Gerenciador de Banco de Dados (DBMS) Relacional,
desenvolvido pela IBM, que permite aos usurios acessarem as Bases de Dados relacionais,
atravs de uma liguagem, padro, chamada SQL (STRUCTURED QUERY LANGUAGE). As
tabelas do DB2 podem ser acessadas pelo ambiente ON-LINE, atravs dos ambientes IMS,
CICS e TSO e pelo ambiente BATCH, atravs do JCL (Job Control Langue) e, ainda, podem ser
acessadas de forma interativa com o prprio 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, atravs do seu site, verses atualizadas
para serem usadas.
DB2 um Banco de dados relacional com a finalidade de tornar mais eficiente a manipulao
dos dados que esto armazenados nas tabelas; fornecendo maior Independncia dos dados,
facilidade na sua utilizao e maior segurana de acesso e na integridade dos seus dados. No
DB2, os dados so armazenados em tabelas que s podem ser criadas e acessadas atravs de
comandos especficos.
Histria
A primeira verso da linguagem SQL (Structured Query English Language) surgiu, em 1974,
nos laboratrios da IBM (Califrnia). Entre 1976 e 1977, ela foi revisada e ampliada, tendo,
ento, o seu nome alterado para SQL. Devido ao sucesso da nova forma de consulta e
manipulao de dados dentro de um ambiente de banco de dados, sua utilizao tornou-se
cada vez maior. Em 1982, o American National Standard Institute (ANSI) tornou a SQL a
linguagem padro para a manipulao de dados, em ambiente relacional e, desde ento,
vrios Sistemas Gerenciadores de Bancos de Dados (SGBD) utilizam o SQL, como a linguagem
padro para o acesso s bases de dados.
Esta obra
Esta obra tem como objetivo alcanar as pessoas que desejam conhecer o banco de dados e
como utiliz-la na linguagem de programao COBOL, especificamente para ambiente
Mainframe IBM com nfase no COBOL Enterprise utilizada em ambientes z/OS e OS/390.
Oferece uma base terica e prtica, suficientemente boa, para que o leitor domine a criao,
manuteno e utilizao em programas COBOL. A abordagem segue uma sequncia, de
forma que o leitor possa compreender como os dados podem ser includos, lidos, alterados,
excludos e listados.e, como cada comando trabalha.

Reflexo
E conhecereis a verdade e a verdade vos libertar.
Joo 8:32

www.carloscamposinfo.com Pgina 5
Os comandos so apresentados com a sua sintaxe bsica e explicados a partir de pequenos
programas apresentados especificamente e criados para esse fim, que podem ser usados
para praticar e realizar testes.
Pblico-Alvo
As informaes 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 mtodo estruturado e as lgicas so apresentados numa ordem, como forma
de melhorar a compreenso e so acompanhados por figuras para ilustrar e aumentar a
clareza das informaes. Com a finalidade de reforar e consolidar o aprendizado, cada
comando apresentado com a sua sintaxe bsica e com um exemplo da sua aplicao e uso
na programao COBOL.
Pr-Requisitos
Para desenvolver sistemas comerciais em COBOL que utilizem o banco de dados DB2,
necessrio conhecer a sua linguagem, a sua sintaxe e as suas regras, mas, para elaborar
programas nesta linguagem ou em outra, preciso ter conhecimento sobre lgica de
programao. somente com a lgica de programao que se conseguem elaborar
programas que atendam a algum propsito de negcio, com eficincia.
Para que o leitor possa tirar maior proveito dos conhecimentos apresentados neste livro,
aconselhvel que conhea:
Lgica de programao estruturada
Linguagem COBOL
aconselhada a leitura do livro de LGICA do mesmo autor que explica, passo a passo, a
construo de algoritmos e de lgicas de programao. E, depois, o livro de COBOL.
Esta obra est aderente ao programa de formao de Especialista em Desenvolvimento de
Programao COBOL Mainframe, CMCPDS - Certified Mainframe COBOL Program
Development Specialist, fornecido pelo instituto ICPDUG - INTERNATIONAL COBOL
PROGRAM DEVELOPER USERS GROUP.
Para mais informaes, visite o site www.carloscamposinfo.com, ou entre em contato
atravs do e-mail do autor: carlosjec@hotmail.com.

Reflexo
Muitos homens iniciaram uma nova era na sua vida a partir da leitura de um livro.
Autor: Henry Thoreau
DB2

Sumrio
Agradecimentos ...................................................................................3
Introduo ..........................................................................................5
Sumrio .............................................................................................7
Resenha ........................................................................................... 11
Formao de especialista COBOL ............................................................. 13
Metodologia dos cursos ..................................................................... 14
Objetivo do mtodo ......................................................................... 14
Benefcios do mtodo ....................................................................... 14
Certificao para desenvolvedor Mainframe ............................................... 15
Objetivo da certificao .................................................................... 15
Como a certificao ....................................................................... 15
Notao utilizada ............................................................................ 17
Introduo ao banco de dados ................................................................ 19
Banco de dados ............................................................................... 19
Modelo relacional ............................................................................ 20
Caractersticas 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
Questionrio .................................................................................. 27
DATA DEFINITION LANGUAGE .................................................................. 29
Comandos DDL ................................................................................ 29

www.carloscamposinfo.com Pgina 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 privilgios .................................................................... 41
Comandos de efetivao .................................................................... 41
Comando GRANT ............................................................................. 42
Comando REVOKE ............................................................................ 45
Comando COMMIT ............................................................................ 47
Comando ROLLBACK ......................................................................... 48
Introduo ao DB2 ............................................................................... 49
Ambiente DB2................................................................................. 50
Estrutura do DB2 ............................................................................. 50
A hierarquia dos objetos DB2 .............................................................. 52
Preparao do programa de aplicao ................................................... 53
Execuo do programa de aplicao ..................................................... 55
Comandos DB2 ................................................................................ 57
Como utilizar os comandos DB2 no COBOL .............................................. 58
Comunicao de dados com o DB2 ........................................................ 58
Formatos no DB2 ............................................................................. 58
DB2

Varivel HOST ................................................................................ 59


NULL (Nulo) ................................................................................... 61
rea de comunicao de erro do DB2 .................................................... 61
rea de comunicao do DB2 com o programa ......................................... 63
Questionrio .................................................................................. 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 Manipulao de Dados ...................................................... 71
Comando INSERT (Incluir) .................................................................. 72
Comando SELECT (Ler) ...................................................................... 78
Comando UPDATE (Alterar) ................................................................ 90
Comando DELETE (Excluir) ................................................................. 94
Questionrio .................................................................................. 99
Comandos para cursor (BROWSE) ............................................................ 101
Comando DECLARE (Declarar) ............................................................ 102
Comando OPEN (Abrir) ..................................................................... 104
Comando FETCH (Ler o prximo)......................................................... 104
Comando CLOSE (Fechar) .................................................................. 105
Exemplificao da utilizao do cursor ................................................. 106
Como atualizar linhas via cursor ......................................................... 111
Questionrio ................................................................................. 113
Funes de Colunas ............................................................................ 115
Funo AVG .................................................................................. 116
Funo COUNT ............................................................................... 119
Funo MAX .................................................................................. 122
Funo MIN ................................................................................... 125
Funo SUM .................................................................................. 128
Questionrio ................................................................................. 131

www.carloscamposinfo.com Pgina 9
Funes Escalares .............................................................................. 133
Funes STRING ............................................................................. 135
Funes de converso de formato ....................................................... 138
Funes de tratamento de data e hora ................................................. 142
Como efetuar operaes com data ...................................................... 147
Questionrio ................................................................................. 153
Boas prticas .................................................................................... 155
Introduo .................................................................................... 155
Escreva o melhor cdigo SQL ............................................................. 156
Minimizar a concorrncia .................................................................. 163
Orientaes na criao das tabelas ...................................................... 165
Orientaes para o uso no programa .................................................... 165
Orientaes detalhadas sobre o uso de comandos .................................... 167
Orientaes para implantar o processo RESTART ..................................... 170
Anexos ............................................................................................ 173
Como codificar subparmetros ........................................................... 173
SQLCODE ...................................................................................... 179
Definies e termos ........................................................................ 179
Abreviaturas ................................................................................. 182
Bibliografia ...................................................................................... 183
Outras obras do autor ......................................................................... 185
ndice Geral ..................................................................................... 189
DB2

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
so apresentados. Todos os comandos apresentados so a forma bsica de utilizar o DB2 no
programa COBOL.
O contedo 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 so apresentados com a sua sintaxe, exemplo de utilizao
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 prtica, de
modo a ser fcilmente utilizado pelo programador.
O autor, assim como fez no livro de lgica e de COBOL, tem a preocupao de fornecer um
material didtico e, ao mesmo, tempo um treinamento com uma metodologia que leva a
uma boa formao bsica para ser um bom programador, utilizando uma boa lgica com
bons princpios de DB2, na linguagem COBOL.

Benedito Aparecido Alves tem mais de 25 anos de experincia, no ambiente de produo


Mainframe, atuando no setor financeiro, tais com: Bradesco, Unibanco, Caixa Federal,
Boston e IBM. Atualmente, trabalha na Sonda IT como Suporte a Produo (Mainframe).

www.carloscamposinfo.com Pgina 11
Pgina deixada em branco
DB2

Formao de especialista COBOL


A formao de um
desenvolvedor especialista
em COBOL Mainframe
envolve diversas reas do
conhecimento, necessrias
para a atuao que o
profissional precisa ter no
desempenho da sua
atuao. So seis mdulos
especficos de
conhecimento que se
completam: Lgica,
COBOL, DB2, CICS, JCL e
TSO.
A formao completa segue uma sequncia, de acordo com um planejamento, para a
integrao de todos os mdulos e, com isso, potencializar a sinergia vinda de cada rea de
conhecimento. Por exemplo, primeiro se desenvolve o racocino e se aprende a construir
algoritmos e lgicas de programao; depois, se aprende a estrutura de linguagem de
programao com os seus comandos e constri-se programa com base nas lgicas de
programao aprendidas. A seguir, aprende-se o banco de dados onde estaro armazenados
os dados e, finalmente, aprende-se a estrutura do ambiente online do Mainframe, a forma
de programao pseudoconversacional e, o JCL, linguagem de administra a execuo de
programas batch.
No mdulo de LGICA, so abordados como se constri algoritmos e lgicas de
programao.
No mdulo de COBOL, so vistos toda a teoria e estrutura da linguagem de programao e
todos os comandos principais e bsicos para desenvolver a grande maioria dos programas.
No mdulo de DB2, so abordados a teoria e estrutura bsica de um banco de dados e,
todos os comandos principais e bsicos para desenvolver programas que utilizam o banco de
dados DB2 em programas COBOL.
No mdulo de CICS, so vistos toda a teoria e estrutura do ambiente, a forma de
programao pseudoconversacional e, todos os comandos principais e bsicos para
desenvolver a grande maioria dos programas online.
No mdulo de JCL, so vistos toda a teoria e estrutura da linguagem de programao e todos
os comandos principais e bsicos para desenvolver a grande maioria das solues necessrias
para a execuo dos programas batch.

www.carloscamposinfo.com Pgina 13
Metodologia dos cursos
O assunto novo
apresentado ao aluno, Apresentar
atravs da apresentao de Conceito
SLIDES animados e coloridos
e tiradas as dvidas sobre o
tpico. Para praticar o Rever Tirar
conhecimento novo, o aluno conceitos dvidas
solicitado a realizar o
exerccio, no caso: criar
algoritmo ou programa. Consolidar Praticar
Aps o tempo para criar a Exerccios exerccios
primeira soluo,
apresentado; via SLIDES
animados e coloridos, a Apresentar
soluo do exerccio, tirando Soluo
todas as dvidas possveis.
Para consolidar e poder tirar novas dvidas do tpico do conhecimento, so solicitados, em
mdia de dois a quatro exerccios na aula. A soluo dos exerccios propostos apresentada,
via SLIDES animados e coloridos. E para tentar consagrar o conhecimento, solicitado, em
mdia de trs a seis exerccios extras para o aluno fazer fora as horas das aulas. E, para tentar
tirar possveis dvidas remanescentes, so reservados os primeiros minutos de cada aula,
para tirar dvidas.

Objetivo do mtodo
Este mtodo tem como objetivo alcanar os mais diversos indivduos (visual, auditivo ou
cinestsico) para que tomem conscincia dos conceitos. Todo o mtodo est baseado na
induo do raciocnio, para que se crie a lgica necessria. Com isto, a energia necessria
gasta com o esforo para criar a lgica gasta durante o treinamento. Depois de formado, o
individuo passa a raciocinar automaticamente com muito menor esforo. Por exemplo,
quando houver uma solicitao que seja necessria criao de duas quebras, uma dentro
da outra, o raciocnio vem automaticamente e, medida que vai elaborando a lgica, o seu
formato j vem no padro aprendido.

Benefcios do mtodo
Os benefcios do mtodo aplicado podem se resumir no seguinte:
Ampliao das possibilidades de aprendizagem
Aumento do desempenho no raciocnio lgico
Acomodao crescente do conhecimento
Consolidao das estruturas lgicas
Facilidade de criar a soluo lgica
DB2

Certificao para
desenvolvedor Mainframe
O instituto ICPDUG (INTERNATIONAL COBOL PROGRAM DEVELOPER USERS GROUP), para
valorizar a rea de desenvolvimento de sistema, fornece o exame de certificao para
desenvolvedor COBOL Mainframe, com o objetivo de identificar o especialista em
desenvolvimento de sistemas COBOL Mainframe.

Objetivo da certificao
A certificao vem agregar valor para a empresa, na medida em que vai avaliar o
conhecimento para a necessidade especfica que o profissional precisa ter, possibilitando a
criao de um quadro de profissionais altamente qualificados e nivelados com o objetivo de
planejar, definir e criar sistemas e programas com eficincia e qualidade.
E para o profissional, vem para valorizar a sua capacitao, a sua formao, diferenciando-o
dos demais profissionais, fornecendo-lhe as credencias de um profissional especialista,
aderente com as necessidades de conhecimento especfico.

Como a certificao
O certificado de Especialista em COBOL Mainframe, CMCPDS - Certified Mainframe COBOL
Program Development Specialist (Especialista em Desenvolvimento de Programao COBOL
Mainframe). O especialista mster recebe o ttulo, aps ter obtido todas as certificaes para
as seguintes especialidades:
LGICA - Programao estruturada
COBOL - Linguagem de programao
DB2 - Sistema Gerenciador de Banco de Dados Relacional
CICS - Sistema Gerenciador de ambiente ONLINE
JCL - Linguagem de controle Batch

Para mais informaes, acesse o site www.icpdug.org.br ou utilize o e-mail


contato@icpdug.org.br.

Reflexo
Em algum lugar, algo incrvel est esperando para ser descoberto.
Autor: Carl Seagan

www.carloscamposinfo.com Pgina 15
Pgina deixada em branco
DB2

Notao utilizada
[ ] Opcional
{ } Optar por um, sendo que as opes esto separadas pelo smbolo | que significa
ou
< > Substituir por um nome
| Operador lgico "OU". Significa que pode ser substitudo por um dos parmetros.
... Existem procedimentos no mencionados

....|....1....|....2....|....3....|....4....|....5....|....6....|....7..

A linha acima representa a rgua do exemplo em questo para ajudar a mostrar a posio do
caracteres, muito importante para a linguagem COBOL.

Reflexo
S lutador quem sabe lutar consigo mesmo.
Autor: Carlos Drummond de Andrade

www.carloscamposinfo.com Pgina 17
Pgina deixada em branco
DB2

Introduo ao banco de 1
dados
Este captulo tem como finalidade apresentar os conceitos de banco de dados e o seu
modelo relacional para contextualizar o banco de dados DB2. As informaes apresentadas
so uma compilao do que se entende como informaes bsicas, necessrias para o
entendimento do funcionamento de um banco de dados.

Banco de dados
Banco de dados um conjunto de tabelas (arquivos) de
Banco de dados Convencional
uma forma estruturada para armazenar informaes,
com a finalidade de tornar mais eficiente a sua Tabela Arquivo
manipulao. No ambiente banco de dados, existem Linha Registro
termos prprios que so importantes conhecer e Coluna Campo

TABLESPACE1
Indice1 TABELA1

TABLESPACE2

Indice2 TABELA2 View

STORAGE GROUP A STORAGE GROUP B

www.carloscamposinfo.com Pgina 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 caractersticas
como:
Independncia dos dados.
Acesso fcil aos dados, atravs de uma liguagem especfica.
Acesso interativo.
Acesso via programas de aplicao.
Fcil manuteno das bases de dados.
Maior autonomia ao usurio.
Aumento de produtividade.
Maior flexibilidade no tratamento dos dados.
Aumento da segurana e integridade das informaes.

Caractersticas de um DBMS Relacional


Um modelo relacional possui caractersticas particulares que lhe garantem notoriedade entre
os modelos de armazenamento de dados. Principais caractersticas:
Estrutura tabular de dados.
Os dados so 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 mantm a integridade dos dados que so adicionados ou
modificados.
Deve tambm ter mecanismos capazes de forar uma uniformizao dos dados que
nela so armazenados.
Independncia dos dados.
A lgica das aplicaes no deve se preocupar com a estrutura de armazenamento e
com a teoria de acesso aos dados.
DB2

Tabela
Tabela uma estrutura fundamental em um banco de dados relacional. na tabela que
ficam armazenados os dados que so Tabela de Cliente
agrupados por categorias de
Cdigo Nome Endereo Cidade
interesse do negcio. A tabela
organizada por linhas (registros) e 2001 ROBERTO RUA A SO PAULO
colunas (campos). Uma tabela possui 2005 VANESSA RUA B RIO DE JANEIRO
um nmero fixo de colunas e pode
2019 SUSETE RUA C VALPAOS
possuir um ilimitado nmero de
linhas.

Coluna
Coluna a menor unidade de informao, tambm conhecida como atributo. Por exemplo:
na tabela de clientes, existe uma
coluna chamada NOME que Tabela de Cliente
armazena o nome do cliente. Uma Cdigo Nome Endereo Cidade
coluna contm o mesmo tipo de 2001 ROBERTO RUA A SO PAULO
dado (por exemplo: numrico ou
2005 VANESSA RUA B RIO DE JANEIRO
alfanumrico) e tamanho em todas
as linhas e possui um nome nico na 2019 SUSETE RUA C VALPAOS
tabela.

Linha
Linha uma coleo de dados sobre
uma pessoa, um lugar, um evento ou Tabela de Cliente
algum outro item. Uma linha
Cdigo Nome Endereo Cidade
(registro) formada por vrias
colunas. Uma linha a menor 2001 ROBERTO RUA A SO PAULO
unidade para insero e remoo 2005 VANESSA RUA B RIO DE JANEIRO
numa tabela e pode conter colunas 2019 SUSETE RUA C VALPAOS
com diferentes tipos de dados, e no
possui nome.

ndice
Sua criao basicamente por questo de performance.
Pode ser formado por mais de uma coluna.
Estes so armazenados separadamente das Tabelas e o usurio no tem acesso a eles.
Quando o ndice nico, ele fora a unicidade dos dados, atravs dos valores de uma ou
mais colunas escolhidas como chave nica.

www.carloscamposinfo.com Pgina 21
VIEW
uma viso lgica. Permite a representao 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 utilizao em nada difere da de uma tabela.
Conforme o caso, uma VIEW no pode ser utilizada para insero 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 vlido a nvel de
um subsistema DB2.

Chaves de uma tabela

Chave primria
A chave primria serve para identificar uma nica linha de uma tabela. Pode ser composta
por uma ou mais colunas. o ndice principal para uma tabela. Embora no obrigatria, a
chave primria altamente recomendada, porque aumenta a velocidade de execuo da
recuperao de dados. A chave primria no pode possuir valores repetidos, no pode ser
atualizada nem possuir um valor NULO.

Chave estrangeira
A chave estrangeira numa tabela uma chave primria em outra tabela. Serve para criar um
relacionamento entre duas tabelas. Pode ser composta por uma ou mais colunas.

Reflexo
A pessoa sbia est sempre ansiosa e pronta para aprender.
Autor: Provrbios 18:15
DB2

Linguagem SQL
A linguagem SQL (STRUCTURED
QUERY LANGUAGE) serve para
definir e manipular dados das
SQL
tabelas. uma linguagem de ao STRUCTURED QUERY
interativa com os dados do banco de LANGUAGE
dados e utilizada por vrios
Sistemas de Gerenciamento de
Banco de Dados (SGBD). DML DDL DCL
Os comandos SQL terminam com um SELECT CREATE GRANT
ponto e vrgula (;). UPDATE ALTER REVOKE
Para que o comando possa ter a sua DELETE DROP COMMIT
ao efetuada, deve-se executar o INSERT ROLLBACK
comando COMMIT.
formada por trs grupos de comandos. So eles:
DDL (DATA DEFINITION LANGUAGE). O grupo Data Definition Language possui
comandos que so utilizados para criao, alterao e eliminao das tabelas.
Podem ser utilizados para criar e alterar a estrutura fsica da tabela.
DCL (DATA CONTROL LANGUAGE). O grupo Data Control Language possui
comandos que so utilizados para criao, alterao e eliminao da segurana dos
acessos s tabelas.
DML (DATA MANIPULATION LANGUAGE). O grupo Data Manipulation Language
possui comandos que so utilizados para efetuar a manipulao dos dados nas
tabelas. Podem ser utilizados para efetuar consultas e manutenes dos dados.

Programa SQL - SCRIPT


SCRIPT um programa com comandos SQL. Antes de executar um script, preciso realizar a
conexo com o banco de dados, atravs do comando CONNECT.

Reflexo
As riquezas e os bens podem ser herdados, mas os sentimentos de respeito precisam ser aprendidos.
Autor: Nancy Van Pelt em filhos vencedores

www.carloscamposinfo.com Pgina 23
Integridade no banco de dados
Os comandos SQL; INSERT, DELETE e UPDATE modificam as informaes em um banco de
dados existente e, toda vez que os dados so alterados, existe a possibilidade que a
integridade lgica possa ser afetada.
Por exemplo: A incluso 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 informaes.
Quando bem definido um banco de dados, provavelmente, estes quatro conceitos de
integridade sero aplicados:
Integridade semntica: O dado de uma coluna sempre ser do tipo de dado,
definido na criao da coluna.
Integridade de domnio: Domnio um conjunto de valores previamente definido,
no qual uma coluna s poder conter valores pertencentes a esse domnio.
Integridade de entidade: Cada linha de uma tabela possui um indicador que garanta
a unicidade da mesma.
Integridade referencial: Os relacionamentos lgicos entre as entidades sero
forados pelos SGBD.

Integridade semntica
O dado de uma coluna sempre ser do tipo de dado definido na criao da coluna.
A integridade semntica garante que o dado inserido em uma linha da tabela tenha um valor
vlido. Para que este valor possa ser vlido, deve ser do mesmo tipo de dados, definido na
especificao da coluna.
Por exemplo: Um atributo de uma determinada entidade definido como numrico, s
conter dados relativos a nmeros, ou um atributo definido como DATA, s conter dados
relativos a DATA. a certeza de que no campo DATA_DE_ENTREGA s ter datas vlidas.
Caso um SGBD permita a incluso de um outro tipo de dado diferente do definido, a
integridade semntica ser violada.
A integridade semntica em um SGBD aplicada com a utilizao de constraints (termo em
ingls).
DB2

Integridade de domnio
Neste tipo de integridade, as validaes 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 aplicao, no 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 primria da tabela.

Integridade referencial
So regras de insero, excluso e atualizao, definidas no prprio modelo de entidade
relacional (MER). A Integridade referencial garante que qualquer valor da chave estrangeira
possui um valor correspondente na chave primria qual est associada; implementada no
DB2 via comandos DDL (Instrues de definio de objetos da linguagem SQL). A Integridade
referencial executada na incluso ou alterao de linhas da tabela e obedece s seguintes
regras:
Uma chave primria tem valor nico e no nulo.
Uma chave estrangeira nula ou tem valor correspondente na chave primria.

Tabela de Funcionrios Tabela de Departamentos


MATR NOME DEPTO CDEPTO NDEPTO
491 MARIA D01 D01 VENDAS
003 CARLOS D02 D02 ESTOQUE

Chave Integridade Chave


Estrangeira referencial Primria

www.carloscamposinfo.com Pgina 25
Tipos de integridade referencial
Cascade (em cascata): Ao excluir pedido, excluir itens do pedido correspondente.
Restrict (restrito): Ao excluir fornecedor, no o excluir, caso exista pedido para o
mesmo.
Set Null (Preencher com nulos): Ao excluir fornecedor, inserir nulo na respectiva
coluna dos pedidos correspondentes.

Reflexo
H pessoas que transformam o SOL numa simples mancha amarela, mas h aquelas que fazem de uma
simples mancha amarela o prprio sol.
Autor: Pablo Picasso
DB2

Questionrio
Introduo ao banco de dados

1. Assinale a alternativa que


Banco de dados Convencional
apresenta corretamente a
correspondncia entre a x Tabela 1 Registro
terminologia convencional e a y Linha 2 Campo
utilizada no banco de dados. z Coluna 3 Arquivo
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

2. O que um banco de dados?


A. So colees de informaes que se relacionam de uma forma no estruturada para
armazenar dados, com a finalidade de tornar mais eficiente a sua manipulao.
B. um conjunto de tabelas de uma forma estruturada para armazenar informaes,
com a finalidade de tornar mais eficiente a sua manipulao.
C. um conjunto de tabelas de uma forma estruturada para armazenar informaes,
sem se preocupar com eficincia nem com a estrutura fsica.
D. um conjunto de arquivos de uma forma estruturada para armazenar e recuperar
informaes.

3. Qual a caracterstica de um banco de dados relacional?


A. Independncia dos dados.
B. Acesso fcil aos dados, atravs de uma linguagem especfica.
C. Fcil manuteno das bases de dados.
D. Todas as opes.

4. Em um banco de dados relacional, os dados que so agrupados por categoria de


interesse do negcio, chama-se:
A. Tupla.
B. ndice.
C. Tabela.
D. Atributo.

www.carloscamposinfo.com Pgina 27
5. A menor unidade de informao, tambm conhecida como atributo, a:
A. Linha.
B. Coluna.
C. Tabela.
D. Nenhuma das opes.

6. Que nome se d menor unidade utilizada para inserir, remover dados em uma
tabela?
A. VIEW.
B. Chave primria.
C. Linha.
D. Nenhuma das opes.

7. A linguagem SQL formada por:


A. DDL Data Definition Language.
B. DML Data Manipulation Language.
C. DCL Data Control Language.
D. Todas as opes.

8. Que grupo de comandos SQL utilizado para efetuar consultas e manipulao 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. Semntica.
B. Se Entidade.
C. De Domnio.
D. Referencial.

10. Que regra de integridade garante a unicidade de um linha em uma tabela?


A. Semntica.
B. Se Entidade.
C. De Domnio.
D. Referencial.