Criando Procedimentos Armazenados para Recuperação de Dados de Cursos

SQLBeginner
Pratique Agora

Introdução

Neste projeto, você aprenderá como criar um procedimento armazenado (stored procedure) em MySQL para recuperar cursos com créditos maiores que 3. Este projeto o ajudará a entender os fundamentos de como trabalhar com procedimentos armazenados em um sistema de gerenciamento de banco de dados.

👀 Visualização

MariaDB [edusys]> CALL getCourses();
+-----------+----------------------------+------------+---------+
| course_id | title                      | dept_name  | credits |
+-----------+----------------------------+------------+---------+
| BIO-101   | Intro. to Biology          | Biology    |       4 |
| BIO-301   | Genetics                   | Biology    |       4 |
| CS-101    | Intro. to Computer Science | Comp. Sci. |       4 |
| CS-190    | Game Design                | Comp. Sci. |       4 |
| PHY-101   | Physical Principles        | Physics    |       4 |
+-----------+----------------------------+------------+---------+
5 rows in set (0.000 sec)

🎯 Tarefas

Neste projeto, você aprenderá:

  • Como acessar o MySQL usando o comando sudo sem uma senha
  • Como importar dados para o banco de dados MySQL
  • Como criar um procedimento armazenado para recuperar dados específicos de uma tabela
  • Como testar o procedimento armazenado para garantir que ele está funcionando conforme o esperado

🏆 Conquistas

Após concluir este projeto, você será capaz de:

  • Entender o propósito e os benefícios de usar procedimentos armazenados em um banco de dados
  • Criar seus próprios procedimentos armazenados para realizar tarefas específicas de recuperação de dados
  • Solucionar problemas e testar procedimentos armazenados para garantir que eles estão funcionando corretamente
  • Aplicar o conhecimento adquirido neste projeto para construir aplicações mais complexas baseadas em banco de dados

Acessar o MySQL e Importar o Banco de Dados

Nesta etapa, você aprenderá como acessar o MySQL usando o comando sudo sem nenhuma senha e importar os dados de /home/labex/project/edusys.sql para o MySQL.

  1. Inicie o serviço MySQL:
sudo service mysql start
  1. Acesse o MySQL usando o comando sudo:
sudo mysql
  1. Importe os dados de /home/labex/project/edusys.sql para o MySQL e mude para o banco de dados edusys:
MariaDB [None]> SOURCE /home/labex/project/edusys.sql;

Criar o Procedimento Armazenado getCourses

Nesta etapa, você criará um procedimento armazenado chamado getCourses que recupera cursos da tabela course onde o valor do campo credits é maior que 3.

  1. Abra o arquivo getCourses.sql.
  2. Adicione o seguinte código ao arquivo getCourses.sql:
-- Criando o procedimento armazenado getCourses
DELIMITER //

CREATE PROCEDURE getCourses()
BEGIN
-- Recupera cursos da tabela course onde o campo credits é maior que 3
SELECT course_id, title, dept_name, credits
FROM course
WHERE credits > 3;
END //

DELIMITER ;
  1. Salve e saia do arquivo.

Testar o Procedimento Armazenado getCourses

Nesta etapa, você testará o procedimento armazenado getCourses para garantir que ele esteja funcionando conforme o esperado.

  1. Execute o script getCourses.sql no MySQL:
MariaDB [edusys]> SOURCE /home/labex/project/getCourses.sql;
  1. Chame o procedimento armazenado getCourses:
MariaDB [edusys]> CALL getCourses();
+-----------+----------------------------+------------+---------+
| course_id | title                      | dept_name  | credits |
+-----------+----------------------------+------------+---------+
| BIO-101   | Intro. to Biology          | Biology    |       4 |
| BIO-301   | Genetics                   | Biology    |       4 |
| CS-101    | Intro. to Computer Science | Comp. Sci. |       4 |
| CS-190    | Game Design                | Comp. Sci. |       4 |
| PHY-101   | Physical Principles        | Physics    |       4 |
+-----------+----------------------------+------------+---------+
5 rows in set (0.000 sec)

A saída mostra que o procedimento armazenado getCourses está funcionando conforme o esperado, recuperando todos os cursos com créditos maiores que 3.

Resumo

Parabéns! Você concluiu este projeto. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.

✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar