Série SQL – Episódio 1
O que é um banco de dados?
Esse é o primeiro conceito que devemos aprender quando queremos falar sobre SQL. Obviamente se você se interessou por esse curso você já deve ter uma noção do que é um banco de dados, para que que eles servem e quando devemos utilizá-los. Mas conceituando banco de dados temos:
“Banco de dados é uma coleção organizada de informação estruturada, ou dados, tipicamente guardados em um sistema digital.”
Quando falamos de coleção, falamos de vários tipos de informações, vamos dar um exemplo pra ficar mais fácil.
Quando você vai no supermercado você pega um papel e escreve preciso comprar isso, aquilo, aquilo outro e isso também. Uma lista de compras.
Mas depois você lembra, ok mas e a quantidade, aí você adiciona nessa lista uma quantidade e também a marca do produto que você costuma comprar.
Depois que você adicionou essa informação você já não tem uma lista e sim uma tabela de compras, com linhas e colunas. E a informação está bem organizada. E você sai contente e feliz para o supermercado pra fazer compras. Aqui está a grande jogada e a grande diferença de uma simples tabela para um banco de dados, você chega no supermercado e antes de entrar, um funcionário chega até você e te entrega um papel e diz: “Estamos com uma organização diferente aqui no supermercado agora, estamos te dando essa tabela para saber onde fica cada produto e assim facilita a sua visita, além de você não perder tanto tempo.”
E para o seu espanto tudo o que você precisa está nessa tabela, e o que você começa a fazer, cruzar as informações da sua tabela que fizera em casa com a tabela que te foi dada no supermercado. Isso é um exemplo simples de um começo de um banco de dados, onde você conseguirá extrair de uma forma organizada a informação que você gostaria para um determinado fim.
Você consegue consultar a informação pois certamente é um mercado pequeno, mas imagina se fosse um hipermercado, e ao invés do funcionário te desse uma folha com uma tabela ele te desse umas 500 folhas com os milhares de produtos que eles vendem, não conseguiria em pouco tempo fazer as suas compras, por isso que geralmente um banco de dados está em um computador e por isso que utilizaremos SQL para consultar a informação e você verá como será fácil e simples extrair dados mesmo de um banco de dados muito grande.
Banco de dados relacional
É importante entender que o banco de dados que utiliza SQL, geralmente trabalha com um banco de dados relacional, o que é isso? É que existem tabelas e relações entre elas, como no nosso exemplo do supermercado, temos uma tabela de produtos desejados por nós e uma tabela de produtos do mercado, nós relacionamos as duas e encontrarmos a informação que queremos. Geralmente não temos informação duplicada e cada informação está em sua respectiva tabela.
DBMS (Database Management System)
Um DBMS, Database Management System é um programa de computador que permite a você definir, manter e controlar o banco de dados. Existem inúmeros DBMS, de diferentes empresas, com diferentes propósitos, gratuito ou pago, pesado ou mais leve. O importante é que o SQL estará presente na maioria deles e com isso não importa qual você irá trabalhar, mas sim o domínio do SQL. Nessa série iremos estar utilizando o MySQL, um dos mais conhecidos banco de dados relacional que existe. Ele é simples e iremos instalar no nosso computador, onde teremos um ambiente para executar os nossos comandos SQL.
Na verdade, iremos instalar dois programas no nosso computador, o DBMS que chamamos de banco de dados servidor e uma programa cliente que servirá de interface entre o servidor de banco de dados e você para te possibilitar escrever os comandos SQL e consultar os objetos do banco de dados. Existem uns mais completos do que outros, com mais funcionalidades, mas a funcionalidade principal é que ele possibilite você a escrever os seus comandos, executar e ver o resultado.
Iremos utilizar o Mysql Workbench que além de ajudar a escrever o SQL, teremos outras funcionalidades mais avançadas que iremos explorar mais adiante nesta série.
CRUD (Create, Read, Update, Delete)
CRUD significa create, criar, read, ler, update, atualizar e delete, eliminar. São as operações principais que acontecem num banco de dados.
Quando deseja criar algo deverá utilizar no SQL um: CREATE.
Quando desejar ler informações no SQL irá utilizar: SELECT.
Para atualizar informações irá utilizar: UPDATE.
E para eliminar informações irá utilizar: DELETE.
Essa sigla “CRUD” você irá encontrar em vários sites e na documentação do próprio banco de dados além de ser muito comum entre pessoas e conversas na área de tecnologia.
Especialista na área de banco de dados (DBA)
Bom, agora que você já sabe o que é um banco de dados a grosso modo, pra que ele serve e quando iremos utilizar, com certeza você notou que se você tiver um banco de dados grande, vai dar trabalho para gerir, não só extrair a informação, mas primeiramente instalar o banco de dados em um servidor, um computador onde estará em sua rede local ou na internet, criar a estrutura do banco de dados, tabelas e os seus relacionamentos, para não ter informação duplicada, inserir os dados, extrair os dados, otimizar para o banco de dados com muita informação não ficar lento e também fazer backups da informação, além de outras coisas que um banco de dados requer. Como falamos, isso é um trabalho para uma pessoa e às vezes mais que uma, uma equipa para cuidar do banco de dados ou de vários banco de dados de uma empresa ou de diversos clientes, aí que se enquadra o que chamamos de DBA(Database Administrator). Se você gostaria de seguir e gosta dessa organização de dados e gestão de dados, esse é o caminho a seguir, com certeza você terá lugar no mercado e não se resume somente nessas tarefas que citei mas sim em um trabalho desafiador e que requer estudo e dedicação. Mas nada que você não consiga fazer.
Soft Skills
Agora existe outra utilidade que todo esse entendimento de banco de dados, e principalmente de SQL vai nos dar. Se você trabalha com programação, ou está pensando em ser um programador, frontend, backend, ou até mesmo um design, ou trabalhar com arquitetura ou até mesmo engenheiro de informática, vai precisar disso como Soft Skill, ou seja, você poderá nunca precisar de instalar um banco de dados em um servidor, nunca precisará otimizar uma consulta complexa no banco de dados, mas você precisa entender minimamente o modelo do banco de dados que você irá trabalhar, como as tabelas estão relacionadas e dominar o SQL para fazer suas consultas e fazer o seu programa interagir com o banco de dados. Sendo um desses profissionais você precisará não só de SQL como soft skill mais de outras e isso irá te ajudar a ser um profissional mais completo, além de ter uma opinião mais acertada pois você irá compreender como as coisas funcionam e se encaixam. A minha dica é sim que você aprenda, mesmo que isso não seja a sua área de interesse final, mas um bom desenvolvedor ou programador é sempre bom ter conhecimento de redes, banco de dados, integração, testes, automação. Vejo que muita das vezes os programadores ficam concentrados somente no código e não ampliam a sua visão, isso é um erro e que depois poderá deixar você com mínimas tarefas e certamente você ficará aborrecido com o trabalho sempre sendo o mesmo.