4shared

Autor: torresrocha

[DB2 LUW] Criando o Primeiro Banco de Dados

Vamos aproveitar a instalação do DB2 Express-C  10.1 no Ubuntu – http://goo.gl/dLEzR – para criarmos não um… mas dois bancos de dados. O que gosto de fazer é trabalhar remoto nas minhas VMs instaladas, com isso deixo-as com a configuração de rede para Bridged (pegando uma rede já existente com saída para internet, no caso de precisar baixar algum pacote e conectado à máquina host).   Então o que eu faço: pego o ip da máquina vm com ifconfig no terminal e desabilito o firewall, caso esteja, com sudo ufw disable (lembrando que é um ambiente de laboratório e me previne ter um trabalho de ficar configurando  regras para ssh, ftp…).   E conecto via putty com protocolo ssh e utilizando o usuário owner da instância criado durante a instalação (db2inst1):  O DB2 tem um utilitário chamado db2sampl que cria um banco de dados padrão com finalidade de estudos com alguns objetos e tabelas populadas. Comandos interessantes: db2ilist => lista as instâncias disponíveis no sistema db2start / db2stop <force> => ativa e desativa a instância corrente db2 list db directory => lista os bancos de dados criados ou catalogados na instância corrente db2 connect to <nome do banco de dados> user <usuario> => conecta a um banco de dados criado ou catalogado   Banco criado com o nome SAMPLE. No DB2 podemos criar mais de um banco de dados...

Read More

[DB2 LUW] Como Trabalhar com Objetos de Banco de Dados – Parte III – Final

Este é o post final do resumo do capítulo 8 do e-book Primeiros passos com com o DB2 Express-C 9.7 e vamos falar sobre Tabelas de Catálogo do Sistema, DGTTs, CGTTs, Views, Índices, Integridade Referencial. – Tabelas de Catálogo do Sistema O DB2 possui um conjunto de tabelas e views que informam sobre os metadados dos objetos do banco de dados.  São 3 os schemas pertencentes a esse conjunto: SYSIBM =>  Tabelas básicas. Ex: SYSIBM.SYSTABLES SYSCAT => Views otimizadas baseadas na SYSIBM. Ex: SYSCAT.INDEXES SYSSTAT => são as estatísticas do banco de dados. Ex: SYSSTAT.ROUTINES Existem também as views administrativas com o schema SYSIBMADM. Ex: SYSIBMADM.TBSP_UTILIZATION Você pode consultar a relação das views no link abaixo das System Catalog Views: http://goo.gl/dEGri E as views administrativas em: http://goo.gl/IUpnJ Algumas informações administrativas (contidas nas SYSIBMADM) podem ser referenciadas também através de chamada de função: Exemplo: SELECT * FROM SYSIBMADM.ADMINTABINFO WHERE TABSCHEMA = 'DB2ADMIN' AND TABNAME = 'TABELA1'; SELECT * FROM TABLE(SYSPROC.ADMIN_GET_TAB_INFO_V97('DB2ADMIN', 'TABELA1' )); –  DGTTs (Tabelas temporárias globais declaradas)  e CGTTs  (Tabelas temporárias globais criadas) As DGTTs são tabelas temporárias criadas em memória,  que tem o tempo de vida somente durante o tempo de vida da transação (UOW – unit of work) e não podem ser referenciadas por outras transações. Como características principais temos a não contenção do catálogo, já que não é criada em nenhum catálogo DB2; não tem bloqueio de linha (locks)...

Read More

[DB2 LUW] Sequences

A Sequence é um objeto do Database que possibilita a geração de valores, normalmente com características de valores únicos. A utilização de sequences possibilita uma maior concorrência, evita problemas de performance e mantém a integridade dos números gerados (evitando a geração de duplicidades). Características:  Os valores podem ser de qualquer data type com escala de zero: SMALLINT, BIGINT, INTEGER e DECIMAL; Os valores podem residir em cache para aumentar a performance; O contador de valores é recuperável, ou seja, é mantido em uma estrutura de logs que quando necessário pode ser recuperado.   Expressões usadas: NEXT VALUE expression: retorna o próximo valor para aquela sequence definida; PREVIOUS VALUE expression: retorna o mais recente valor gerado para aquela sequence.        Exemplos: * Criando Sequence com parâmetros default: * Criando Sequence com parâmetros: start with: informa com qual número será inicializado; increment by: qual vai ser o incremento pra o contador; maxvalue: qual o número máximo a ser atingido; nocycle: quando atingir o número máximo, a contagem não será reinicializada; cache: quantos números estarão em memória, otimizando a consulta.  Então teremos uma Sequence chamada db2admin.seq_cont01 começando o contador com o número 10, incremento de 1 em 1, número máximo de 200, sem ciclos e com 20 números em memória: * Utilizando a Sequence para incluir valores em uma tabela: * Consultando o valor atual da Sequence: Saiba mais em: Information Center...

Read More

[DB2 LUW] Como Trabalhar com Objetos de Banco de Dados – Parte II

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: CREATE DISTINCT TYPE KILOGRAM AS INTEGER WITH COMPARISONS; 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: CREATE TABLE pessoa ( nome    VARCHAR(30), peso      KILOGRAM NOT NULL ); Exemplo 3: Na comparação com função: SELECT nome FROM pessoa  WHERE  peso > kilogram(80); – Tipos de Dados Compatíveis com BD Oracle 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: db2set DB2_COMPATIBILITY_VECTOR=FF db2stop db2start Onde FF é utilizado nas definições de SQL...

Read More

[DB2 LUW] Como Trabalhar com Objetos de Banco de Dados – Parte I

Bom, neste post a gente vai falar de alguns conceitos básicos e muito importantes para o entendimento de um Banco de Dados ou RDBMS (Relational Database Management System) e que obviamente não poderiam ficar de fora nesta série de posts para o aprendizado do DB2 No final iremos fazer alguns exemplos com labs para melhor absorção. Este conteúdo pode ser consultado também no e-book Getting Started with DB2 Express-C, capítulo 8, inclusive com exercícios de fixação: http://goo.gl/ka9S – Esquema ou Schema: São definidos conceitualmente como sendo o “dono” ou owner de um grupo de objetos dentro do Banco de Dados. Exemplo: Tabela: PES.PONTO Onde o nome da tabela é PONTO e o esquema é PES. Então, pra que serve o Esquema? Simples: Agrupar de maneira lógica um grupo de objetos relacionados, fornecer uma indicação de propriedade e uma referência para acessos de aplicativos ou transações – Sinônimos públicos: Este conceito foi introduzido a partir da versão 9.7 no DB2. Funciona sem está relacionado a um schema específico, ou seja, não está vinculado a nenhum owner. Exemplo: Criar um sinônimo publico da tabela PES.FERIADO Comando: create public synonym FERIADO for table PES.FERIADO; Desta forma a tabela FERIADO poderá ser vista e acessada sem precisar pré-fixar o esquema e por qualquer owner do Banco de Dados. – Tabelas É o velho conceito, é uma coleção de dados organizados de forma lógica em...

Read More
  • 1
  • 2
Follow

Get every new post delivered to your Inbox

Join other followers: