sexta-feira, 15 de julho de 2016

SQL - Structured Query Language - Parte 02

Continuando com este artigo sobre SQL, veremos neste post mais algumas funções que fazem do SQL uma ferramenta tão importante no desenvolvimento de aplicações que utilizam banco de dados. Começaremos então pela função DELETE.
DELETE
Apaga um ou mais registros de uma tabela. Se não for utilizado a cláusula WHERE, será apagada toda a tabela.
Exemplo:
DELETE FROM VENDAS WHERE DATA_VENDA <= '2015-06-01';


DROP TABLE
Apaga uma tabela do Banco de Dados, e também os indices referenciados e trigger's que a tabela faz referencia.
Exemplo:
DROP TABLE "CLIENTES"


INSERT
Comando responsável para adicionar registros na tabela. Os campos que forem omitidos recebem valores nulos (null).
Exemplo:
INSERT INTO CLIENTES (ID,NOME) VALUES(1,'Nome do Cliente');
INSERT INTO VENDAS_OLD SELECT * FROM VENDAS WHERE DATA_VENDA = getDate();


MAX()
Função que agrega e retorna o valor máximo de uma coluna.
Exemplo:
SELECT MAX(PRECO) FROM PRODUTOS;


MIN()
Função que agrega e retorna o valor mínimo de uma couna.
Exemplo:
SELECT MIN(PRECO) FROM PRODUTOS


ROLLBACK
Desfaz as mudanças ocorridas até o exato momento no Banco de Dados, sem que o comando COMMIT tenha sido executado. Este comando e o Commit fecham a transação aberta pela aplicação e ou ferramenta de gerenciamento das tabelas.
Exemplo:
ROLLBACK


Select
Este comando obtém os dados da tabela.
Exemplo:
Select * from FUNCIONARIOS
Select ID,Nome from CLIENTES where ID > 10


SUM()
Função de agregação que retorna a soma os valores de uma coluna.
Exemplo:
Select SUM(VALOR) from VENDAS


UPDATE
Comando responsável pela atualização da tabela. Se não for passado uma cláusula WHERE toda a coluna da tabela será atualizada.
Exemplo:
UPDATE CLIENTE SET ATIVO = 1
UPDATE CLIENTE SET ENDERECO = 'Rua 15', NUMERO = 14 WHERE ID = '1'


UPPER()
Função que retorna uma string com todos os caracteres em maiúsculo.
Exemplo:
SELECT UPPER(NOME) FROM CLIENTES;

Estes são os principais comando SQL, ficou faltando uma maior atenção as várias cláusulas que o comando SELECT possui, e em breve estarei escrevendo sobre elas.

quinta-feira, 14 de julho de 2016

SQL - Structured Query Language - Parte 01

A SQL apresenta uma série de comandos para criação de tabelas e manipulação de seus registros. Conhecer SQL é essencial quando queremos acessar bancos de dados com velocidade e eficiencia. Para isto postarei algumas das mais usadas funções de SQL com exemplos de como usa-las corretamente.
ALTER TABLE
Altera a estrutura de uma tabela.
Exemplo:
ALTER TABLE CLIENTE ADD CPF CHAR(12)


AVG()
Retorna a média de valores de uma coluna.
Exemplo:
SELECT MES, AVG(VALOR_DA_VENDA) FROM VENDAS ORDER BY MES


CAST()
Converte uma coluana para outro tipo de dados.
Exemplo:
SELECT ITENS FROM PEDIDOS WHERE DATA >= CAST(:pDATA AS DATE)


COMMIT
Grava as alterações de uma transação permanentemente no Banco de Dados.
Exemplo:
COMMIT


COUNT()
Retorna a quantidade de registros para uma condição em um SELECT
Exemplo:
Select count(*) from pedidos


CREATE TABLE
Cria uma nova tabela no seu banco de dados
Exemplo:
CREATE TABLE CLIENTES (
ID INTEGER NOT NULL
NOME CHAR(60) NOT NULL,
CPF CHAR(12) NOT NULL,
ENDERECO CHAR(50),
CONSTRAINT PK_CLIENTE PRIMARY KEY(ID));

No próximo post mostrarei outras funções importantes de SQL, com as funções DELETE, INSERT e UPDATE, necessaria para a manipulação de uma tabela ou banco de dados.

quarta-feira, 13 de julho de 2016

Listar pacotes NPM instalados globalmente e suas versões

Nos últimos dias procurando algumas soluções para alguns problemas no uso do NPM tive a curiosidade de saber quais pacotes tinha instalado e quais eram suas versões.
Após alguma pesquisa encontrei o código abaixo:

npm list -g --depth=0

O resultado será algo como abaixo:

C:\Users\faraujo\AppData\Roaming\npm
├── bower@1.2.5
├── ember-cli@2.6.2
├── grunt-cli@0.1.9
├── jake@0.5.18
├── jshint@0.9.1
├── karma@0.8.7
├── minimatch@3.0.2
├── nodeunit@0.7.4
└── yo@1.0.4

Utilizando Cucumber para criar testes mais claros

Tenho utilizado o Cucumber atualmente para criar testes onde a intenção dos mesmos sejam mais claras, saber o motivo do teste e de seus passos até o retorno esperado sem precisar ficar lendo várias linhas de código. Com o Cucumber temos essa possibilidade pois os testes são escritos em nossa linguagem normal (por padrão inglês, mas com uma simples linha de configuração podemos escrever também em português).
Dependencias Maven:

Teste escrito com Cucumber:
Após a execução com o JUnit, o Cucumber nos informará que precisamos implementar os códigos que representam os passos do cenário acima descrito como abaixo:
O resultado dos testes são apresentados da mesma maneira que o JUnit, mas agrupados por "Funcionalidade". Mais informações sobre o Cucumber em https://cucumber.io/