Olá! Hoje, abordarei o SQL, demonstrando sua aplicação prática com um exemplo real. Atualmente, é essencial para um desenvolvedor compreender os fundamentos do SQL. Mais do que apenas entender os comandos, é crucial saber como eles se aplicam em cenários do dia a dia de um banco de dados. Portanto, explorarei desde comandos essenciais até conceitos mais avançados, necessários para gerenciar um banco de dados de maneira eficiente.
Requisitos
- MySQL
- MYSQL Workbench
Não é obrigátorio instalar o Workbench. Eu utilizo o Azure Data Studio com uma imagem do MYSQL rodando em um container docker, Fica ai a sugestão.
Arquivos utilizados para criar os posts
Vamos praticar!
Código
Primeiro começaremos com a criação do banco de dados
Este comando cria um novo banco de dados chamado ESTOQUE
Agora precisamos selecionar o banco ESTOQUE
como o banco de dados ativo para os próximos comandos SQL
Com isso já podemos inserir as tabelas específicas no banco de dados
Vamos criar a primeira tabela
Nesta tabela:
- Criamos a tabela com o nome
tb_categoria
- Indicamos que
id
será a chave primaria da tabela - O
id
é não nulo e se auto incrementa a cada objeto - O nome da
categoria
é do tipo varchar(50) e não nulo
Agora criaremos as próximas tabelas que são parecidas com a primeira
Tabela Cidade
Tabela Fornecedor
Opa, parece que tem um conceito novo na tabela. Temos na tabela Fornecedor
um id_cidade
e o comando foreign key(id_cidade) references tb_cidade(id)
mas o que isso quer dizer?
O FOREIGN KEY
mais conhecido como chave estrangeira, são chaves que estabelecem uma relação de dependência entre as tabelas. Por exemplo id_cidade
na tabela tb_fornecedor
é uma chave estrangeira que referencia o id
na tabela tb_cidade
, indicando qual cidade o fornecedor pertence.
Esse é um relacionamento de um para muitos, onde, uma cidade possui muitos fornecedores.
- Diagrama de exemplo:
Tabela Produto
A tabela produto possui duas chaves estrangeiras
- Um fornecedor possui muitos produtos
- Uma categoria possui muitos produtos
Tabela Loja
A tabela loja possui uma chave estrangeira
- Uma cidade possui muitas lojas
Tabela Transportadora
A tabela transportadora possui uma chave estrangeira
- Uma cidade possui muitas transportadoras
Tabela Entrada
A tabela entrada possui uma chave enstrangeira
- Uma transportadora possui muitas entradas
Tabela Item Entrada
A tabela item entrada possui duas chaves entrangeiras
- Uma entrada possui muitos item entrada
- Um produto possui muitos item entrada
Tabela Saida
A tabela saída possui duas chaves estrangeiras
- Uma transportadora possui muitas saídas
- Uma loja possui muitas saídas
Tabela Item Saida
Na tabela item saída possui duas chaves estrangeiras
- Um produto possui muitas saídas
- Uma saída possui muitos item saída
Essas são as tabelas do banco de dados ESTOQUE
. Algumas delas estão relacionadas entre si por meio de chaves estrangeiras, sendo uma representação das relações do mundo real no banco de dados.
Abaixo será explicado alguns conceitos importantes
Tirando dúvidas
O que é PRIMARY KEY
?
- Cada tabela tem um campo
id
que é definido como chave primária, o que significa que cada registro nessa tabela pode ser unicamente identificado por esse identificadorid
.
Para que serve o not null
?
- O
not null
é utilizado para tornar o campo assinado obrigátorio.
E o auto_increment
?
- Serve para incrementar automaticamente um id único para cada registro, começa pelo valor 1 e vai incrementando de um em um para cada novo registro.
Como funciona o VARCHAR(50)
?
- Quando um campo é definido como
VARCHAR
está dizendo que esse campo pode armazenar strings com até 50 caracteres.
Quando usar VARCHAR
e CHAR
?
VARCHAR
pode ser utilizado para dados de comprimento variável eCHAR
para dados de comprimento fixo. Por exemplo o CEP que possui o comprimento fixo de 8 números.
Conclusão
Este é um guia básico de SQL na prática. Explore mais fontes para aprofundar seu conhecimento, já que alguns tópicos não foram cobertos aqui. No próximo post, abordarei operações como inserir, atualizar, deletar e modificar dados nas tabelas.