Arquivo da categoria ‘Sql’

Use a instrução INSERT para adicionar linhas a uma tabela comum, a uma tabela base de uma visão, uma partição de uma tabela particionada, uma subpartição de uma tabela composta particionada, uma tabela de objeto ou tabela base de uma visão do objeto.

Basicamente existem três tipos de sintaxe comuns da instrução INSERT, a primeira utiliza-se apenas o nome da tabela e os valores a serem inseridos, neste caso a quantidade de valores inseridos devem ser iguais e contemplar a mesma ordem dos campos da tabela a ser preenchida. A segunda sintaxe você deve especificar os nomes dos campos desejados da tabela e os valores a serem inseridos, o terceiro método de inserção de dados, você escreve uma pesquisa usando a instrução Select logo abaixo da linha de comando contento a clausula de inserção, você pode ver os três resultados nas imagens abaixo:

Oracle:

Oracle

Oracle

IBM DB2:

DB2

DB2

Microsoft SQL Server:

MSSQL

MSSQL

Exemplo:

Neste exemplo utilizamos as três sintaxes básicas para se utilizar o método de inserção de dados em uma tabela.

Oracle

-- Selecione as instruções uma a uma e execute

-- Inserindo em todos os campos da tabela
insert into tabela1 values (1, 'Teste 01')

-- Inserindo valores em colunas especificas
insert into tabela1  (IDTABELA, DESCTABELA)
      values (2, 'Teste 02')

-- inserindo valores a partir de uma pesquisa      
insert into tabela1
select 
       3 as IDTABELA, 
       'Teste 03' as DESCTABELA
from dual       

-- visualiza os dados
select * from tabela1

IBM DB2

-- Selecione as instruções uma a uma e execute

-- Inserindo em todos os campos da tabela
insert into DA.tabela1 values (1, 'Teste 01');

-- Inserindo valores em colunas especificas
insert into DA.tabela1  (IDTABELA, DESCTABELA)
      values (2, 'Teste 02');

-- inserindo valores a partir de uma pesquisa      
insert into DA.tabela1
select 
       3 as IDTABELA, 
       'Teste 03' as DESCTABELA
from sysibm.sysdummy1;

-- Visualiza os dados
select * from DA.tabela1;

Microsoft SQL Server

-- Selecione as instruções uma a uma e execute

-- Inserindo em todos os campos da tabela
insert into tabela1 values (1, 'Teste 01')

-- Inserindo valores em colunas especificas
insert into tabela1  (IDTABELA, DESCTABELA)
      values (2, 'Teste 02')

-- inserindo valores a partir de uma pesquisa      
insert into tabela1
select 
       3 as IDTABELA, 
       'Teste 03' as DESCTABELA      

-- Visualiza os dados
select * from tabela1

 

Data Definition Language

A Linguagem de Definição de Dados (DDL) é usada para criar e destruir os bancos de dados e objetos de banco de dados. Os objetos de banco de dados incluem  views, schemas, tables, indexes, etc. As instruções DDL mais comuns são CREATE, DROP ALTER.

A sintaxe genérica para as instruções DDL são:

CREATE

Este comando cria uma nova tabela e tem uma sintaxe pré-definida. A sintaxe da instrução CREATE é CREATE TABLE [nome da tabela] ([definições de coluna]) [parâmetros da tabela].

CREATE TABLE Tabela (Empregado INTEGER PRIMARY KEY,
Nome CHAR (50) NULL,
Sobrenome CHAR (75) NOT NULL).

ALTER

Um comando de alteração modifica uma tabela do banco de dados existente. Este comando pode somar uma coluna adicional, eliminar colunas existentes e até mesmo alterar os tipos de colunas envolvidas em uma tabela do banco de dados. Uma sintaxe do comando de alteração ALTER é composto do tipo de objeto e os parâmetros do objeto.

ALTER TABLE Tabela ADD campo CHAR(10).

DROP

Um comando DROP exclui uma tabela, índice ou view. Sintaxe da instrução é DROP tipo de objeto nome do objeto.

DROP TABLE Tabela.

Criando Tabelas utilizando DDL

A sintaxe SQL para criar as tabelas nos diferentes bancos de dados é a mesma, porem cada um dos banco de dados possui seus próprios tipos de dados para os diferentes valores no qual será armazenado nas tabelas. Para saber mais sobre os tipos de dados de cada um dos bancos de dados utilize os links abaixo:

Data Types

Oracle: http://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm

IBM DB2: http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z10.doc.intro%2Fsrc%2Ftpc%2Fdb2z_datatypes.htm

Microsoft SQL Server: http://msdn.microsoft.com/en-us/library/ms187752.aspx

Oracle:

Oracle - DDL

Oracle – DDL

IBM DB2:

IBM DB2 - DDL

IBM DB2 – DDL

Microsoft SQL Server:

MSSQL - DDL

MSSQL – DDL

Exemplo:

Neste exemplo criamos duas tabelas utilizando a linguagem DDL para escrever um script SQL.

Oracle

