• (31) 99973-2709
  • hugomoraismendes@gmail.com

Category Archive DataBase

MySQL – Apagando registro duplicados

Registro duplicados em base de dados é um problema que pode te dar uma dor de cabeça, abaixo segue uma proposta de solução para resolver esse problema.

Assumindo que você use o banco de dados MySql e tenha uma tabela chamada “nomes”, e que essa tabela tenha os campos id e nome. Essa sintaxe pode ser usada em outros bancos, utilizaremos o seguinte comando:

DELETE a FROM nomes AS a, nomes AS b WHERE a.nome=b.nome AND a.id < b.id

Perceba que no comando SQL após o FROM eu chamo duas vezes a tabela “nomes”, mas as diferencio pelas letras a e b. Você poderia dar o nome que quisesse. Note também que depois do WHERE eu faço a comparação entre as colunas, verificando a duplicidade e depois digo que o id de “a” deve ser menor que o de “b”. Dessa forma o MySql vai comparar todos os registros com o mesmo nome e apagar aqueles que contenham o menor id.

nomes: É a tabela com os registros duplicados.

nome: É o campo para comparação dos registros.

id: É a chave primária da tabela.

Veja na prática como acontece:

Tabelas com os registros duplicados

Aplicando o script descrito acima:

Caso queira apagar todos os registros duplicados, deixando apenas os registros únicos é só trocar o “<” por “!=” veja um exemplo:

MySQL – Função GREATEST()

No MySQL tem a função GREATEST () que retorna o maior valor dos argumentos.

Sintaxe:

GREATEST(value1,value2,...)

Exemplo

Código:

SELECT GREATEST(15,10,25);

Resultado:

mysql> SELECT GREATEST(15,10,25);
+--------------------+
| GREATEST(15,10,25) |
+--------------------+
|                 25 | 
+--------------------+
1 row in set (0.01 sec)

FUNÇÃO GREATEST() com cláusula WHERE

A seguinte instrução MySQL buscará esses livros (juntamente com sua data de publicação e número de páginas) a partir de book_mast tabela que tem mais páginas do que o valor de retorno de GREATEST (200,300,395), ou seja o maior valor é 395, veja abaixo o código do exemplo.

Tabela de amostra: book_mast

Resultado:

mysql> SELECT book_name,dt_of_pub,no_page
    -> FROM book_mast
    -> WHERE no_page>GREATEST(200,300,395);
+--------------------------------+------------+---------+
| book_name                      | dt_of_pub  | no_page |
+--------------------------------+------------+---------+
| Guide to Networking            | 2002-09-10 |     510 | 
| Transfer  of Heat and Mass     | 2004-02-16 |     600 | 
| Fundamentals of Thermodynamics | 2002-10-14 |     400 | 
+--------------------------------+------------+---------+
3 rows in set (0.00 sec)

MySQL – Função SIGN()

No MySQL, a função SIGN() retorna o sinal de um número. Ou seja, indica se o valor é positivo, negativo ou zero.

Você fornece o valor como argumento ao chamar a função.

A função retorna o resultado a seguir, dependendo se o argumento é positivo, negativo ou zero.

  • 1 se o número for positivo
  • -1 se o número for negativo
  • 0 se o número é zero

Sintaxe

Esta sintaxe é assim:

SIGN(X)

O X é o valor que deseja saber o resultado

Exemplo 1 – Uso Básico

Aqui está uma demonstração de passar um valor positivo para esta função.

SELECT SIGN(5);

Resultado:

+---------+
| SIGN(5) |
+---------+
|       1 |
+---------+

Exemplo 2 – Todos os Sinais

Aqui está um exemplo usando três valores diferentes – um valor negativo, um valor positivo e zero.

SELECT 
  SIGN(-5),
  SIGN(5),
  SIGN(0);

Resultado:

+----------+---------+---------+
| SIGN(-5) | SIGN(5) | SIGN(0) |
+----------+---------+---------+
|       -1 |       1 |       0 |
+----------+---------+---------+

Exemplo 3 – Expressões

