SQL vs Excel

40 views
Skip to first unread message

Leonardo Alexandre Ferreira Leite

unread,
Nov 7, 2015, 2:49:49 PM11/7/15
to thac...@googlegroups.com
Olá pessoal,

nos últimos tempos consegui realizar com sucesso duas edições do curso de SQL para jornalistas. Foi bem legal e ainda pretendo fazer novas edições. Mas parece que sempre rola uma dificuldade, para a qual queria alguma ajuda.

A questão é o debate sobre usar Excel (ou Calc) vs SQL.
No geral tento argumentar que para consultas mais simples, o SQL pode não apresentar muitas vantagens, mas depois acaba sendo vantajaso conforme as queries ficam mais complexas, principalmente com agrupamentos e mais ainda com relacionamento entre tabelas.

Uma dificuldade dessa argumentação é que se demora um pouco pra chegarmos aos comandos mais complexos. E deixar que o aluno perceba isso só depois de tantas aulas não é tão motivante quanto ter uma explicação mais convincente logo de cara.

Outra maneira de abordar é que nos casos mais simples, pode-se dizer que são apenas abordagens diferentes (sql vs excel), sendo que o Excel na verdade também nem é tão fácil e intuitivo (i.e., para seus recursos avançados também requer um curso para boa parte das pessoas).

Bom, e vocês, o que acham?
=)

tks!
Léo

Daniel Bramatti

unread,
Nov 9, 2015, 6:44:26 PM11/9/15
to thac...@googlegroups.com

Caro Leo, como jornalista e muito satisfeito ex-aluno seu, tenho como regra geral usar o SQL apenas quando as bases são muito grandes (mais de 500 mil linhas). Consigo me virar bem com o Calc e mesmo com o Google Docs quando o arquivo é pequeno. Mas as bases são cada vez maiores, e é aí que o SQL me salva. Seria legal deixar claro isso logo "de cara" para os alunos: vai chegar um momento em que seu Excel vai travar. 
Abraço!


.

"--".

Daniel Bramatti | Editoria Política - Estadão Dados | O Estado de S. Paulo

Av. Eng. Caetano Álvares, 55 - Limão - São Paulo - SP - 02598-900

+ 55 11 3856-4592

estadoQuer   


--
Você recebeu essa mensagem porque está inscrito no grupo "Transparência Hacker" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para thackday+u...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para thac...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/thackday.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/thackday/CAECcxe_OySK9aFNqRpKcCxCd_90WHg1_jh6vQZyPifBPTV0S0A%40mail.gmail.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Celso Alexandre Souza de Alvear

unread,
Nov 9, 2015, 7:04:55 PM11/9/15
to thac...@googlegroups.com

Também acho melhor trabalhar com o calc para bases pequenas. Com tabela dinâmica, procv e mais algumas funções simples dá pra fazer quase tudo.

erico dias

unread,
Nov 9, 2015, 8:29:54 PM11/9/15
to thac...@googlegroups.com
concordo, acho que o diferencial do sql aparece quando se tem que trabalhar com muitas bases e grandes, o excel até replica isso com o pacote Sharepoint, mas isso é outro nível e usar sql abstrai um pouco a necessidade de ter um profissional/equipe versado nesse pacote

Eu me lembro quando dei uma olhada na apostila do blog jornalismo de dados que talvez o que dificulte não é a sintaxe ou algebra relacional, mas o ferramental, acho que os programas são meio áridos para esse público, ainda não usei mas tenho muita expectativa com o http://pandaproject.net/ pra resolver esse gap junto com outras como o refine, heidisql e até o ireport

Leonardo Alexandre Ferreira Leite

unread,
Nov 10, 2015, 5:48:01 PM11/10/15
to thac...@googlegroups.com
Blz, valeu as opiniões pessoal!

2015-11-09 23:29 GMT-02:00 erico dias <eri...@gmail.com>:
concordo, acho que o diferencial do sql aparece quando se tem que trabalhar com muitas bases e grandes, o excel até replica isso com o pacote Sharepoint, mas isso é outro nível e usar sql abstrai um pouco a necessidade de ter um profissional/equipe versado nesse pacote

Eu me lembro quando dei uma olhada na apostila do blog jornalismo de dados que talvez o que dificulte não é a sintaxe ou algebra relacional, mas o ferramental, acho que os programas são meio áridos para esse público, ainda não usei mas tenho muita expectativa com o http://pandaproject.net/ pra resolver esse gap junto com outras como o refine, heidisql e até o ireport

--
Você recebeu essa mensagem porque está inscrito no grupo "Transparência Hacker" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para thackday+u...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para thac...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/thackday.

Diego Rabatone Oliveira

unread,
Nov 11, 2015, 5:19:31 AM11/11/15
to Transparência Hacker
Oi Léo (e demais)! =)

Cara, eu acho que as vantagens de se usar "SQL" ocorrem em três casos principais.
Bases muito grandes, como bem destacou o Bramatti, quando você precisa relacionar várias bases "medianas" e também quando você tem uma base que não é "bi-dimensional" (por exemplo uma base que tem dimensão temporal além de outras).

Abraços!


--------------------------------
Diego Rabatone Oliveira
http://blog.diraol.eng.br
diraol(arroba)diraol(ponto)eng(ponto)br
Twitter: @diraol

Álvaro Justen [Turicas]

unread,
Nov 12, 2015, 12:37:12 PM11/12/15
to thac...@googlegroups.com
Oi, Leonardo! Como vai?

Acho que para pequenas quantidades de dados é mais fácil usar um
software de planilha eletrônica. Porém, ao usar o Excel lembre-se que
a informação fica "presa" no formato fechado da Microsoft. Então
talvez fosse interessante sugerir que convertam os dados para um
formato aberto (ex: ODS) e usar um software livre (ex: LibreOffice),
caso não seja possível (ou muito difícil) usar SQL.

De qualquer forma, em minha opinião uma das coisas que dificulta o uso
de tecnologias como SQL para pessoas não técnicas é a dificuldade de
conversão de dados: os dados geralmente estão em planilhas. Estou
trabalhando no projeto de uma biblioteca Python (e interface linha de
comando) que pode ajudar nesse trabalho de conversão e até de rodar
consultas diretamente em arquivos XLS:
https://github.com/turicas/rows

Você pode usar a biblioteca em projetos Python ou usar a linha de
comando para os comandos mais gerais. Pela interface linha de comando
dá pra converter arquivos de diversos formatos (CSV, TXT, JSON, XLS,
XLSX, HTML etc.), por exemplo:

$ rows convert arquivo.xls arquivo.csv

Você pode usar como "source" qualquer um dos tipos suportados e também
como "destination" qualquer um dos tipos.
A biblioteca automaticamente identifica os tipos de campos (mesmo para
formatos em que isso não é explícito, como em CSV) e já faz a
conversão levando em conta os tipos. Dá pra converter para um banco
SQLite:

$ rows convert arquivo.xls arquivo.sqlite

E para quem quer brincar de fazer consultas SQL diretamente nesses
arquivos, você consegue usar o subcomando "query". Exemplo:

$ URL='http://cidades.ibge.gov.br/comparamun/compara.php?idtema=1&codv=v01&coduf=33'
$ rows query --input-encoding=utf-8 --input-locale=pt_BR.UTF-8
'pessoas < 50000' $URL

No exemplo acima eu especifico a URL de um arquivo HTML, e parte de
uma SQL ("pessoas < 50000"), o que a CLI faz é:
- Baixar o arquivo
- Identificar seu tipo (HTML) e usar o plugin correto para importar os
dados (usa o parâmetro "--input-encoding" para ajudar no processo, já
que o servidor Web do IBGE informa o encoding errado)
- Identificar os tipos das colunas (usa o parâmetro "--input-locale"
para ajudar nisso, por conta do separador de milhares ser ".")
- Com os dados importados, exporta para uma base SQLite em memória
- Roda a consulta "SELECT * FROM table1 WHERE pessoas < 50000"

Algumas possibilidades:
- Você pode especificar a SQL completa, mas se preferir só a parte do
WHERE, pode omitir o começo ("SELECT * FROM table1 WHERE")
- Você pode colocar vários arquivos "source" (e cada um deles pode
estar em qualquer um dos formatos aceitos pela biblioteca) e rodar
consultas com JOINs (o nome das tabelas será de acordo com a ordem dos
"sources": "table1", "table2", ..., "tableN").

Ainda tem muita coisa que precisa ser feita na biblioteca, mas estamos
evoluindo bem rápido. Espero que ela possa ajudar. ;-)

Abraços,
Álvaro Justen "Turicas"
http://turicas.info/ http://twitter.com/turicas
http://CursoDeArduino.com.br/ http://github.com/turicas
+55 21 9 9898-0141


2015-11-07 17:49 GMT-02:00 Leonardo Alexandre Ferreira Leite
<leonar...@gmail.com>:
> --
> Você recebeu essa mensagem porque está inscrito no grupo "Transparência
> Hacker" dos Grupos do Google.
> Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie
> um e-mail para thackday+u...@googlegroups.com.
> Para postar nesse grupo, envie um e-mail para thac...@googlegroups.com.
> Acesse esse grupo em http://groups.google.com/group/thackday.
> Para ver essa discussão na Web, acesse
> https://groups.google.com/d/msgid/thackday/CAECcxe_OySK9aFNqRpKcCxCd_90WHg1_jh6vQZyPifBPTV0S0A%40mail.gmail.com.

Diego Rabatone Oliveira

unread,
Nov 13, 2015, 4:40:36 AM11/13/15
to Transparência Hacker

Ah, para quem passeia por esses terrenos de consulta, recomendo conhecerem o csvKit ... Ferramenta de linha de comando sensacional!

Diego Rabatone Oliveira

--
Você está recebendo esta mensagem porque se inscreveu no grupo "Transparência Hacker" dos Grupos do Google.

Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para thackday+u...@googlegroups.com.
Para postar neste grupo, envie um e-mail para thac...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/thackday.
Para ver esta discussão na web, acesse https://groups.google.com/d/msgid/thackday/CAPGg1yqSKOHXPpGpv2JrgxqD7gp-BfOHYNuD23L1DXCBaWz6%3Dw%40mail.gmail.com.
Para obter mais opções, acesse https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages