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 |
Curiosidade: Lulu é minha gata
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.
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.
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
.
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
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>;
SELECT * FROM
Seleciona todos os dados de determinada tabela em determinado DB.
SELECT * FROM <banco de dados>.<tabela>;
SHOW TABLES
Retorna todas as tabelas iniciadas no servidor.
SHOW TABLES;
DESCRIBE
Visualiza a estrutura da tabela.
DESCRIBE <nome da tabela>;
CREATE DATABASE
Cria um novo banco de dados
CREATE DATABASE <nome do banco de dados>;
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.
Top comments (6)
Conteúdo muito bom Gabs, valeuuuu!
Valeuuu!!!
Parabéns cara, você consegue abstrair o assunto de uma maneira muito simples de entender.
Muitissimo obrigado!! É muito bom receber um feedback como esse e saber que os artigos estão realmente ajudando.
Sou da turma 17, e seus resumos ajudam muito! muito obrigado.
Fico muito feliz que os artigos tenham alcançado outras turmas, agradeço demais o feedback!