Antes de avançarmos no assunto sobre objetos de Banco de Dados no DB2 LUW, queria apresentar duas dicas que acho de muita valia:
A primeira: Alguns comandos principais podem ser consultados direto no Command Window com a descrição de sua sintaxe:
Exemplo: db2 ? describe
A Segunda: Pode-se consultar a descrição das mensagens de erro do DB2 também direto no prompt do Command Window:
Exemplo: db2 ? SQL30081N
Obs.: O uso do pipe “|” é apenas para utilizar uma pausa na rolagem da janela.
– Tipos de Dados definidos pelo usuário
No DB2 é aberta a possibilidade de criação de data types, chamados UDTs, onde são baseados em tipos de dados internos:
Exemplo:
Detalhando: é criado um tipo de dados kilogram baseado no tipo integer e que também pode ser utilizado em funções de conversão.
Exemplo 2:
Na utilização do create table:
Exemplo 3:
Na comparação com função:
A partir da versão 9.7 os tipos de dados: NUMBER, VARCHAR2, TIMESTAMP(n), “DATE”, BOOLEAN, INDEX BY, VARRAY, Row Type, Ref Cursor foram disponibilizados no DB2.
Para ativar esta compatibilidade devemos alterar uma variável ambiente chamada DB2_COMPATIBILITY_VECTOR:
Onde FF é utilizado nas definições de SQL PL e FFF para, também, nas definições PL/SQL.
Depois é fazer a criação do Database.
Em breve detalharemos este tópico em um post dedicado exclusivamente ao PL/SQL no DB2.
– Valores Nulos
Representa um estado desconhecido.
Exemplo:
Detalhando: é a criação de uma tabela com nome staff, onde a coluna DEPT não pode ser nula e quando nula, será definido um número padrão 10. Já a coluna JOB sempre vai esperar um valor.
– Colunas de Identificação
O Identity é uma coluna, numérica, com função de contador. É atribuído para somente um objeto tabela.
Exemplo:
Explicando: A tabela criada terá um contador (coluna filaID) onde o valor gerado começará em 1 e será incrementado de 2.
Os valores podem ser gerados sempre (generated always – controle do DB2) ou gerados como padrão (generated by default – controle externo ao DB2).
– Sequência
A Sequence atua também como um contador, só que difere do Identity por não está vinculado diretamente a um objeto.
Exemplo:
Explicando: é criado uma sequence que começa o contador em 10 e com incremento de 1 e sem repetição.
Este tópico é detalhando no post: [DB2 LUW] Sequences
==> O post [DB2 LUW] Como Trabalhar com Objetos de Banco de Dados – Parte I você pode acessar clicando aqui.
Continuaremos no próximo post, parte III…
Trackbacks / Pingbacks