MySQL
Neste módulo, os estagiários aprenderão os fundamentos do MySQL e como trabalhar com bancos de dados e tabelas.
Aulas
Aula Curso em Vídeo
Aula Otávio Miranda
Curso de SQL com MySQL (Completo)
Desafios
Desafio 1: Introdução ao MySQL
Objetivo: Aprender os conceitos básicos do MySQL, seu histórico, características e arquitetura.
Tópicos a serem abordados:
- História do MySQL
- Características do MySQL
- Arquitetura do MySQL
- Tipos de armazenamento
- Instalação e configuração básica
Atividades propostas:
Pesquise sobre a história do MySQL, como e quando ele foi criado, e quais são suas principais versões.
Entenda as características do MySQL, como:
- Suporte a SQL (Structured Query Language)
- Suporte a ACID (Atomicidade, Consistência, Isolamento e Durabilidade)
- Suporte a múltiplos sistemas operacionais (Linux, Windows, macOS, etc.)
- Suporte a múltiplos tipos de armazenamento
- Suporte a várias linguagens de programação (PHP, Python, Java, etc.)
- Suporte a mecanismos de armazenamento pluggable
Aprenda sobre a arquitetura do MySQL, incluindo:
- Servidor MySQL
- Mecanismos de armazenamento (InnoDB, MyISAM, etc.)
- APIs de comunicação
- Ferramentas e utilitários
Explore os diferentes tipos de armazenamento disponíveis no MySQL e suas características, como InnoDB, MyISAM, MEMORY, etc.
Instale o MySQL no seu computador seguindo as instruções fornecidas na documentação oficial: https://dev.mysql.com/doc/refman/8.0/en/installing.html
Ao concluir este desafio, o estagiário terá aprendido os fundamentos do MySQL, incluindo seu histórico, características e arquitetura, o que o ajudará a entender como o MySQL funciona e como utilizá-lo de maneira eficaz em projetos futuros.
Desafio 2: Instalação e configuração do MySQL
Objetivo: Instalar o MySQL no seu computador e configurá-lo corretamente, incluindo a criação de um usuário e a definição de permissões.
Tópicos a serem abordados:
- Instalação do MySQL
- Configuração inicial do MySQL
- Criação de usuários e gerenciamento de permissões
Atividades propostas:
Instale o MySQL no seu computador seguindo as instruções fornecidas na documentação oficial: https://dev.mysql.com/doc/refman/8.0/en/installing.html
- Certifique-se de escolher a versão correta para o seu sistema operacional.
- Siga as etapas de instalação e configuração conforme descrito na documentação.
Após a instalação, realize a configuração inicial do MySQL:
- Inicie o servidor MySQL.
- Conecte-se ao servidor MySQL usando a conta 'root'.
- Configure a senha do usuário 'root' e anote-a para referência futura.
- Execute o comando
SHOW DATABASES;
para verificar se o servidor MySQL está funcionando corretamente e exibindo os bancos de dados padrão.
Crie um novo usuário no MySQL e defina permissões apropriadas:
- Crie um novo usuário com um nome de usuário e senha de sua escolha.
- Atribua permissões apropriadas a esse usuário para que ele possa criar, modificar e excluir bancos de dados e tabelas.
- Verifique se o novo usuário pode se conectar ao servidor MySQL e realizar operações nos bancos de dados e tabelas.
Ao concluir este desafio, o estagiário terá instalado e configurado com sucesso o MySQL em seu computador, incluindo a criação de um usuário e a definição de permissões. Isso proporcionará uma base sólida para aprender e praticar consultas e operações do MySQL em projetos futuros.
Desafio 3: Comandos básicos do MySQL
Objetivo: Praticar comandos básicos do MySQL, como CREATE
, SELECT
, INSERT
, UPDATE
e DELETE
, para criar e manipular dados em tabelas.
Tópicos a serem abordados:
- Criação de banco de dados e tabelas
- Inserção de dados em tabelas
- Consulta de dados em tabelas
- Atualização de dados em tabelas
- Exclusão de dados em tabelas
Atividades propostas:
Crie um novo banco de dados chamado
my_database
e conecte-se a ele.Dentro do banco de dados
my_database
, crie uma tabela chamadausers
com as seguintes colunas:id
(int, auto_increment, primary key)name
(varchar(255))email
(varchar(255))age
(int)
Insira alguns registros na tabela
users
com diferentes valores dename
,email
eage
.Use o comando
SELECT
para consultar todos os registros da tabelausers
e exibir suas informações.Atualize um registro da tabela
users
alterando o valor da colunaname
.Exclua um registro da tabela
users
.Consulte novamente a tabela
users
para verificar se as alterações feitas nos passos 5 e 6 foram aplicadas corretamente.
Ao concluir este desafio, o estagiário terá praticado comandos básicos do MySQL para criar e manipular dados em tabelas. Isso proporcionará uma compreensão básica de como o MySQL funciona e ajudará a desenvolver habilidades para trabalhar com bancos de dados em projetos futuros.
TODO - Parei aqui as descrições dos desafios
Desafio 4: Consultas e filtros no MySQL
Objetivo: Aprenda a realizar consultas mais complexas e aplicar filtros, como WHERE
, ORDER BY
e GROUP BY
, para recuperar dados específicos.
Tópicos a serem abordados:
- Consulta de dados com condições usando
WHERE
- Ordenação de resultados com
ORDER BY
- Agrupamento de resultados com
GROUP BY
- Utilização de funções agregadas, como
COUNT
,SUM
,AVG
,MIN
eMAX
Atividades propostas:
Crie uma tabela chamada
orders
no banco de dadosmy_database
com as seguintes colunas:id
(int, auto_increment, primary key)user_id
(int, foreign key referenciando a tabelausers
)product
(varchar(255))price
(decimal(10, 2))quantity
(int)
Insira alguns registros na tabela
orders
com diferentes valores deuser_id
,product
,price
equantity
.Use o comando
SELECT
com a cláusulaWHERE
para consultar todos os registros da tabelaorders
onde a colunaprice
é maior que um valor específico.Ordene os registros recuperados no passo 3 por
price
em ordem decrescente usando a cláusulaORDER BY
.Use o comando
SELECT
com a cláusulaGROUP BY
para agrupar os registros da tabelaorders
poruser_id
.Calcule o total de pedidos por usuário usando a função agregada
COUNT
e o total gasto por usuário usando a função agregadaSUM
.Calcule o preço médio, mínimo e máximo dos produtos na tabela
orders
usando funções agregadasAVG
,MIN
eMAX
.
Ao concluir este desafio, o estagiário terá praticado consultas mais complexas e aplicado filtros para recuperar dados específicos do MySQL. Isso ajudará a desenvolver habilidades mais avançadas para trabalhar com bancos de dados em projetos futuros.
Desafio 5: Chaves e relacionamentos no MySQL
Objetivo: Entenda o conceito de chaves primárias e estrangeiras e como criar relacionamentos entre tabelas no MySQL.
Tópicos a serem abordados:
- Chaves primárias (PRIMARY KEY)
- Chaves estrangeiras (FOREIGN KEY)
- Criação de relacionamentos entre tabelas
Atividades propostas:
Crie um banco de dados chamado
library
.Crie uma tabela chamada
authors
no banco de dadoslibrary
com as seguintes colunas:id
(int, auto_increment, primary key)name
(varchar(255))birthdate
(date)
Insira alguns registros na tabela
authors
com diferentes nomes e datas de nascimento.Crie uma tabela chamada
books
no banco de dadoslibrary
com as seguintes colunas:id
(int, auto_increment, primary key)title
(varchar(255))publication_date
(date)author_id
(int)
Adicione uma chave estrangeira à coluna
author_id
da tabelabooks
, referenciando a colunaid
da tabelaauthors
.Insira alguns registros na tabela
books
com diferentes títulos, datas de publicação e autores, relacionando-os com registros existentes na tabelaauthors
através da colunaauthor_id
.Use o comando
SELECT
com a cláusulaJOIN
para recuperar informações de livros e seus respectivos autores.
Ao concluir este desafio, o estagiário terá compreendido o conceito de chaves primárias e estrangeiras e como criar relacionamentos entre tabelas no MySQL. Esses conhecimentos são fundamentais para projetar e gerenciar bancos de dados relacionais de maneira eficiente.
Desafio 6: Normalização de dados
Objetivo: Aprenda sobre normalização de dados e aplique-a em um exemplo prático para melhorar a estrutura e a integridade dos dados em um banco de dados.
Tópicos a serem abordados:
- Conceito de normalização de dados
- Primeira Forma Normal (1NF)
- Segunda Forma Normal (2NF)
- Terceira Forma Normal (3NF)
Atividades propostas:
Crie um banco de dados chamado
company
.Crie uma tabela chamada
employees
no banco de dadoscompany
com as seguintes colunas:id
(int, auto_increment, primary key)first_name
(varchar(255))last_name
(varchar(255))department
(varchar(255))position
(varchar(255))salary
(float)
Insira alguns registros na tabela
employees
, representando diferentes funcionários com diferentes informações.Analise a estrutura da tabela
employees
e identifique possíveis problemas de normalização.Aplique a Primeira Forma Normal (1NF) à tabela
employees
:- Crie uma tabela chamada
departments
com as seguintes colunas:id
(int, auto_increment, primary key)name
(varchar(255))
- Remova a coluna
department
da tabelaemployees
e substitua-a por uma coluna chamadadepartment_id
(int). - Adicione uma chave estrangeira à coluna
department_id
da tabelaemployees
, referenciando a colunaid
da tabeladepartments
.
- Crie uma tabela chamada
Aplique a Segunda Forma Normal (2NF) à tabela
employees
:- Crie uma tabela chamada
positions
com as seguintes colunas:id
(int, auto_increment, primary key)name
(varchar(255))department_id
(int)
- Remova a coluna
position
da tabelaemployees
e substitua-a por uma coluna chamadaposition_id
(int). - Adicione uma chave estrangeira à coluna
position_id
da tabelaemployees
, referenciando a colunaid
da tabelapositions
.
- Crie uma tabela chamada
Aplique a Terceira Forma Normal (3NF) à tabela
employees
:- Crie uma tabela chamada
salaries
com as seguintes colunas:id
(int, auto_increment, primary key)amount
(float)position_id
(int)
- Remova a coluna
salary
da tabelaemployees
e substitua-a por uma coluna chamadasalary_id
(int). - Adicione uma chave estrangeira à coluna
salary_id
da tabelaemployees
, referenciando a colunaid
da tabelasalaries
.
- Crie uma tabela chamada
Verifique a estrutura do banco de dados após a aplicação das três formas normais e analise a integridade e organização dos dados.
Ao concluir este desafio, o estagiário terá aprendido sobre normalização de dados e como aplicá-la em um exemplo prático, melhorando a estrutura e a integridade dos dados em um banco de dados. Esses conhecimentos são fundamentais para projetar e