DEV Community

Gabriel_Silvestre
Gabriel_Silvestre

Posted on • Updated on

Introdução ao SQL

Tabela de Conteúdos


SQL

O que é?

É a linguagem oficial de todo o banco de dados Relacional, ela nos permite interagir com o banco, selecionando, excluindo, alterando e adicionando informações.

Estrutura

Todo banco de dados relacional tem sua estrutura baseada em tabelas, essas que são muito similares as tabelas do Excel. Porém em DB relacionais toda linha representa uma entidade e toda a coluna uma característica dessa entidade.

id nome idade
1 Gabriel 21
2 Lulu 1

sql table examplo

Curiosidade: Lulu é minha gata

Voltar ao topo


Constraints

O que são?

São restrições que podemos impor a determinadas colunas da tabela do DB.

O que fazem?

Definem restrições para as colunas, limitando as características de uma entidade.

Quais são?

Existem diversos tipos de constraints (restrições) que podemos aplicar as nossas colunas, algumas delas são:

  • NOT NULL: O campo com essa restrição nunca poderá ser nulo.

  • UNIQUE: Faz com que o valor inserido na coluna seja único, nunca poderá haver outro valor igual.

  • PRIMARY KEY: Garante com que a coluna seja usada como identificador único da tabela, também faz com que a coluna não possa receber valores nulos ou repetidos.

  • FOREIGN KEY: Faz referência a chave primária de outra tabela, permitindo assim o relacionamento entre entidades.

  • DEFAULT: Garante que um valor padrão seja definido, caso não passemos nenhum valor a coluna.

Voltar ao topo


Entidade

O que é?

É a representação de algo do mundo real dentro de nosso banco de dados, sendo que cada entidade possui suas próprias características (colunas), podendo ser individuais ou compartilhadas.

Exemplo

Vamos imaginar que tenhamos uma tabela de carros, onde cada carro é uma entidade (linha) e suas características (colunas) são cor, ano, modelo e marca.

Neste exemplo diversas informações podem se repetir, logo podemos criar tabelas separadas para armazenar esses dados e relacioná-los a partir das FOREIGN KEYs.

*Obs: Não iremos abordar aqui quando as características de um entidade podem ser subdivididas em outras tabelas, esse conteúdo está no artigo de Normalização de Tabelas.

Voltar ao topo


Vinculando Dados

O que é?

É um relacionamento entre entidades de diferentes tabelas, dentro de um mesmo banco de dados.

Tipos de Relacionamento

Um para Um 1:1

Uma linha (entidade) da Tabela A só deve corresponder a uma linha (entidade) da Tabela B.

Um para Muitos 1:N

Uma linha (entidade) da Tabela A pode corresponder a diversas linhas (entidades) na Tabela B.

Muitos para Um N:1

Diversas linhas (entidades) da Tabela A podem corresponder a uma única linha (entidade) na Tabela B.

Muitos para Muitos N:N

Diversas linhas (entidades) da Tabela A podem corresponder a diversas linhas (entidades) na Tabela B.

A forma mais comum é quando temos diversas ligações Um para Um 1:1:1.

Voltar ao topo


MySQL - Linha de Comando

O que é?

É a ferramenta via linha de comando para a utilização do MySQL dentro do terminal.

Como fazer?

Para termos acesso ao banco de dados via terminal, primeiro precisamos logar, podemos nos autenticar através do usuário root ou qualquer outro usuário previamente cadastrado.

mysql -u root -p
mysql -u <usuário> -p
Enter fullscreen mode Exit fullscreen mode

Comandos

Após termos nos autenticado, fomos redirecionados para dentro do terminal do MySQL.

Para utilizar os comandos aqui precisamos utilizar as palavras chaves em caixa alta e fechar cada comando com ponto e vírgula ;.

  • USE

Serve para referenciar o DB que será utilizados por todas as queries a partir desse ponto.

USE <banco de dados a ser conectado>;
Enter fullscreen mode Exit fullscreen mode
  • SELECT * FROM

Seleciona todos os dados de determinada tabela em determinado DB.

SELECT * FROM <banco de dados>.<tabela>;
Enter fullscreen mode Exit fullscreen mode
  • SHOW TABLES

Retorna todas as tabelas iniciadas no servidor.

SHOW TABLES;
Enter fullscreen mode Exit fullscreen mode
  • DESCRIBE

Visualiza a estrutura da tabela.

DESCRIBE <nome da tabela>;
Enter fullscreen mode Exit fullscreen mode
  • CREATE DATABASE

Cria um novo banco de dados

CREATE DATABASE <nome do banco de dados>;
Enter fullscreen mode Exit fullscreen mode

Observação

Apesar de ser possível interagir com DB a partir do terminal, essa prática não é nem um pouco recomendada, o melhor a se fazer é utilizar alguma interface gráfica, seja uma IDE ou uma extensão do VsCode.

Voltar ao topo


Links Úteis

Voltar ao topo

Top comments (6)

Collapse
 
jonataspassos96 profile image
Jonatas Passos

Conteúdo muito bom Gabs, valeuuuu!

Collapse
 
gabrielhsilvestre profile image
Gabriel_Silvestre

Valeuuu!!!

Collapse
 
orlandodantas profile image
Orlando Dantas

Parabéns cara, você consegue abstrair o assunto de uma maneira muito simples de entender.

Collapse
 
gabrielhsilvestre profile image
Gabriel_Silvestre

Muitissimo obrigado!! É muito bom receber um feedback como esse e saber que os artigos estão realmente ajudando.

Collapse
 
airamtoscano profile image
Airam Toscano

Sou da turma 17, e seus resumos ajudam muito! muito obrigado.

Collapse
 
gabrielhsilvestre profile image
Gabriel_Silvestre

Fico muito feliz que os artigos tenham alcançado outras turmas, agradeço demais o feedback!