CREATE TABLE tabela1 (

    IdTabela    NUMBER(5),
    DescTabela  VARCHAR2(50)

);
/

CREATE TABLE tabela2 (

    IdTabela    NUMBER(5),
    DescTabela  VARCHAR2(50)

);

IBM DB2

CREATE TABLE DA.tabela1 (

    IdTabela    INTEGER,
    DescTabela  VARCHAR(50)

);

CREATE TABLE DA.tabela2 (

    IdTabela    INTEGER,
    DescTabela  VARCHAR(50)

);

Microsoft SQL Server

CREATE TABLE tabela1 (

    IdTabela    int,
    DescTabela  NVarchar(50)

);

CREATE TABLE tabela2 (

    IdTabela    int,
    DescTabela  NVarchar(50)

);

A instrução Select é sem duvida é a instrução mais importante de um programa que manipula dados, não importa o quão  robusto é o seu servidor, não importa qual é o seu banco de dados e nem o quão afinado está a sua configuração, instruções “Select” mal feitas podem ser responsáveis pela lentidão de um sistema.

É possível usar a instrução Select de varias maneiras diferentes, este comando é muito flexível e pode ser associado a outras instruções SQL a fim de se obter um resultado especifico, por exemplo é possível rodar uma instrução que seleciona dados em cima do resultado de outra instrução que seleciona dados,  é possível unir, filtrar, calcular, relacionar e etc.

É de extrema importância que instruções Select sejam escritas da forma mais correta e enxuta possível, pois com uma abrangência enorme de recursos é fácil extrapolar o sentido da palavra “criatividade” na hora de escrever está instrução, causando lentidão no sistema e como diz o ditado “de grão em grão a galinha enche o papo”, para desespero de alguns de Select em Select o sistema pode ficar cada vez mais lento.

O que você precisa saber na hora de criar uma instrução Select?

É essencial que o desenvolvedor tenha conhecimento do que é e como funcionam as Tablespaces (Oracle e IBM DB2 ou Filegroups MSSQL). Uma Tablespace é onde os servidores de banco de dados armazenam os dados logicamente.

O que todos devemos saber é que um banco de dados possui Tablespaces do sistema, estas são criadas durante a instalação do banco de dados, e exigem uma configuração especifica para que haja uma boa performance do seu banco de dados, mas em nosso caso especifico existe uma Tablespace que nos afeta diretamente e o seu nome pode variar mas é conhecida como Tablespace Temporária.

Tablespace Temporária

Tablespaces temporárias são usadas ​​para operações especiais, particularmente para classificar os resultados dos dados no disco e geralmente para manipular operações SQL que são muito grandes para ser executada somente pela memoria RAM. Utilizada para armazenar objetos transitórios durante as classificações e agrupamentos de dados durante a execução de uma SQL contendo as cláusulas ORDER BY e GROUP BY, entre outras.  Apesar das Tablespaces temporárias não serem tão criticas e poderem ser excluídas e recriadas quando necessário é preciso saber que elas existem, que precisam de configuração especial, que são manipuladas, na grande maioria das vezes de um modo invisível ao desenvolvedor.

Oracle: http://docs.oracle.com/cd/B10500_01/server.920/a96524/c04space.htm

IBM DB2: https://pic.dhe.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=%2Fcom.ibm.db2.luw.admin.dbobj.doc%2Fdoc%2Fc0004935.html

Mssql Server: http://msdn.microsoft.com/en-us/library/ms190768.aspx

Nos links acima você encontra a documentação completa sobre as Tablespaces de cada banco de dados, o Microsoft SQL Server não possui Tablespaces e sim Filegroups apesar do conceito ser muito parecido existe importantes diferenças, o link acima mostra como funciona o Database TEMPDB do MSSQL.

Data Query Language

Embora tenha apenas um comando, a DQL é a parte do SQL mais utilizado. O comando SELECT permite ao usuário especificar uma consulta “query” como uma descrição do resultado desejado. Esse comando é composto de várias cláusulas e opções, possibilitando elaborar consultas das mais simples às mais elaboradas.

SELECT

A instrução mais básica do comando Select permite que você retorne dados criados por você mesmo em tempo de execução do script SQL, é possível criar campos com conteúdos e nomes, somar dados, retornar variáveis do sistema e etc. Este procedimento básico varia de banco para banco, por exemplo o Oracle possui uma tabela chamada DUAL para este tipo de procedimento, o IBM DB2 possui a tabela sysibm.sysdummy1 e também possui a tabela DUAL, já o Microsoft SQL Server possui uma sintaxe diferente para a instrução Select eliminando a obrigatoriedade da clausula From.

Oracle:

Oracle - Dual

Oracle – Dual

IBM DB2:

IBM DB2 SYSDummy1

IBM DB2 SYSDummy1

Microsoft SQL Server:

MSSQL Server

MSSQL Server

Retornando dados de uma tabela

Para retornar campos de uma tabela todos os 3 bancos possuem a mesma sintaxe básica:

Select * from tabela

Para a documentação completa desta instrução segue os links oficiais:

Oracle: http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_10002.htm

