Skip to main content

A manutenção dos banco de dados é uma das bases da programação, e isso normalmente ocorre com SQL. Mas, afinal de contas, o que é essa linguagem?

Todo programador, ao longo de sua vida, se deparou com a necessidade de armazenar dados de alguma forma. Para tanto, existem meios “antiquados”: tabelas do tipo .CSV, planilhas do Excel, blocos de notas ou até mesmo a criação de arquivos separados para cada entrada. No entanto, estas soluções são pouquíssimo aplicáveis em programas reais, e muito menos em grande sistemas como redes sociais ou redes de big data. Por isso, utilizam-se bancos de dados, que, em sua maioria, são sustentados pela Standard Query Language, conhecida como SQL.

Essa linguagem surgiu na década de 70 como fruto de um projeto feito pela gigante IBM. Na década de 80, conseguiu a sua primeira padronização real e passou a ser um modelo para o surgimento das demais linguagens posteriores. Até certo ponto, é seguro dizer que as outras linguagens SQL são, entre si, extremamente parecidas; elas mudam apenas uma pequena parte da sintaxe, mas nada que uma rápida pesquisa no Google não resolva.

Para se colocar uma melhor comparação, a semelhança entre as linguagens SQL é quase como a semelhança entre o português e o galego: em sua maioria, tudo é entendível; o que não é, uma rápida pesquisa no Google basta para sanar as dúvidas. Por isso, em geral, basta dedicar-se a aprender uma das linguagens para conseguir um entendimento razoável das demais, dessa forma abrindo o leque de aprendizado de todas com grande facilidade.

Onde mais se usa o SQL?

Entre as tantas profissões do meio da informática, o SQL é muito utilizado e popular no desenvolvimento de back-end. No entanto, entre as diversas outras profissões do meio das tecnologias da informação, temos a de analista e engenheiro de banco de dados, cientista de dados, administrador de banco de dados, dentre outros.

Todas essas profissões trazem bons salários para seus desenvolvedores, mas, sem sombra de dúvidas, as carreiras de desenvolvedor back-end e de cientista de dados se destacam pela sua relevância de mercado e pelo alto grau de procura. São ambas profissões bastante recentes e modernas, que têm um altíssimo destaque no mercado atual, que está aquecido e em busca de profissionais qualificados para carreiras que, ainda como júnior, já recebem melhor do que a maioria das profissões comuns atuais.

Para ilustrar isso, demos alguns exemplos: um analista de banco de dados ganha, em média, R$4.696, segundo a revista Love Mondays, mas esse salário pode variar para até R$10.294. Um cientista de dados ganha, em média, R$8.361, segundo pesquisa do Glassdoor. E, segundo essa outra pesquisa, o salário inicial de um desenvolvedor back-end está na faixa dos R$5.216; com isso, é notável que essas áreas promovem legítimas mudanças de vidas. Além disso, com bastante esforço, é possível migrar o seu trabalho para os Estados Unidos e passar a receber em dólar, fator esse que multiplicará os ganhos bastante rapidamente.

Com isso, nota-se que, por óbvio, os bancos de dados são parte integrante da vida da maioria dos programadores que almejam um maior destaque no mercado. Existem ainda outras profissões da área da TI, como o desenvolvimento front-end, que não necessariamente pedem o uso direto de banco de dados. No entanto, ainda assim é importante ter um conhecimento para entender o que se passa por debaixo dos panos em sua aplicação.

As diferenças entre as linguagens SQL

Conforme citado anteriormente, não existe tantas diferenças entre as linguagens que implementam o SQL. Vejamos alguns exemplos:

Esta é uma tabela mais ou menos padronizada de criação da conta de um usuário em PostgreSQL. Ela não segue as melhores práticas do desenvolvimento de banco de dados, mas já basta para o exemplo. Como você pode ver, usamos apenas alguns comandos bastante sintáticos: informamos ao banco que vamos criar uma tabela, lhe damos o nome e damos os parâmetros. Dizemos o nome de cada linha da tabela, o tipo de dados que ela comportará (que só pode ser um! A tipagem é forte), e depois adicionamos mais algumas constraints.