Você também pode usar expressões como esta.

SELECT SIGN(50 - 60);

Resultado:

+---------------+
| SIGN(50 - 60) |
+---------------+
|            -1 |
+---------------+

Exemplo 4 – Valores NULL

Para um valor NULL a função resultará NULL.

SELECT SIGN(NULL);

Resultado:

+------------+
| SIGN(NULL) |
+------------+
|       NULL |
+------------+

Data Munging

O que é Data Munging?

O Data Munging as vezes é confundido com Data Wrangling, mas o Data Munging é o processo inicial de refinar os dados brutos que obtemos através de arquivos, sites ou banco de dados e deixando eles mais adequados para o consumo de usuários ou sistemas.

A medida em que a diversidade, a experiência e a especialização dos profissionais que trabalham com dados crescem, o “munging” e “wrangling” se tornaram termos genéricos, sendo mais usados de forma análoga à “codificação” para engenheiros de software.

O processo de Data Munging: Uma visão geral

  • Exploração de dados: O processo de Munging geralmente começa com a exploração de dados. Se um analista está apenas olhando dados novos fazendo a análise inicial chamamos de (IDA – Initial Data Analysis), ou quando um Cientista de Dados inicia a busca de novas associações em registros existentes na análise exploratória de dados é chamado de (EDA – Exploratory Data Analysis), a troca sempre começa com algum grau de descoberta de dados.

  • Transformação de dados: Depois de estabelecer uma noção do conteúdo e da estrutura dos dados brutos, os dados devem ser transformados em novos formatos apropriados para o processamento posterior. Esta etapa envolve a pura reestruturação dos dados, desnormalizando tabelas diferentes para que as informações relevantes possam ser acessadas de um local, ou remodelando e agregando dados de séries temporais às dimensões e extensões de interesse.

  • Enriquecimento de dados: Quando os dados estiverem prontos para o consumo, os usuários que optarem por executar o processo poderão executar etapas opcionais de enriquecimento. Isso envolve encontrar fontes externas de informações para expandir o escopo ou o conteúdo dos registros existentes. Por exemplo, usando um conjunto de dados climáticos de código aberto para adicionar temperatura diária aos números de vendas de uma sorveteria.

  • Validação de dados: O passo final é a validação. Nesse ponto, os dados estão prontos para serem usados, mas certas verificações de bom senso ou sanidade são essenciais para a validar a veracidade dos dados. Esta etapa permite que os usuários descubram erros de digitação, mapeamentos incorretos, problemas com as etapas de transformação, até a rara corrupção causada por falha ou erro computacional.

Cloud e o futuro do Data Munging

A computação em nuvem e os Data Warehouses em nuvem geralmente contribuíram para uma expansão maciva dos dados corporativos das organizações. A Data Munging é apenas um termo relevante nos dias atuais, graças à importância de informações rápidas, flexíveis, mas cuidadosamente tratadas, todas elas foram os principais benefícios das plataformas modernas de dados em nuvem.

Agora, conceitos como o Data Lake e as tecnologias NoSQL explodiram a prevalência e a utilidade dos dados e análises de autoatendimento. Usuários individuais em todos os lugares têm acesso a uma quantidade de dados brutos, e são cada vez mais confiáveis para transformar e analisar esses dados de forma eficaz. Esses especialistas devem saber limpar, transformar e verificar todas essas informações em si.

Seja na modernização de sistemas existentes, como Data Warehouses para melhor confiabilidade e segurança, ou capacitando usuários, como Cientistas de Dados, a trabalhar em informações corporativas de ponta a ponta.

Iniciando com o Data Munging

O processo de Data Munging é um procedimento geral para transformar dados de formulários ou planilhas em dados úteis e específicos de casos de uso. Sem o uso das técnicas do Munging, que seja realizado por sistemas automatizados ou usuários especializados, os dados não ficam prontos para qualquer tipo de consumo.

Existem muitas ferramentas poderosas e versáteis, como o Python, que estão tornando cada vez mais fácil para qualquer pessoa fazer uma busca eficaz.