Alura > Cursos de Data Science > Cursos de SQL e Banco de Dados > Conteúdos de SQL e Banco de Dados > Primeiras aulas do curso Google BigQuery: dominando Strings e Data

Google BigQuery: dominando Strings e Data

Tipos de dados - Datas e Textos - Apresentação

Olá! Boas-vindas!

Vamos iniciar mais um curso na formação de Big Query.

Audiodescrição: Victorino, instrutor do curso, é uma pessoa de pele clara e olhos escuros. Seus cabelos são curtos, lisos e grisalhos. Tem um cavanhaque também grisalho e está vestindo uma camiseta preta. No fundo, tem uma parede iluminada por luz de LED azul-claro.

O que aprenderemos

Este curso dará um foco especial nas funções de texto e de data. Aprenderemos tópicos essenciais, como:

Também dedicaremos atenção especial à manipulação e formatação de datas. Inicialmente, exploraremos as diferenças cruciais entre date time e timestamp, e como trabalhar com cálculo de datas. Abordaremos também a extração de componentes específicos de uma data, como extrair o mês, o ano, a semana, o dia. Veremos como formatar uma saída de data em diversos formatos. E, finalmente, entenderemos o que é uma Data Unit.

O projeto

Para garantir que o aprendizado deste curso seja o mais aplicável possível, sempre utilizaremos a base de dados da Beleza Verde, que é uma empresa fictícia que se destaca no setor da beleza sustentável, e que fomos apresentados a ela no curso anterior da formação. Através deste estudo de caso, você terá a oportunidade de aplicar diretamente os conceitos que serão aprendidos em situações reais.

Ao final do curso

Ao concluir este curso, você terá adquirido uma série de habilidades supervalorizadas no mercado de trabalho, e estas competências são cruciais em diversas áreas, desde análise de dados, business intelligence e até desenvolvimento de software. Dominar e aprender estas técnicas que vamos ensinar ampliará significativamente as suas oportunidades de carreira.

Prepare-se para encarar este desafio conosco.

Vejo você nos próximos vídeos.

Um grande abraço!

Tipos de dados - Datas e Textos - Ajustando a base de dados

Vamos começar mais um curso de Big Query. Antes de iniciar, precisamos ajustar a base de dados da Beleza Verde para podermos prosseguir com os vídeos deste curso. É o que faremos agora, neste vídeo.

Ajustando a base de dados do projeto

Nas atividades desta aula, vocês encontrarão um link para fazer o download de um arquivo. Façam o download deste arquivo na máquina local de vocês e abram esse arquivo com um editor de texto. Observem que fazemos várias modificações nas tabelas da base de dados da Beleza Verde para podermos prosseguir com os exercícios práticos deste curso.

É importante que vocês façam uma substituição do:

Devemos fazer isso para o projeto e para o conjunto de dados, ou seja, o nome de tabelas que você está usando na sua base de dados da Beleza Verde, no seu ambiente do Big Query. Essa base de dados da Beleza Verde foi criada na aula 1 do curso anterior desta formação de Big Query. Modifiquem esse nome do projeto, nome do conjunto de dados e, eventualmente, se vocês tiverem criado tabelas com nomes diferentes, o nome das tabelas.

Observação: Se você não tem o banco da Beleza Verde na sua máquina, volte para a aula 1 do curso anterior e siga todos os passos que estão lá registrados para criar a base. Depois, continue esse curso a partir desse ponto.

Relembrando, para verificar qual é o seu projeto e seu conjunto de dados no Big Query nós temos na parte superior esquerda, ao lado da logo "Google Cloud", o nome do projeto. Na coluna "Explorer" (Explorador), também à esquerda, temos o nome do conjunto de dados e das tabelas. Após essa modificação, alteraremos a base em algumas etapas.

Etapas de alteração da base de dados

Na primeira etapa, copiaremos as sete primeiras linhas, que são UPDATES. Voltaremos para o projeto aberto Big Query, onde criamos um novo script e colamos aqueles sete updates. Após colarmos, selecionamos e executamos.

UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET nome = 'ana beatriz' WHERE id_cliente = 1;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET nome = 'HECTOR ALVES' WHERE id_cliente = 8;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET nome = 'olívia&gomes' WHERE id_cliente = 15;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET nome = 'Quênia Soares' WHERE id_cliente = 17;

UPDATE curso-big-query-12339.belleza_verde_vendas.produtos SET nome = '   Hidratante Corporal' WHERE id_produto = 7;
UPDATE curso-big-query-12339.belleza_verde_vendas.produtos SET nome = 'Creme para as Mãos     ' WHERE id_produto = 4;
UPDATE curso-big-query-12339.belleza_verde_vendas.produtos SET nome = '----Óleo Essencial Lavanda' WHERE id_produto = 1;

