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_databasee conecte-se a ele.Dentro do banco de dados
my_database, crie uma tabela chamadauserscom as seguintes colunas:id(int, auto_increment, primary key)name(varchar(255))email(varchar(255))age(int)
Insira alguns registros na tabela
userscom diferentes valores dename,emaileage.Use o comando
SELECTpara consultar todos os registros da tabelauserse exibir suas informações.Atualize um registro da tabela
usersalterando o valor da colunaname.Exclua um registro da tabela
users.Consulte novamente a tabela
userspara 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,MINeMAX
Atividades propostas:
Crie uma tabela chamada
ordersno banco de dadosmy_databasecom 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
orderscom diferentes valores deuser_id,product,priceequantity.Use o comando
SELECTcom a cláusulaWHEREpara consultar todos os registros da tabelaordersonde a colunapriceé maior que um valor específico.Ordene os registros recuperados no passo 3 por
priceem ordem decrescente usando a cláusulaORDER BY.Use o comando
SELECTcom a cláusulaGROUP BYpara agrupar os registros da tabelaordersporuser_id.Calcule o total de pedidos por usuário usando a função agregada
COUNTe 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
ordersusando funções agregadasAVG,MINeMAX.
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
authorsno banco de dadoslibrarycom as seguintes colunas:id(int, auto_increment, primary key)name(varchar(255))birthdate(date)
Insira alguns registros na tabela
authorscom diferentes nomes e datas de nascimento.Crie uma tabela chamada
booksno banco de dadoslibrarycom as seguintes colunas:id(int, auto_increment, primary key)title(varchar(255))publication_date(date)author_id(int)
Adicione uma chave estrangeira à coluna
author_idda tabelabooks, referenciando a colunaidda tabelaauthors.Insira alguns registros na tabela
bookscom diferentes títulos, datas de publicação e autores, relacionando-os com registros existentes na tabelaauthorsatravés da colunaauthor_id.Use o comando
SELECTcom a cláusulaJOINpara 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
employeesno banco de dadoscompanycom 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
employeese identifique possíveis problemas de normalização.Aplique a Primeira Forma Normal (1NF) à tabela
employees:- Crie uma tabela chamada
departmentscom as seguintes colunas:id(int, auto_increment, primary key)name(varchar(255))
- Remova a coluna
departmentda tabelaemployeese substitua-a por uma coluna chamadadepartment_id(int). - Adicione uma chave estrangeira à coluna
department_idda tabelaemployees, referenciando a colunaidda tabeladepartments.
- Crie uma tabela chamada
Aplique a Segunda Forma Normal (2NF) à tabela
employees:- Crie uma tabela chamada
positionscom as seguintes colunas:id(int, auto_increment, primary key)name(varchar(255))department_id(int)
- Remova a coluna
positionda tabelaemployeese substitua-a por uma coluna chamadaposition_id(int). - Adicione uma chave estrangeira à coluna
position_idda tabelaemployees, referenciando a colunaidda tabelapositions.
- Crie uma tabela chamada
Aplique a Terceira Forma Normal (3NF) à tabela
employees:- Crie uma tabela chamada
salariescom as seguintes colunas:id(int, auto_increment, primary key)amount(float)position_id(int)
- Remova a coluna
salaryda tabelaemployeese substitua-a por uma coluna chamadasalary_id(int). - Adicione uma chave estrangeira à coluna
salary_idda tabelaemployees, referenciando a colunaidda 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