IBM DB2: http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z10.doc.sqlref%2Fsrc%2Ftpc%2Fdb2z_sql_selectclause.htm

MSSQL: http://msdn.microsoft.com/pt-br/library/ms189499(v=sql.120).aspx

Exemplo:
No exemplo a seguir escrevemos três instruções Select que retornam dados criados pelo usuário em tempo de execução.

Oracle

Select
  'Desenvolvimento Aberto' as titulo,
  'Criando um resultado em tempo de execução' as aula,
  '20' as valor1,
  '10' as valor2,
  20 + 10 as total
from DUAL

IBM DB2

Select
  'Desenvolvimento Aberto' as titulo,
  'Criando um resultado em tempo de execução' as aula,
  '20' as valor1,
  '10' as valor2,
  20 + 10 as total
 from sysibm.sysdummy1

Microsoft SQL Server

Select
  'Desenvolvimento Aberto' as titulo,
  'Criando um resultado em tempo de execução' as aula,
  '20' as valor1,
  '10' as valor2,
  20 + 10 as total

A grande maioria das empresas necessitam de sistemas que possam processar, guardar e manipular informações e o modo mais comum de se fazer este trabalho é usando um banco de dados relacional. Um sistema de gerenciamento de banco de dados relacional (RDBMS) é um sistema de gerenciamento de banco de dados (SGBD), que é baseado no modelo relacional introduzido por EF Codd, do Laboratório de Pesquisa de San Jose da IBM. Muitos bancos de dados populares atualmente em uso são baseados no modelo de banco de dados relacional.

Os RDBMSs tornaram-se uma escolha predominante para o armazenamento de informações em bancos de dados, usados para registros financeiros, fabricação e informações logísticas, dados de pessoal, e muito mais desde 1980. Bancos de dados relacionais, muitas vezes substituindo bancos de dados hierárquicos e bancos de dados de rede, porque eles são mais fáceis de entender e usar. No entanto, os bancos de dados relacionais vem sendo substituídos por banco de dados orientados a objeto que foram introduzidos na tentativa de resolver a diferença de impedância objeto-relacional em banco de dados relacional e bancos de dados XML.

Banco de Dados Relacional

Banco de Dados Relacional

Entre os maiores banco de dados relacionais do mercado, segundo a empresa Gartner, os líderes de vendas são:

  1. Oracle (48.8%),
  2. IBM (20.2%),
  3. Microsoft (17.0%),
  4. SAP incluindo (Sybase (4.6%), e Teradata (3.7%))

Banco de dados o grande vilão

Quem já ouviu esta afirmação? “O sistema está muito lento!”. Existem vários fatores que podem causar este problema mas eu já ouvi o que considero a pior resposta do mundo de para esta afirmação e foi de um especialista da empresa líder nacional do mercado para ERP, da qual você já imaginou o nome. O sistema estava em um cliente multinacional que fabrica peças para montadoras de carros e rodava sobre o banco de dados Microsoft SQL Server, e o consultor da tal empresa  disse: “Troca o banco de dados pelo Oracle“. Instantaneamente o gerente de TI  replicou: “Neste caso é melhor eu trocar seu sistema pelo SAP!”.

Eu concordo plenamente com a resposta do gerente de TI da multinacional, o SAP roda muito bem em SQL Server e atende a maioria das empresas no qual utiliza esta configuração e benchmark dos dois bancos de dados são comuns, basta procurar no Google, segue aqui um exemplo : BenchMark DB2 1o vs SQL Server 2012 vs Oracle 11g R2 . Será que todas as empresas utilizam as novas features dos bancos de dados em seu sistema assim como faz a SAP?

Geralmente a solução do problema é trazida por um empresa de consultoria, porque este tipo de empresa lida com vários bancos de dados, de vários sistemas diferentes e seus especialistas conhecem a fundo varias bases de dados dos mais diferentes tipos, incluindo sistemas como o SAP, JDEdwardsMS Dynamics. É comum algumas consultorias que também fabricam software desenvolver soluções que completam ou interagem com estes ERPs e estes desenvolvedores ou consultores já estão calejados e sabem que nem tudo que existe por ai é uma maravilha, e nem todos podem ter o luxo de utilizar uma base de dados criada e assinada pela SAP, Oracle, Microsoft ou IBM. E as vezes ou na maioria delas a melhor solução é sim trocar o sistema.

O que acontece por ai?

Algumas empresas não sabem utilizar corretamente o banco, ressalto que utilizar um o banco de dados não é apenas possuir um desenvolvedor SQL que saiba escrever scripts. Já presenciei sistemas de empresas que existem há mais de 10 anos no mercado e ainda não aprenderam a utilizar um banco de dados relacional corretamente, muito menos já seguiram algum dia as melhores praticas. Em um caso em particular o banco de dados era Oracle e o sistema rodava em clientes de médio porte, e a frase constantemente ouvida dos clientes era: “O sistema é muito lento e toda vez que atualiza o sistema gera muitos erros”. Bom, neste caso o especialista da empresa não poderia dizer para trocar o banco de dados e ao analisar a base dados instantaneamente se notava vários problemas como: muitas chaves primarias, a não utilização de índice único, triggers em excesso, scripts SQL no mínimo duvidosos e lembro de um script do relatório de inventario que demorava mais ou menos 10 minutos para retornar 750 produtos.

É! isto existe por ai! E pergunto para você, isto é normal?

Alguns casos são demorados de resolver como o caso da empresa acima que vinha costurando scripts e programação sem metodologia a mais de 10 anos em um banco sem normalização e outros podem ser resolvidos facilmente como o caso de um empresa cooperativa de grande porte que possuía outras 98 empresas em seu grupo e precisava importar as notas fiscais de todas as empresas para um sistema de validação fiscal  que utiliza Microsoft SQL Server e os dados seriam extraídos de um sistema da IBM, este processo demorava mais de 4 horas . Utilizando novos scripts SQL, implementando técnicas de BULK foi possível reduzir o tempo do processo para importação de 5 anos de dados  de 98 empresas para 15 minutos.

Falta de Normalização

Falta de Normalização

O Verdadeiro Vilão

Podemos apontar de primeira alguns dos principais problemas como, falta de conhecimento da documentação do banco de dados em questão, pouca ou nenhuma normalização, não tratar o modelo de dados como um organismo vivo, que respira e cresce constantemente, o armazenamento inadequado dos dados de referência, não usar chaves estrangeiras ou restrições de verificação ou o uso excessivo dos mesmos, o não uso de domínios e padrões de nomenclatura  e não escolher chaves primárias adequadamente.

Em segundo lugar está o estilo de programação tanto para os scripts do banco dados como na linguagem que acessa os dados, é comum encontrar o uso excessivo de cursores, acessos repetitivos e não saber quando usar o conceito de múltiplos bancos de dados.

Vou ilustrar os parágrafos acima com um outro caso que também é muito comum, e refere-se a uso excessivo de chaves estrangeiras,  não saber a hora de optar por um sistema de banco de dados múltiplos e não incluir no projeto do sistema a previsão de crescimento do mesmo.

O problema ocorre porque inicialmente o projeto de um tipo de ferramenta que extrai dados fiscais para validação foi escrito somente para o banco de dados Oracle, ao longo dos anos com o investimento da Microsoft no MSSQL Server o banco de dados conseguiu um bom espaço no mercado e varias empresas de médio e grande porte o adquiriram, então a ferramenta da empresa em questão precisava trabalhar e rodar nos dois banco de dados. Mas o trabalho era árduo porque era preciso extrair os últimos cinco anos de dados fiscais da empresa e suas filiais e valida-los em horas.

Com o passar dos anos as obrigatoriedades vieram a ser maiores e a empresa proprietária da ferramenta precisava atender estas obrigatoriedades e o próprio mercado ditou a necessidade da ferramenta estar apta a rodar em um banco de dados que vinha ganhando cada vez mais espaço, é obvio que se um cliente possuísse uma licença para o banco de dados que rodava em seu sistema principal (MSSQL) não iria comprar uma licença mais cara (Oracle) somente para poder utilizar uma ferramenta e sim procurar outra ferramenta que atendia sua especificação técnica.

Primeiro a empresa tentou sozinha desenvolver para o novo banco de dados e encontrou varias dificuldades ao ter que descobrir também sozinha que os conceitos entre os bancos de dados não eram iguais e decidiu procurar ajuda especializada, ficou surpresa com o resultado, ao trabalhar com mais de um banco de dados a empresa conseguiu benefícios de desempenho também para o banco de dados no qual a empresa dominava e era especialista.

Porque para competir com o Oracle a Microsoft também usou como estratégia restringir os erros cometidos pelos desenvolvedores na arquitetura do banco de dados, meio que forçando o banco de dados SQL Server a ser escrito e normalizado o mais corretamente possível, assim ganhando mais performance, um exemplo são as chaves estrangeiras, estas requerem memoria e custam para serem interpretadas pelo Engine do banco de dados e a partir da versão 2005 do MSSQL a Microsoft começou a restringir chaves estrangeiras por tabela. No caso de um banco de dados único em um sistema multi-empresas é comum possuir mais de 253 tabelas que possuem uma chave estrangeira conectada a tabela de empresas, então a Microsoft começou a emitir um erro quando se tentava deletar ou alterar um registro de uma tabela que possuía tal quantidade de chaves estrangeiras, a simples clausula executada sobre esta tabela:

Delete from EMPRESA where ID_EMPRESA = 1

retorna o seguinte erro: QUERY TOO COMPLEX.

Capacidade máxima do MSSQL Server (Atente-se para a coluna chamada Foreign key table references per table):

link: http://msdn.microsoft.com/en-us/library/ms143432.aspx