Na metade inferior da tela, teremos o resultado. Uma vez que os sete estiverem com o status confirmado, podemos voltar ao script para próxima etapa. Agora copiaremos desde a oitava linha, com o ALTER TABLE até o final do segundo bloco de UPDATES.

ALTER TABLE curso-big-query-12339.belleza_verde_vendas.clientes  ADD COLUMN cep STRING;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '30190010' WHERE id_cliente = 1;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '35400-000' WHERE id_cliente = 8;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '39100-000' WHERE id_cliente = 17;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '36010011' WHERE id_cliente = 15;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '38400-012' WHERE id_cliente = 27;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '80010020' WHERE id_cliente = 11;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '86010-150' WHERE id_cliente = 7;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = 'CEP 87013-060' WHERE id_cliente = 1;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '84010-350' WHERE id_cliente = 28;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '85810-030' WHERE id_cliente = 24;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '85851-000' WHERE id_cliente = 3;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = 'CEP 83203000' WHERE id_cliente = 5;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '85010-000' WHERE id_cliente = 20;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '86800-010' WHERE id_cliente = 12;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '85900-220' WHERE id_cliente = 29;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '87501-030' WHERE id_cliente = 25;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '40010-000' WHERE id_cliente = 9;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '40100-000' WHERE id_cliente = 26;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '40230-001' WHERE id_cliente = 6;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '40301-110' WHERE id_cliente = 4;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '40450-000' WHERE id_cliente = 10;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '41100-000' WHERE id_cliente = 16;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '41301-110' WHERE id_cliente = 19;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '01001-000' WHERE id_cliente = 21;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '01310-000' WHERE id_cliente = 23;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '01530-010' WHERE id_cliente = 18;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '20010-000' WHERE id_cliente = 14;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '22010-000' WHERE id_cliente = 22;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '22290-010' WHERE id_cliente = 13;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '23020-090' WHERE id_cliente = 30;
UPDATE curso-big-query-12339.belleza_verde_vendas.clientes SET cep = '85851-000' WHERE id_cliente = 2;

Voltamos para o Big Data e, se quisermos, podemos substituir os UPDATES anteriores. Então, no script que já criamos e que está com os UPDATES selecionados, pressionaremos "Ctrl + V" para colar o novo bloco do código. Em seguida, clicamos no botão "Executar", na barra superior do script, para rodar os novos UPDATES.

[Tela com animação de carregamento com sons de circuitos]

Após todos os comandos serem executados, voltaremos ao script e copiaremos apenas o DELETE FROM, que está abaixo do código anterior. Voltamos ao Big Data e substituímos todo o código anterior que estava no script por essa nova linha.

DELETE FROM curso-big-query-12339.belleza_verde_vendas.vendas WHERE data = '2022-01-01';

Após executarmos mais esse comando, voltamos ao script e copiamos as próximas duas linhas: uma com ALTER TABLE e a outra com um UPDATE. Voltamos para o Big Data para colar esse código no lugar do DELETE e executá-lo.

ALTER TABLE curso-big-query-12339.belleza_verde_vendas.vendas  ADD COLUMN DATA_AUX TIMESTAMP;
UPDATE curso-big-query-12339.belleza_verde_vendas.vendas SET DATA_AUX = TIMESTAMP(data) WHERE 1=1;

Por fim, copiaremos as últimas três últimas linhas e voltaremos ao Big Data para repetir o processo de execução.

ALTER TABLE curso-big-query-12339.belleza_verde_vendas.vendas  ADD COLUMN data_unix INT64;
UPDATE curso-big-query-12339.belleza_verde_vendas.vendas SET data_unix = UNIX_SECONDS(DATA_AUX) WHERE 1=1;
ALTER TABLE curso-big-query-12339.belleza_verde_vendas.vendas  DROP COLUMN DATA_AUX;

Conseguimos efetuar todas as modificações necessárias para podermos prosseguir com este curso. É importante que vocês executem o script passo a passo. Não executem o script completo, pois ele não funcionará corretamente.

Tipos de dados - Datas e Textos - Conhecendo os tipos de dados - Textos e Datas

Quando falamos de funções, estamos basicamente discutindo como elas se relacionam com diferentes tipos de dados. E por que isso é importante? Porque, na maioria das vezes, as funções que utilizamos estão diretamente ligadas aos tipos de dados com os quais estamos trabalhando. Então, vamos mergulhar nos tipos de dados que o Big Query oferece.

A importância dos tipos de dados do Big Query