Agora, temos uma tabela mais ou menos parecida, sendo que feita em MySQL. Note que há algumas diferenças, mas várias semelhanças: criamos a tabela da mesma forma. No entanto, uma primeira diferença já salta aos olhos: o PostgreSQL demanda que, caso a sua linha ou sua tabela tenham nomes que devem estar em letras maiúsculas, então é preciso que elas estejam entre aspas. O MySQL, contudo, não tem essa requisição: basta digitar o nome.

Além disso, em MySQL, usamos mais o tipo VARCHAR(tamanho) para designar textos do que TEXT, dado que ele é mais eficiente em termos de memória. Alguns nomes de tipos às vezes mudam: em PostgreSQL, um tipo numérico é designado NUMBER; em MySQL, INT. Nota-se, por fim, que a PRIMARY KEY (isto é, a chave primária) em MySQL é definida ao final da criação da tabela, e não ao lado da linha que deve ser chave primária.

No entanto, no geral, é possível entender tudo e, caso você saiba programar apenas em PostgreSQL, seria possível criar tabelas em MySQL com pesquisas rápidas do Google. Felizmente, por serem linguagens declarativas, elas são bastante simples de se aprender e entender.

Então tudo é SQL?

Não, ainda assim, nem tudo é SQL. Existem outras soluções para bancos de dados que são chamadas de NoSQL, sigla para Not Only SQL, e que criam bancos de dados não-relacionais. Isso é: eles não são capazes de criar relacionamentos entre as tabelas, apenas armazenar informações. Esse é um dos maiores diferenciais do NoSQL para o SQL: as soluções NoSQL são menos poderosas, embora muito mais simplificadas, e, por isso, são ideais para bancos de aplicações mais simples ou que precisam apenas armazenar documentos e só.

Imaginemos, por exemplo, um banco de dados pessoal em que você precisa manter um backup dos seus arquivos e só. Esse seria um ótimo momento para usar alguma solução NoSQL! Basta que o seu banco armazene o seu arquivo, e nada mais é necessário; ele não tem relações com nenhum outro, no máximo será editado ou apagado. É nesses sentidos que o NoSQL se destaca em relação ao SQL comum: é muito mais simples, mas não deixa de ser eficiente.

Apesar de existir desde a década de 60, o NoSQL só atingiu destaque recentemente, com o big data e com aplicações web de tempo real, que não pedem por relações entre seus dados. Algumas são bastante famosas, como o MongoDB, DynamoDB, Cassandra, Redis e outros.

Conclusão

O conhecimento de banco de dados é importantíssimo para todo aquele que quer ser um bom programador. Mesmo que a sua área não use diretamente, saber como tudo funciona por debaixo dos panos é fundamental para um alto desempenho e para alcançar o destaque. Por isso, um conhecimento, ainda que básico, em SQL é algo importantíssimo para todos os programadores, indiscriminadamente; no entanto, para aqueles que seguirão carreira como desenvolvedores back-end, o domínio de ao menos uma dessas linguagens é fundamental.

Por isso, para ajudar os jovens a realizar o sonho da mudança de vida através da programação, a Driven Education abriu formações de desenvolvedores web full-stack que vêm empregando centenas de alunos há quase dois anos! Ao longo de nove meses de aulas, você estudará as mais novas tecnologias da programação para dominar o front e o back-end, tendo, também, domínio em linguagens SQL e NoSQL.

Essa é uma oportunidade imperdível para entrar no mercado amplamente aquecido que é o do desenvolvimento web. Normalmente, se pensa que a programação é o futuro, mas ela já é o presente e a realidade de milhares!

Faça sua pré-inscrição para a nossa formação e receba um aviso assim que nossas turmas estiverem abertas. Basta clicar nesse link!

Leave a Reply