Você pode ler e inserir dados na tabela normalmente, mas não pode mais apagar ou alterar os dados devido ao alto custo da query, apesar do Oracle ou outros bancos de dados permitirem tal modelagem a query executada sobre estas circunstancias também terá um custo maior para ser resolvida pelo Engine do banco de dados. Para uma modelagem mais compacta e sem excessos de objetos no banco de dados, um sistema pode possuir múltiplos bancos de dados, um exemplo de um sistema de grande porte com múltiplos bancos de dados é o JDEdwards da Oracle.

Grande Volume de Dados

Grande Volume de Dados

Processamento de grandes volumes de dados

É recomendado seguir melhores praticas para cada banco de dados e ler os White Papers escritos para suas ferramentas e quanto a regras de programação para sistemas que acessam dados você pode seguir o critério acima ou pode buscar conhecimento em empresas que já possuem este know-how como o caso da SAP.

Como é de conhecimento de todos os sistemas da SAP foram projetados para trabalhar com grande volume de dados e a SAP especifica 5 regras para se programar com os banco de dados: Oracle, Db2, Microsoft SQL Server e Informix. Apesar destas regras serem escritas para programas ABAP e Java e a arquitetura de dados do SAP R/3, elas também se aplicam a forma como outras linguagens de programação devem acessar o banco de dados:

  1. Mantenha o conjunto de resultados Pequeno.
  2. Minimizar a quantidade de dados transferidos.
  3. Minimizar o número de transferências de dados.
  4. Minimizar a Pesquisa Overhead.
  5. Reduzir a carga do banco de dados.

 

 

Oracle ODAC substitui as funcionalidades de acesso a dados do MDAC e em sua versão mais recente acrescenta ferramentas para desenvolvimento no Microsoft Visual Studio. É possível programar para Oracle usando o MDAC que contém drivers de acesso ao banco de dados Oracle em todos os seus componentes como ADO, OLEDB e ODBC, mas estes componentes não suportam as funcionalidades únicas do Oracle tais como, Real Application Clusters, otimizações de desempenho, DB XML, e recursos avançados de segurança.

O ODAC não é apenas para aplicações .NET, suporta também drivers nativos do Windows e pode ser usado para aplicações Win32 nativas como por exemplo o Delphi entre outros.

O que é MDAC?

Microsoft Data Access Components é uma estrutura de tecnologias da Microsoft inter-relacionada que permite aos programadores uma forma abrangente de desenvolvimento de aplicativos que podem acessar praticamente qualquer armazenamento de dados e uniforme. Seus componentes incluem: ActiveX Data Objects (ADO), OLE DB, e Open Database Connectivity (ODBC). Existem vários componentes MDAC obsoletos, assim, como o Microsoft Jet Database Engine, MSDASQL (o fornecedor de OLE DB para ODBC) e Remote Data Services (RDS). Alguns componentes também se tornaram obsoletos, como o Data Access Objects API e Remote Data Objects.

Oracle Data Access Components  (ODAC)

ODAC inclui Oracle Data Provider para .NET, Oracle Developer Tools para Visual Studio (ODT), Provedores Oracle para ASP.NET, suporte ao .NET Stored Procedure, Bem como software adicional de acesso de dados Oracle para Windows.

Requisitos:

ODAC só pode ser instalado em uma versão profissional do Windows ou superior, as ferramentas para o Visual Studio não suportam a versão Express. Para o Visual Studio Express você precisa usar o ODP.NET, também encontrado na mesma pagina de download do ODAC no site da Oracle.

Download: http://www.oracle.com/us/products/tools/index-090165.html

Instalação

1 – Após o download descompacte o arquivo baixado em uma pasta e abra o programa setup.exe:

Preparação

Preparação

2 – Após verificar os requisitos básicos na tela de bem-vindo clique em próximo:

Bem-Vindo

Bem-Vindo

3 – Selecione a opção da instalação cliente ou de servidor caso tenha um servidor Oracle instalado na maquina:

Client / Server

Client / Server

4 – Escolha o diretório da instalação:

Local da instalação

Local da instalação

5 – Selecione os componentes que deseja instalar:

Componentes

Componentes

6 – Crie a entrada no TNS NAMES para acesso ao servidor Oracle:

TNS Names

TNS Names

7 – Nesta tela você recebe um lembrete de rodar os scripts para a configuração ASP.NET sempre que instalar uma nova versão do ODAC ou efetuar um Upgrade na mesma:

Scripts

Scripts

8 – Verifique sua instalação na tela de resumo e se tudo estiver como deseja clique em instalar:

Resumo

Resumo

9 – Aguarde o andamento da instalação:

Progresso da instalação

Progresso da instalação

10 – Após a instalação bem sucedida clique em sair:

Concluido

Concluido

Você já esta pronto para usar o ODAC e as ferramentas para Visual Studio.

Muitos desenvolvedores inclusive aqueles mais experientes podem encontrar algumas dificuldades para usar o DB2 pela primeira vez, isto se deve pela diferença de conceito entre o DB2 e os outros bancos de dados. Este post tem como objetivo o facilitar o primeiro contato entre o desenvolvedor e o banco de dados IBM DB2, mais tarde nos aprofundaremos nos conceitos do DB2. Um erro comum encontrado pelos desenvolvedores ao usar o DB2 é na escrita de scripts SQL, para quem esta acostumado com Oracle ou MSSQL pode encontrar alguma dificuldade no inicio pelo conceito e a sintaxe se deparando com o erro: SQLCODE=-204, SQLSTATE=42704.

Requisitos:

Você precisa já ter completado a instalação do servidor de banco de dados IBM DB2 Express-C e a ferramenta IBM Data Studio, você encontra um walkthrough de como instalar este dois softwares em nossa categoria SQL.

Conectando ao DB2 Usando o IBM Data Studio

1 – Vamos conectar no servidor DB2, criar um novo banco de dados, criar uma novo esquema, uma nova tabela e usar as quatro operações básicas do banco de dados. Para isto abra o IBM Data Studio:

IBM Data Studio

IBM Data Studio

2 – Expanda o servidor localhost e clique no node DB2 ou 50000 com o botão direito e crie um novo banco de dados chamado DEVA, quando questionado sobre o usuário use db2admin e senha que configurou na instalação do servidor,  use a figura abaixo para referencia:

Banco de dados

Banco de dados

3 – Após criar o banco vá para o node Esquemas e crie um novo esquema chamado DA, quando você cria um novo objeto no DB2 ele anuncia que este objeto será adicionado a um novo plano de mudança, após criar o esquema clique em salvar :

Esquema

Esquema

4 – No node Tabelas clique com o botão direito do mouse e escolha criar uma nova tabela, crie a nova tabela com os campos e tipos como na imagem abaixo e salve:

Tabela Blog

Tabela Blog

5 – No node Planos de mudança você vera um ou mais planos de mudança criados automaticamente ao criar ou alterar um objeto do DB2, você precisa implementar as mudanças para que tenham efeito ou elas serão simplesmente descartadas. Clique com o botão direito em cima do seu plano de mudança e escolha a opção Revisar e Implementar:

Plano de Mudança

Plano de Mudança

6 – Após a implementação de suas mudanças você está apto a usar os objetos criados, veja que quando você implementa uma mudança do banco uma tela lhe mostrara o script SQL usado para esta mudança:

Implementação - Script SQL

Implementação – Script SQL

7 – Na barra de ferramentas clique em Novo Script SQL e use os scripts abaixo para efetuar as quatro operações básica no banco de dados DB2:

Scripts SQL

Scripts SQL

Exemplos:

Para testar utilize os seguintes scripts:

DB2-Sql

Inserir Dados

insert into DA."Blog" values
( 1,
  'Desenvolvimento Aberto',
  'desenvolvimento.aberto@live.com',
  'https://desenvolvimentoaberto.wordpress.com/');

Selecionar Dados

select * from DA."Blog";

Alterar Dados

update DA."Blog" set DA."Blog"."Descricao" = 'DESENVOLVIMENTO ABERTO'
where DA."Blog"."Codigo" = 1;

Excluir Dados

delete from DA."Blog"
where DA."Blog"."Codigo" = 1

 

O IBM Data Studio é uma ferramenta gratuita que oferece aos desenvolvedores de banco de dados e DBAs um ambiente integrado e modular para o desenvolvimento e administração produtiva do DB2 para bancos de dados do Linux, UNIX e Windows. O Cliente IBM Data Studio, é uma ferramenta baseada no Eclipse que fornece um ambiente de desenvolvimento integrado para administração de banco de dados e de instância, desenvolvimento de aplicativo de rotina e Java e tarefas de ajuste de consulta. Ele pode ser instalado com outros produtos de software IBM para compartilhar um ambiente comum.

Instalando o IBM Data Studio Client

1 – Para baixar a ferramenta para banco de dados da IBM, você precisa acessar o seguinte link:

IBM Data Studio: http://www.ibm.com/developerworks/downloads/im/data/

2 – Neste link você baixa o IBM Installer Manager no qual analisara seu hardware e software para iniciar o download da melhor versão para seu computador e baixar e instalar os arquivos mais adequados para você, por isto uma conexão com a internet é requerida, também é preciso ser um usuário administrador do sistema para efetuar a instalação. Após download abra o arquivo baixado como administrador:

Instalar (Administrador)

Instalar (Administrador)

3 – Após a extração o IBM Installer Manager será iniciado, uma autenticação do seu ID gratuito da IBM será requerido:

IBM Installer Manager

IBM Installer Manager

4 – Após verificar os servidores da IBM o software mostrara as ultimas versões disponíveis, clique em Avançar para instalar a versão completa do IBM Data Studio ou selecione somente a instalação desejada:

Versões Atuais

Versões Atuais

5 – Uma conexão com os servidores da IBM será feita para analisar o seu ambiente e escolher os programas adequados, aguarde:

Conexão com a IBM

Conexão com a IBM

6 – Aceite os termos de licença e clique em avançar:

Termos de Licença

Termos de Licença

7 – Escolha um local para instalar o componentes compartilhados do Eclipse ou deixe a opção padrão:

Componentes Eclipse

Componentes Eclipse