No Big Query, usaremos a mesma conta e banco de dados da Beleza Verde, que exploramos no curso anterior. Se abrirmos uma das tabelas, por exemplo, a tabela "produtos", veremos na coluna "Tipo" definição dos campos todos os tipos de dados de cada campo da tabela produto.

Note que cada campo está ligado a um tipo de dado específico. Temos, por exemplo, INTERGER, que representa números inteiros, temos STRING. E até mesmo esse campo, materiasprimas, que se lembram no curso anterior, era do tipo ARRAY de strings, apesar de aparecer como STRING.

Entender esses tipos de dados no Big Query é muito importante quando o assunto é função, porque eles estão sempre relacionados aos tipos de dados, às funções. Temos uma variedade enorme de tipos de dados no Big Query, mas vamos agora, neste vídeo, dar uma olhada especial nos mais importantes.

Tipos mais importantes de dados

Começaremos com dois tipos: Int64 e Foat64. No Big Query, usamos o Int64 e o Float64 para guardar números, mas de maneiras diferentes, com propósitos distintos e precisões numéricas variadas.

O int64 guarda números inteiros, aqueles que não têm casas decimais. Ele varia de um número negativo gigantesco até um número positivo, igualmente enorme. Ele é perfeito para guardar dados sólidos, como, por exemplo, tipos de contagem, identificadores e outras coisas mais.

O float64 é usado para números decimais, o que chamamos de uma precisão dupla, com bastante exatidão. Ele é indicado para coisas que precisam de precisão decimal, como valores financeiros de moedas ou algumas medidas científicas.

Temos também o Bool e o Numeric. Cada um tem a sua característica diferente. O bool é aquele tipo booleano (lógico). Ele só pode ter o valor verdadeiro ou falso, tipo um interruptor, ligando ou desligando. Ele é muito usado, por exemplo, para indicar se uma pessoa funcionária está ou não empregada.

o numeric é para números decimais bem precisos. Pense naqueles valores financeiros que não podem ter erro nenhum. No Big Query, ele pode ter uma precisão de até 38 dígitos. Então dá para imaginar o nível de detalhe que conseguimos alcançar. Ele é ideal para dados financeiros ou científicos que precisam de muita exatidão.

Agora falando das strings e bytes. Eles são, respectivamente, usados para guardar texto e dados binários.

O string, então, é para guardar um texto, que seria qualquer sequência de caracteres Unicode, sem limite de tamanho. Então dá para escrever um livro, se quiser, dentro do campo. É perfeito para guardar qualquer tipo de informação textual, como, por exemplo, o nome, endereço, e-mails, descrições. E o bytes é para dados binários. O campo bytes também não tem limite de tamanho. Ele é ótimo para guardar coisas que não são textos, como imagens ou arquivos compactados.

Não podemos esquecer desses outros dois tipos, o timestamp e o datetime. Eles são essenciais para lidar com números específicos no tempo,e cada um tem o seu jeito de tratar isso.

O timestamp é o tipo que guarda o momento exato, incluindo data e hora. Elenão se preocupa com o fuso horário, porque é universal. Já o datetime é o mesmo, só que guarda a data local, sem se relacionar aos fusos horários.

E para encerrar nossos tipos com "chave de ouro", temos dois tipos mais avançados, que são o geographic e as estruturas complexas, como strucs e arrays. O geographic é para aquele dado espacial, ou seja, um dado no mapa.

Esse dado pode ser um ponto (local preciso) no mapa, uma área, que chamamos de um polígono, ou até mesmo uma linha, por exemplo, uma linha de rota entre um ponto e outro traçada no mapa. Você representa tudo isso por dados geográficos.

os strucs é para queremos juntar várias informações diferentes, mas relacionadas em um único ponto. Digamos que queira guardar em um único campo todos os dados do endereço de uma pessoa cliente, como, por exemplo: a rua, o número, o apartamento, a cidade, o estado, e assim por diante. Já os arrays, vimos inclusive no curso anterior, é quando tem uma lista de coisas do mesmo tipo, tudo organizado em uma única célula da tabela.

Resumo dos tipos de dados:

Enfim, esses são os tipos mais importantes do Big Query. Neste curso, vamos tratar de funções específicas para strings e datas. E quando falamos em datas, estamos falando do datetime e do timestamps.

Até o próximo vídeo.

Sobre o curso Google BigQuery: dominando Strings e Data

O curso Google BigQuery: dominando Strings e Data possui 164 minutos de vídeos, em um total de 59 atividades. Gostou? Conheça nossos outros cursos de SQL e Banco de Dados em Data Science, ou leia nossos artigos de Data Science.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda SQL e Banco de Dados acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas