Arquivo da tag: Banco

Excel logo

Excel vs R Quando utilizar

R logo

R logo

Excel vs R – Porque comparar ?

Estas duas ferramentas possuem funcionalidades semelhantes e por isso gera este tipo de questionamento, se são parecidas então não preciso estudar as duas ?! Qual a melhor ? Este tipo de pergunta é aceitável e justificável para ferramentas novas ou que possuem uma grande diferença de “idade”. No caso do Excel e do R, talvez seja um pouco diferente porque são duas ferramentas criadas a muito tempo e as duas vem se mantendo firmes no mercado, o Excel como ferramenta fortemente presente em quase todos os ambientes corporativos, e o R como uma ferramenta poderosa na análise de dados. Continue lendo este post que eu espero que lhe auxilie nesta decisão.

Continue lendo

R vs SQL

R logo

R logo

Iniciando

Quando comecei a utilizar o R o maior problema foi a adaptação devido ao fato de já utilizar SQL com bancos relacionais, imediatamente surgiam as dúvidas:

  1. Como faço um “where” ?
  2. Tem como fazer um “like” ?
  3. Como faço um “group by”
  4. Como faço para ordenar?
  5. Como faço um “limit”

Continue lendo

Derby – utilizando auto incremento

Derby embed java database

Derby

O Derby

O Derby é um sistema de banco de dados relacional embarcado no java, isto significa que você não precisa ter um serviço a mais sendo executado na sua maquina para fazer uso do sistema de banco de dados, todo o código é executado na mesma JVM de sua aplicação.

Alguns motivos para utilizar o Derby

  • Rápida instalação e ouço consumo de recursos 2.6MB por instância já considerando o driver.
  • Baseado em Java, JDBC, e SQL padrão.
  • Possibilidade de utilização no modo cliente servidor.
  • Facilidade de instalar e usar.

Criando a tabela com auto-incremento

O auto incremento no derby é um pouco diferente do padrão dos outros banco de dados.
Segue um exemplo que pode ajudar a criar as tabelas de seu novo banco.

Link para o site oficial.

Conectando-se ao banco Derby

Logo do Apache Derby

Introdução

Apache Derby é um sistema de gerenciamento de banco de dados relacional Java que pode ser embutido em programas Java e que possui quase todos os recursos dos grandes SGDBS.

História:

Apache Derby originou-se na Cloudscape Inc, uma start-up de Oakland, California fundada em 1996 para desenvolver tecnologia Java para banco de dados. A primeira versão do motor do banco de dados, foi nomeada JBMS, em 1997. Posteriormente foi renomeada para Cloudscape e novas versões eram desenvolvidas a cada seis meses.
Em 1999 a Informix Software, Inc., comprou a Cloudscape, Inc. Em 2001 a IBM adquiriu os ativos da Informix Software, incluindo a Cloudscape. O banco de dados foi registrado como IBM Cloudscape e suas versões continuaram a ser produzidas, principalmente focando o uso em aplicações embarcadas usando os produtos Java da IBM.
Em agosto de 2004 a IBM contribuiu com o código para a Apache Software Foundation como Derby, um projecto incubado mantido pelo projeto Apache DB. Em julho de 2005 o projeto Derby foi promovido na incubadora do Apache e agora está sendo desenvolvido como um sub projeto do DB, um projeto de alto nível na Apache. Anteriormente à promoção do Derby na incubação, a Sun uniu-se ao projeto Derby com a intenção de usar o Derby como um componente de seus produtos,3 e com o lançamento do Java 6 em dezembro de 2006, a Sun incluiu o Derby no JDK renomeado como Java DB.
Em março de 2008 a IBM anunciou a remoção do produto Cloudscape do mercado, mas continuará contribuindo com o projeto.
Fonte: (wikipedia)

Instalando o Derby

Você pode fazer o download do arquivo jar aqui

OBS: O parâmetro “create=true” informa que se o arquivo nao existir o driver devera cria-lo.

 

Site oficial: Apache Derby.

Conectando-se ao Oracle com java JDBC

Conectar java ao banco de dados oracle com jdbc connect to oracle with jdbc

Oracle

O JDBC é a sigla de Java Data Base Connector e é uma das maiores vantagens de se utilizar o Java, pela grande facilidade de se conectar a diversos bancos de dados com o mesmo código fonte.

Para começar a utilizar você deve seguir os seguintes passos:

  1. Faça o download do driver no site da Oracle
  2. Adicione o driver ao ClassPath da aplicação
  3. Utilize o código abaixo para criação da conexão com o banco Oracle

Abaixo você pode ver um exemplo de como inicializar uma nova conexão com o banco de dados. Para se conectar com outros bancos basta mudar a String com o nome da classe do driver e a String com a URL de conexão com o banco.

Outras Strings de Conexão( ConnectionString ):

Banco classe do driver url de Conexão
MySQL com.mysql.jdbc.Driver jdbc:mysql://hostname/ databaseName
ORACLE oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@hostname:port Number:databaseName
DB2 COM.ibm.db2.jdbc.net.DB2Driver jdbc:db2:hostname:port Number/databaseName
Sybase com.sybase.jdbc.SybDriver jdbc:sybase:Tds:hostname: port Number/databaseName

Localizar um objeto em todos os bancos de dados

SQL Server localizar objeto tabela view procedure trigger em todos os bancos de dados do servidor

Algumas ferramentas para banco de dados possuem uma busca para objetos(tabelas, triggers, views, etc) no banco de dados, para o caso de não ter disponível ou como no meu caso, de precisar fazer de forma dinâmica dentro de uma aplicação, pode-se utilizar o código abaixo:

Gerar autoincremento para todas as tabelas automaticamente

Logo do firebird sistema de gerenciamento de banco de dados

Uma das reclamações das pessoas que começam a utilizar o FireBird é a falta do auto-incremento como é contrados em sistemas como SQL Server e MySQL. Ainda não vamos discutir os prós e contras de se utilizar generators(Sequences), mas criei um código para me auxiliar na tarefa de preparar o banco de dados para rotinas de replicação e que serve para solucionar este problema.

A rotina abaixo busca por tabelas no banco de dados que contenha chaves primárias de apenas um campo, caso encontre, cria o GENERATOR (SEQUENCE), e a TRIGGER correspondente para gerar o auto-incremento destas tabelas.

Recursos utilizados nestes scripts:
TRIM: retorna o texto informado no parâmetro sem os espaços a esquerda e direita.
EXECUTE STATEMENT: Execute um comando contido na string, muito útil para criação de consultas  
            dinamicamente.
RDB$RELATIONS: Tabela do sistema que contem todas as tabelas e views do banco de dados.
UPPER: Retorna o parâmetro informado em caixa alta (todas as letras maiúsculas )
CAST: Converte um valor para um determinado tipo de dados. No nosso exemplo foi convertido um valor inteiro para texto ( varchar(5) ).

Dados aleatórios e busca inteligente

Por melhor que seja sua rotina de busca, ainda assim vai existir um usuário que não consiga encontrar o que esta procurando, por isso criei a rotina abaixo para fazer algo parecido com a busca do google.
Para testar utilizei também uma rotina para gerar dados aleatórios que pode ser muito boa para testar procedimentos.

ATENÇÃO!! Veja a função SPLIT aqui

Função split no SQL Server para dividir um texto em um array

função split para dividir um texto em um array

  Existem situações do cotidiano em que precisamos de um recurso sisponível para a grande maioria das linguagens de programação que é o SPLIT, que consistem em dividir um texto em várias partes tendo como base um caractere delimitador.

EX.: “Maria Jose João Paulo Joaquina”
Imagine que você precise destes nomes separados em uma lista. É isto que o split faria.
Vi alguns exemplos na internet, mas não gostei da forma que foi implementado, por isso criei esta que vou apresentar.

Para este código foram utilizadas as seguintes funções:

Buscar trecho de código no banco de dados

SQL Server

SQL Server

O problema

A utilização de regras de negocio dentro do banco de dados pode ser um problema para os desenvolvedores quando começam a surgir novos registros ou alterações de registros que não são originados da aplicação, caso você tenha em mãos a documentação do banco de dados, este será o caminho a seguir, mas nem sempre dispomos destas documentações, neste caso teremos que “vasculhar” o banco de dados em busca destas informações.

A Solução

No SQL Server é possível consultar diretamente a tabela de comentários ( Syscomments ) do banco de dados onde estão dos os comentários de todos os objetos do banco, sendo assim podemos utilizar o código abaixo para realizar esta investigação.

Veja a documentação sobre a tabela Syscomments neste link.