8 – Escolha a arquitetura do seu hardware 32bits ou 64bits e o local para instalar o IBM Data Studio ou mantenha o diretório padrão:

IBM Data Studio

IBM Data Studio

9 – Selecione o idioma desejado e clique em Avançar:

Idioma

Idioma

10 – Escolha os componentes que deseja instalar em seu computador, você pode optar por uma opção completa com ajuda e administração ou uma versão compacta somente com execução de SQL:

Componentes

Componentes

11 – Escolha o modo como seu software irá se conectar ao sistema de ajuda, pode ser via web ou via intranet, a seleção padrão é via web:

Conexão de Ajuda

Conexão de Ajuda

12 – Nesta tela você receberá um resumo das opções selecionadas, você pode mudar algo se desejar clicando em Voltar ou clique em Instalar para continuar a instalação:

Resumo

Resumo

13 – O IBM Installer Manager irá efetuar o download da configuração de software escolhida, isto pode demorar algumas horas, aguarde:

Baixando imagem do DVD

Baixando imagem do DVD

14– Após o download das ferramentas e a instalação você esta pronto para usar o IBM Data Studio, clique em Concluir para finalizar a instalação.

Instalação Concluida

Instalação Concluida

Instalando o IBM DB2 Express-C – x64

Publicado: 5 de maio de 2014 em Sql

IBM DB2 Express-C é uma edição da comunidade IBM gratuita do servidor de dados DB2. É ideal para pequenas empresas e empresas multi-filiais, bem como desenvolvedores e parceiros de negócios que atendem esses clientes. DB2 Express-C pode ser configurado rapidamente, é fácil de usar, e inclui capacidades de autogestão. Ele também incorpora todas as características centrais das edições do DB2 mais escaláveis​​, incluindo Data Studio, Time Travel Query, pureXML e compactação de backup.

Instalar o IBM DB2 Express C x64

1 – Primeiro você precisa de um ID gratuito da IBM, e depois você já estará apto a baixar a instalação do banco de dados DB2, para isto cadastre-se no site no seguinte link:

IBM: http://www.ibm.com/

IBM DB2 Express C: http://www-01.ibm.com/software/data/db2/express-c/index.html

2 – Após baixar abra o arquivo executável:

Bem-Vindo

Bem-Vindo

3 – Clique em na opção Instalar um Produto:

Instalar Produto

Instalar Produto

4 – No assistente de configuração, clique em Avançar:

Assistente de Configuração

Assistente de Configuração

5 – Aceite os termos de licença e clique em Avançar:

Termos de Licença

Termos de Licença

6 – Na tela de tipo de instalação deixe selecionado a opção típica e clique em Avançar:

Tipo de Instalação

Tipo de Instalação

7 – Na seleção de tipo de arquivo, escolha a terceira opção que significa instalar neste computador e criar um arquivo de resposta:

Instalar e Salvar Resposta

Instalar e Salvar Resposta

8 – Na seleção de diretório, deixe o padrão ou escolha um diretório de sua preferencia:

Escolha de Diretório

Escolha de Diretório

9 – Na opção IBM SSH SERVER, escolha um diretório para a instalação do servidor ou deixe na configuração padrão:

IBM SSH Server

IBM SSH Server

10 – Defina uma senha para o usuário db2admin:

DAS

DAS

11 – Na escolha da instancia selecione a opção padrão:

Instancia do Database

Instancia do Database

12 – Na tela de resumo confira suas escolhas e clique em Concluir:

Resumo

Resumo

13 – Aguarde o progresso da instalação:

Andamento

Andamento

14 – Após o termino da instalação clique na opção concluir:

Concluir Instalação

Concluir Instalação

15 – Após a conclusão uma janela de boas vindas com os primeiros passos do banco de dados será exibida e você já pode usar o DB2 para desenvolvimento.

IBM DB2 Express-C Primeiros Passos

IBM DB2 Express-C Primeiros Passos

Bem-vindo ao mundo IBM DB2.

Este pacote contém o banco de dados central do SQL Server, juntamente com as ferramentas para gerenciar instâncias do SQL Server, incluindo o SQL Server Express, LocalDB e SQL Azure. Se você precisar do Reporting Services ou pesquisa de texto completo, use o SQL Server Express com Advanced Services.

Instalando o MSSQL Express 2012

Para instalar o Microsoft Sql Server Express siga os seguintes passos:

1 –  Baixe o arquivo de instalação do seguinte link: SQL Server Express Edition

2 – Escolha a primeira opção do no assistente de instalação:

Instalação

Instalação

3 – Escolha as opções padrões exceto na tela de modo de autenticação onde você deve escolher modo misto e uma senha para o usuário System Administrator,  use a figura abaixo para identificar a tela:

Autenticação - Modo Misto

Autenticação – Modo Misto

4 – Para todas as outras opção escolha o padrão e o assistente servira de guia até o final da instalação.


Microsoft SQL Management Studio Express

Após a instalação do MSSQL Express você precisa abrir o SQL Management Studio para o gerenciamento e desenvolvimento do Servidor SQL.

