28 de mai de 2018

Como usar SQL para análise de dados em 3 passos

Udacity Brasil

É seguro afirmar que qualquer profissional de data science deve ter, pelo menos, um conhecimento mínimo sobre SQL para análise de dados. Ela é a linguagem padrão para o gerenciamento de bancos de dados relacionais, que por sua vez é o modelo mais utilizado para organização e armazenamento de dados em sistemas de todos os tipos.

Criado nos anos 1970 pelo matemático britânico Edgar Frank Codd, então funcionário da IBM, SQL é uma linguagem declarativa, simples e fácil de ser aprendida.

A sigla significa Structured Query Language (linguagem de consulta estruturada) e, em inglês, é lida muitas vezes como a palavra "SEQUEL", seu nome original.

Baixe o ebook: Guia completo para começar uma carreira em data science

A origem do SQL e o modelo relacional

Antes do modelo relacional que SQL utiliza ganhar tração, o padrão da indústria era o armazenamento de dados em arquivos simples, muitas vezes não estruturados e no modelo hierárquico, que é extremamente limitado quando comparado ao sistema de Codd.

No modelo hierárquico, os registros são conectados em ligações simples, de forma que cada um deles tem apenas um único possuidor. Essa restrição impedia que ele fosse utilizado para relacionar muitas estruturas que existem no mundo real, como um aluno de uma universidade que tem diversos professores ao mesmo tempo em que os professores também têm muitos alunos.

Em um banco de dados relacional, esse tipo de situação não é um problema: os dados são modelados de uma forma que sejam percebidos como tabelas e é possível que um registro tenha múltiplas relações e interconexões.

O SQL é a linguagem padrão para esse tipo de estrutura. Quando começou a ser utilizado amplamente, acabou sendo adaptado e ajustado por diversas empresas, o que culminou na definição de um padrão pela ISO.

Mesmo assim, esse padrão não é adotado por todo o mercado: nem sempre o código SQL é compatível entre diferentes bancos de dados sem a realização de pequenos ajustes. Quem aprende a sintaxe da linguagem, no entanto, consegue lidar com todas as variações.

O que é SQL e o que faz? A Udacity explica no vídeo acima

A importância do SQL para data science

O conhecimento em SQL permite que um cientista de dados estabeleça formas de organizar e estruturar os bancos de dados, formate perguntas para extrair informações úteis e automatize parte do trabalho de análise.

Como boa parte dos dados que existem hoje é armazenada em bancos relacionais, isso significa que é preciso ter pelo menos um conhecimento básico de SQL para poder manipulá-la em busca de informações úteis.

E para uma boa análise, é preciso enxergar mais do que apenas números em uma tabela. Por isso, outro item praticamente obrigatório para quem quer trabalhar com date science é programar em Python.

A boa notícia é que as duas linguagens possuem sintaxes mais simples e são fáceis de aprender e há cursos abertos para isso, como Fundamentos da Programação com Python e Intro to Relational Databases.

Leia também: 8 motivos para aprender a programar em Python

As etapas da análise de dados com SQL

Passo 1: Preparando dados

Para entender como é feita a análise de dados com o SQL, vale a pena percorrer todas as etapas do processo. A primeira delas é a coleta das informações, que pode ser feito de diversas maneiras, como a integração do banco com softwares que vão extrair os dados em tempo real ou a inserção manual dos registros.

O jeito mais comum é a preparação de dados já existentes em um arquivo CSV (Comma-separated values) ou em formato similar.

Depois de encontrar as informações relevantes, o profissional deve prepará-las para serem armazenadas no banco de dados relacional, o que muitas vezes envolve conversões de padrões e outros pequenos ajustes – e com os comandos SQL apropriados, é possível automatizar essa tarefa.

Passo 2: Armazenando dados em um banco relacional

Depois da extração, é hora de carregar e armazenar a informação em um banco relacional. Para isso, uma dica é adotar uma ferramenta gratuita e de código aberto, como o SQLite ou o MySQL.

Nesta etapa, o profissional deve estabelecer os critérios de organização e a relação entre os registros. Muitos deles serão intrínsecos à fonte, mas outros serão definidos de acordo com o tipo de informação extraída dos dados.

Jessica Kirkpatrick, cientista de dados da Hired, explica o dia a dia de quem trabalha com análise de dados

Leia: 3 caminhos para ser um analista de dados (mesmo que você não tenha experiência)

Passo 3: Extraindo informações com a análise de dados

Com os dados carregados, é hora de começar a fazer perguntas para o banco por meio de comandos SQL. É possível filtrar elementos, somar valores e realizar cruzamentos, explorando o conteúdo e extraindo informações úteis.

Na análise de um banco de dados de uma universidade, por exemplo, é possível filtrar quais são os alunos matriculados no maior número de disciplinas e somar a carga horária para visualizar aqueles que vão passar mais horas dentro de sala em um semestre.

Também é possível cruzar dados para desvendar quais matérias os alunos realizarão na mesma sala, estabelecer um ranking dos que terão mais interações com os colegas ou verificar quais estudantes estão ou já estiveram inadimplentes.

Este é um exemplo simples, mas que demonstra uma verdade reconhecida há quarenta anos: uma ferramenta como SQL abre inúmeras novas possibilidades.

Leia também:

Udacity Brasil