Como criar um banco de dados com MySQL
Apesar de parecer algo complexo, o banco de dados parte de um conceito muito simples que diversas pessoas usam em planilhas e tabelas para organizar informações sobre diversas entidades, uma vez que a função de um banco de dados é ser um lugar para guardar e controlar informações.
Agora, se um banco de dados é semelhante a uma planilha, qual a vantagem de utilizá-lo? Vamos te explicar neste artigo.
Benefícios de ter um banco de dados na empresa
A principal vantagem de usar um banco de dados é a confiabilidade da informação. Com o banco, podemos controlar o acesso, voltar o histórico do banco para versões anteriores, conectar tabelas, entre diversas outras funcionalidades.
Essas funcionalidades trazem várias vantagens para a empresa como aumentar a segurança dos dados ou aumentar a integridade de qualquer informação, por exemplo. Desse jeito, aplicar essa ferramenta no seu projeto gera alto valor para a aplicação como um produto.
Sabendo disso, antes de começar a criar um banco de dados, é importante entender o conceito de normalização de uma tabela. Vamos apresentar no próximo tópico.
Normalização do banco de dados
Existem diversos tipos de banco de dados. Neste exemplo, será criado um banco de dados relacional, que consiste em relacionar colunas entre tabelas. Cada linha possui um id específico e sua coluna pode ser ligada à uma coluna de outra tabela. Algo que ficará mais claro no exemplo a seguir:
As duas tabelas possuem uma coluna em comum: manager_id. Na tabela dos empregados essa coluna representa o gerente responsável por cada empregado, já na tabela managers a coluna manager_id é uma identificação para cada gerente.
Quando se é criado um banco de dados, respeitamos algumas regras da criação de tabelas. Uma tabela que segue essas regras é chamada de tabela normalizada.
As tabelas anteriores estão normalizadas, isso significa que não há redundância nos dados. O conceito de normalização possui vários níveis, porém, a fim de resumir o artigo não entraremos nos detalhes de cada tipo de normalização. As regras mais importantes são:
- As colunas não podem ter mais de uma informação. Por exemplo, caso estivesse guardando um número de telefone, seria contra as regras guardar dois números de telefone na mesma coluna.
- Cada tabela deve representar uma entidade e só deve ter informações essenciais para essa entidade. No exemplo anterior, seria possível colocar todas as informações em uma única tabela, mas isso estaria errado. Repare que a tabela dos gerentes só possui informações dos gerentes e dos empregados, somente as informações essenciais para cada empregado.
A palavra entidade usada anteriormente se refere a um conjunto de informações sobre determinado conceito. Por exemplo, podemos ter a entidade sabores que terá os sabores de chocolate, baunilha e morango ou podemos ter a entidade funcionário que possui um pagamento, um nome, uma idade, data de contrato.
Tendo isso em mente inicialmente, usando ainda a ideia da empresa e seguindo essas regras, faremos um banco de dados um pouco mais complexo:
Após estruturar a ideia do banco de dados fica bem mais fácil criar o código. Um banco de dados é composto por várias tabelas, no exemplo a seguir usaremos a tecnologia MySQL Workbench para criar o banco de dados como nas tabelas acima.
Caso queira seguir o exemplo recomendo que instale o software e siga o passo a passo a seguir.
No código a seguir, primeiro serão criadas as tabelas e em seguida serão inseridos os dados iniciais.
Ao executar esse código o banco de dados será criado, a partir desse momento será possível acessar os dados localmente. Além disso, teremos como usar tecnologias como Node.js, PHP e diversas outras para se comunicar com o banco.
Para melhor entendimento do código acima, ele será explicado em partes:
Essas primeiras linhas de código servem para deletar o banco de dados caso ele já exista e em seguida criar um novo do zero.
Nas próximas linhas temos a sintaxe padrão de criação de tabelas que seguem esse exemplo onde podemos inserir dados com restrições:
Na primeira tabela criada temos a coluna manager_id, uma “PRIMARY KEY” que será um número inteiro e será inserido automaticamente, a coluna name que tem um limite de 30 caracteres e não pode ser nulo e por último a coluna age que tem que ser um número inteiro e não pode ser nulo.
A ”PRIMARY KEY” citada anteriormente serve para identificar que aquela coluna é a que terá o ID de identificação.
A segunda tabela tem uma informação que referencia o dado de outra tabela e para isso usamos a FOREIGN KEY para identificar que o manager_id é da tabela managers.
Após a criação das tabelas com suas devidas restrições inserimos os dados com as seguintes linhas de código:
Como os dados inseridos respeitam as restrições, eles foram colocados na tabela com sucesso e podem ser visualizados no MySQL Workbench.
Esse modelo pode ser reproduzido para diversos banco de dados com informações diversas e a maior vantagem de ter o banco é que podemos usar a linguagem para analisar os dados inseridos de maneiras diferentes das tabelas criadas.
Primeiros comandos no MySQL
Com o banco criado podemos fazer diversas análises de dados, sendo possível selecionar determinadas informações como por exemplo:
No código acima contamos a quantidade de recepcionistas na tabela de employees_info. Ao rodar esse comando no MySQL teremos o retorno de uma tabela assim:
Também podemos fazer comando mais complexos, como por exemplo, pegar os nomes dos cuidadores e juntar com os nomes dos animais que são responsáveis:
No exemplo anterior primeiro damos um apelido para a tabela CompanieDatabase.managers de managers. Desta maneira, podemos selecionar sua coluna pelo apelido, como na primeira linha que pegamos a coluna name pelo managers.name. Na mesma linha selecionamos o nome do escritório, que vem de outra tabela.
Já os comandos JOIN e ON estão ligados, ou seja, o JOIN só juntará os dados das tabelas onde o manager_id das duas tabelas for igual. Sendo assim, executar o comando acima no MySQL resultará em um retorno onde teremos o nome do cuidador e ao lado o nome da espécie que ele é responsável:
Ao entender esses conceitos podemos expandir nosso banco de dados e começar a agregar valor a nossas informações guardadas.
Além dos comandos que foram utilizados existem diversas outras funcionalidades que não utilizamos. Assim como as outras linguagens, no SQL podemos usar condicionais, estruturas de repetição e até mesmo funções. Ir a fundo nesse tema irá aumentar muito o seu nível de controle de dados. Para entender mais sobre esses comandos recomendo ler a documentação.
Conclusão
Qualquer empresa que trabalhe com algum tipo de informação importante pode se beneficiar do banco de dados. Após usar e se aprofundar nos comando do MySQL fica visível que a tecnologia traz mais segurança para a sua aplicação e mais confiabilidade aos dados, facilitando a manutenção da informação, possibilitando uma análise de dados mais profunda e também permitindo que diferentes setores das empresas usem os dados de maneiras diferentes.
Além de todas essas ferramentas que o MySQL traz, uma das maiores vantagens da tecnologia é ser de fácil escalabilidade, já que o banco de dados pode ser populado e editado de maneira muito mais precisa do que em uma simples planilha no Excel.
Aprender a usar esse software para se comunicar com a aplicação é muito importante para um desenvolvedor backend e dominar essa linguagem pode aumentar muito o nível do seu projeto.
A Revelo Content Network acolhe todas as raças, etnias, nacionalidades, credos, gêneros, orientações, pontos de vista e ideologias, desde que promovam diversidade, equidade, inclusão e crescimento na carreira dos profissionais de tecnologia.