Você está na página 1de 6

LISTA DE EXERCÍCIOS 02

Natureza da Avaliação Disciplina: Laboratório de Banco de Dados

Exercícios Prof.ª Freise Andrade


Aluno: Emily Caroline Pereira Martins

Banco de Dados:

Exercícios:

Consultas SQL Básicas:

1. Elabore uma consulta SQL que exiba os nomes e sobrenomes dos funcioná rios,
utilizando a tabela de funcioná rios (employees). Na sua consulta, você deve renomear a
coluna first_name para Nome e a coluna last_name para Sobrenome, utilizando alias
para essas colunas.
“use atividade_02;
select FIRST_NAME as Nome , LAST_NAME as Sobrenome from employees;”

2. Elabore uma consulta SQL que selecione e exiba os identificadores ú nicos de


departamentos (department_id) presentes na tabela de funcioná rios (employees). A
consulta deve assegurar que cada ID de departamento seja listado uma ú nica vez.

use atividade_02;
“select distinct emp.DEPARTMENT_ID from employees emp inner join departments
dep on emp.DEPARTMENT_ID = dep.DEPARTMENT_ID;”

3. Crie uma consulta SQL para recuperar todos os registros de funcioná rios da tabela
employees. Sua consulta deve organizar os resultados em ordem decrescente, com base
nos primeiros nomes dos funcioná rios (first_name). Isso significa que os nomes devem
ser listados começando pelo fim do alfabeto (por exemplo, de 'Z' para 'A').
use atividade_02;
select emp.FIRST_NAME from employees emp ORDER BY emp.FIRST_NAME DESC;

Consultas Usando INNER JOIN

4. Consulta de Dados de Funcionários e Departamentos


Desenvolva uma consulta SQL para recuperar os primeiros e ú ltimos nomes
(first_name, last_name), o ID do departamento (department_id), e o nome do
departamento (department_name) para todos os funcioná rios. Realize um INNER JOIN
entre as tabelas employees e departments para associar cada funcioná rio ao seu
respectivo departamento.
use atividade_02;
select emp.FIRST_NAME, emp.LAST_NAME, dep.DEPARTMENT_NAME,
dep.DEPARTMENT_ID from employees emp
inner join departments dep on emp.DEPARTMENT_ID = dep.DEPARTMENT_ID;
;

5. Funcionários que Trabalham em Londres


Crie uma consulta SQL para listar os primeiros e ú ltimos nomes (first_name,
last_name), ID do emprego (job_id), ID do departamento (department_id), e o nome
do departamento (department_name) de todos os funcioná rios localizados em
Londres. Utilize JOIN para conectar as tabelas employees, departments, e locations,
filtrando por aqueles cuja cidade (city) é 'London'.

use atividade_02;
select emp.FIRST_NAME, emp.job_id, emp.LAST_NAME, dep.DEPARTMENT_NAME,
dep.DEPARTMENT_ID from employees emp
inner join departments dep on emp.DEPARTMENT_ID = dep.DEPARTMENT_ID
LEFT join locations l on dep.LOCATION_ID = l.LOCATION_ID
LEFT join countries c on l.COUNTRY_ID = c.COUNTRY_ID
where c.COUNTRY_NAME = 'LONDON'
;

6. Relação Funcionário-Gerente
Elabore uma consulta SQL para identificar o ID (employee_id) e o ú ltimo nome
(last_name) de cada funcioná rio, junto com o ID e ú ltimo nome do seu gerente direto.
Use um JOIN entre duas instâ ncias da tabela employees para estabelecer a relaçã o
entre funcioná rio e gerente.

use atividade_02;
select emp.LAST_NAME, emp.MANAGER_ID FROM employees emp
INNER join employees emp2 on emp.MANAGER_ID = emp2.MANAGER_ID
GROUP BY emp.EMPLOYEE_ID
;

7. Detalhes dos Departamentos e seus Gerentes


Construa uma consulta SQL para listar o ID (department_id) e o nome
(department_name) de cada departamento, além do ID do gerente (manager_id) e o
primeiro nome (first_name) do gerente de cada departamento. Realize um INNER JOIN
entre as tabelas departments e employees para associar cada departamento ao seu
gerente.

use atividade_02;
select emp.FIRST_NAME, emp.MANAGER_ID, dep.DEPARTMENT_ID,
dep.DEPARTMENT_NAME FROM departments dep
INNER join employees emp on dep.MANAGER_ID = emp.MANAGER_ID

8. Departamento, Gerente e Cidade


Desenvolva uma consulta SQL que mostre o nome do departamento
(department_name), o primeiro nome do gerente (first_name), e a cidade (city).
Utilize JOIN para interligar as tabelas departments, employees, e locations, para
reunir as informaçõ es necessá rias. use atividade_02;
select dep.DEPARTMENT_NAME, dep.DEPARTMENT_ID, dep.MANAGER_ID,
emp.FIRST_NAME from departments dep
inner join employees emp on dep.MANAGER_ID = emp.MANAGER_ID

9. Cargo e Salário Médio dos Funcionários


Elabore uma consulta SQL para exibir o título do cargo (job_title) e o salá rio médio
(salary) dos funcioná rios para cada cargo. Agrupe os resultados pelo título do cargo e
utilize a funçã o AVG para calcular o salá rio médio.
use atividade_02;
select job.JOB_TITLE, avg(emp.SALARY) from employees emp
inner join jobs job on emp.JOB_ID = job.JOB_ID
GROUP BY job.JOB_TITLE;

;
10. Histórico de Trabalho de Funcionários com Alto Salário
Crie uma consulta SQL para listar todas as entradas no histó rico de trabalho
(job_history) de funcioná rios que recebem mais de 10000 de salá rio. Junte as tabelas
job_history e employees, filtrando por aqueles com salá rio superior a 10000.

use atividade_02;
select * from job_history jh
left join employees emp on jh.JOB_ID = emp.JOB_ID
where emp.SALARY > 10000
;

Prática de Modelagem de dados


11. Complemente o modelo conceitual apresentado na imagem, adicionando os atributos
específicos para cada entidade, conforme as descriçõ es detalhadas a seguir:

Usuários: Armazena informaçõ es dos usuá rios, como nome, e-mail, senha e endereço.
Produtos: Contém detalhes dos produtos, como nome, descriçã o, preço, quantidade em
estoque e ID da categoria.
Categorias: Define as categorias ou classificaçõ es dos produtos, como eletrô nicos,
roupas, livros, etc.
Pedidos: Registra os pedidos feitos pelos usuá rios, incluindo o ID do usuá rio, data do
pedido, status (por exemplo, pendente, enviado, entregue) e informaçõ es de envio.
Itens do Pedido: Detalha os produtos específicos dentro de um pedido, incluindo o ID
do produto, ID do pedido, quantidade e preço no momento da compra.
Avaliações: Permite que os usuá rios avaliem e comentem sobre os produtos, incluindo
o ID do produto, ID do usuá rio, pontuaçã o da avaliaçã o, comentá rio e data.

Apó s a inserçã o dos atributos nas respectivas entidades, por favor, insira a imagem do
modelo conceitual atualizado no espaço destinado à resposta.

Observação:
Para a execuçã o deste exercício, faça uso da ferramenta CASE específica para o
desenvolvimento de modelos conceituais e ló gicos, denominada BR Modelo Web. Acesse
através do link https://www.brmodeloweb.com/ para iniciar o processo.
12. Apó s a conclusã o do diagrama referente ao modelo conceitual do exercício precedente,
proceda com a transformaçã o deste em um modelo ló gico. Em seguida, insira a imagem
do modelo ló gico resultante no espaço destinado à resposta.
Observação:
Para a execuçã o deste exercício, faça uso da ferramenta CASE específica para o
desenvolvimento de modelos conceituais e ló gicos, denominada BR Modelo Web. Acesse
através do link https://www.brmodeloweb.com/ para iniciar o processo.
Claro! Aqui está um exemplo de como as tabelas estã o logicamente relacionadas no
sistema:
Tabela USUARIO:
Atributos: ID (Chave Primá ria), nome, endereco, senha, email.
Tabela Categoria:
Atributos: ID (Chave Primá ria), nome.
Tabela Produto:
Atributos: ID (Chave Primá ria), nome, preco, descricao, estoque, categoria_id (Chave
Estrangeira referenciando a tabela Categoria).
Tabela Avaliacao:
Atributos: ID (Chave Primá ria), avaliacao, usuarioID (Chave Estrangeira referenciando a
tabela USUARIO), PRODUTO_ID (Chave Estrangeira referenciando a tabela Produto).
Tabela PEDIDOS:
Atributos: ID (Chave Primá ria), status, usuario_id (Chave Estrangeira referenciando a
tabela USUARIO), data.
Tabela Itens:
Atributos: pedidoID (Chave Estrangeira referenciando a tabela PEDIDOS), produtoID
(Chave Estrangeira referenciando a tabela Produto), qtd.
Chave Primá ria: pedidoID, produtoID (Chave Estrangeira composta).

13. Com base nos modelos conceitual e ló gico previamente elaborados, proceda com a
criaçã o do modelo físico correspondente. Apó s a conclusã o do diagrama, por favor,
insira a imagem do modelo físico no espaço destinado à resposta.
Observação
Para a execuçã o deste exercício, faça uso da ferramenta CASE específica para o
desenvolvimento de modelos físicos, denominada MySQL Workbench para iniciar o
processo.

Você também pode gostar