1 – Abra o SQL Management Studio e use o modo autenticação Windows na sua primeira conexão. Você pode criar um usuário, mas faremos isto mais tarde quando usarmos o SQL através de linguagens de programação. Use a imagem abaixo para referencia.

Windows Autentication

Autenticação Windows

2 – Após conectado clique com o botão direto do mouse em banco de dados e escolha a opção novo banco de dados, escolha o nome do banco como DevAberto.

Banco de dados

Banco de dados

3 – Após criar o banco de dados expanda os nós da arvore do seu banco de dados e em cima do node Tabelas clique com o botão direito e escolha opção: Nova Tabela, use a figura abaixo para preencher os dados para criar a sua tabela.

Blog - Tabela

Blog – Tabela

4 – Após a criar a tabela, na barra de ferramentas clique em Nova Consulta e use os scripts SQL abaixo para testar seu banco de dados.

Consultas SQL

Consultas SQL

Exemplos:

Para testar utilize os seguintes scripts:

Transact-Sql

Inserir Dados

insert into blog values
( 1,
  'Desenvolvimento Aberto',
  'desenvolvimento.aberto@live.com',
  'https://desenvolvimentoaberto.wordpress.com/')

Selecionar Dados

select * from blog

Alterar Dados

update blog set descricao = 'DESENVOLVIMENTO ABERTO'
where codigo = 1

Excluir Dados

delete from blog
where codigo = 1

Após instalar o Oracle Database XE você pode instalar uma ferramenta visual gratuita de gerenciamento e desenvolvimento para o banco de dados Oracle, desenvolvida pela própria Oracle, chamada Oracle SQL Developer caso você não queira usar a ferramenta de linha de comando chamada Sql Plus que já é instalada junto com o Oracle Express. Existem outras ferramentas para gerenciamento e desenvolvimento do banco de dados Oracle de terceiros porem não são gratuitas. Para a versão deste tutorial para Linux clique aqui.

Oracle SQL Developer

É um ambiente de desenvolvimento integrado livre que simplifica o desenvolvimento e gerenciamento de banco de dados Oracle. SQL Developer oferece desenvolvimento end-to-end de seus aplicativos SQL/PL, uma planilha para executar consultas e scripts, um console de DBA para o gerenciamento de banco de dados, uma interface de relatórios, uma solução completa de modelagem de dados e uma plataforma de migração para mover seu bancos de dados de terceiros para o Oracle.

Instalando o Oracle SQL Developer

1 – Entre no link a seguir e baixe o Oracle Sql Developer, no arquivo compactado clique com o botão direito e escolha propriedades e desbloqueie o arquivo e o descompacte em uma pasta de sua preferencia. Não é preciso instalar nada a pasta descompactada já possui a instalação.

Oracle Sql Developer: http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index.html

Oracle Sql Developer

Oracle Sql Developer

 

2 – Abra o arquivo sqldeveloper.exe e preencha o caminho do seu path java caso solicitado, para criar uma conexão clique no ícone com o sinal de mais e preencha os seguintes parâmetros: nome da conexão, é o nome do seu computador, em nome do usuário escolha, system e preencha a senha no qual você escolheu na instalação do Oracle Express, clique em testar e em conectar.

Primeira Conexão

Primeira Conexão

3 – Após a conexão efetuada, expanda os nodes da arvore e clique com o botão direito do mouse em outros usuários e escolha a opção, criar usuário.

Criar usuário

Criar usuário

4 – Escolha um nome para o seu usuário, o Oracle possui o conceito de Database-User:

Você deve criar pelo menos um usuário de banco de dados que você irá usar para criar objetos do banco de dados. Um usuário do banco de dados é um tipo de objeto de banco de dados: um usuário está associado a um esquema, você se conecta ao banco de dados como um usuário, e o usuário do banco de dados é o dono de todos os objetos (tabelas e assim por diante) que você criar no esquema associado ao usuário.

Nome de Usuário: daberto

5 – Na aba atribuições concedidas para este usuário,  por enquanto vamos o definir como DBA:

DBA

DBA

6 – Após criar o usuário você pode excluir esta conexão e criar uma nova conexão usando o nome de seu usuário, expanda os nodes da arvore e em tabelas clique com o botão direito e clique em nova tabela e preencha os campos como na imagem abaixo:

Tabela: Blog

Tabela: Blog

7 – Agora você pode executar os primeiros comandos SQL básicos em sua tabela, clique na barra de ferramentas no ícone novo e escolha a opção: Arquivos de banco de dados e use as instruções SQL abaixo:

Instruçõeds SQL

Instruçõeds SQL

Exemplos:

Para testar utilize os seguintes códigos:

PL/SQL

Inserir Dados

insert into blog values
( 1,
  'Desenvolvimento Aberto',
  'desenvolvimento.aberto@live.com',
  'https://desenvolvimentoaberto.wordpress.com/')

Selecionar Dados

select * from blog

Alterar Dados

update blog set descricao = 'DESENVOLVIMENTO ABERTO'
where codigo = 1

Excluir Dados

delete from blog
where codigo = 1