

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Considere o seguinte modelo relacional simplificado para responder às questões 48 e 49.

No CRA-PR, a equipe de tecnologia mantém, em PostgreSQL Versão 12 ou superior, uma base de dados destinada ao registro de atendimentos prestados a usuários internos. O modelo é composto pelas tabelas setor_cra, usuario_interno e solicitacao_atendimento. Na primeira, id_setor é a chave primária; na segunda, id_usuario é a chave primária e id_setor é chave estrangeira que referencia setor_cra.id_setor; na terceira, id_solicitacao é a chave primária e id_usuario é chave estrangeira que referencia usuario_interno.id_usuario. Na tabela solicitacao_atendimento, o campo status é do tipo VARCHAR(20) e pode assumir os valores 'ABERTA', 'EM_ANDAMENTO', 'CONCLUIDA' e 'CANCELADA', enquanto data_abertura é do tipo DATE. Para subsidiar um relatório gerencial, a equipe deverá criar uma view que encapsule a associação entre setores, usuários e solicitações, expondo apenas os campos nome_setor, status e data_abertura. Em seguida, a consulta realizada sobre essa view deverá apresentar, por setor, o total de solicitações com status 'CONCLUIDA' e data de abertura no ano de 2026, exibindo somente os setores com três ou mais ocorrências. Os resultados deverão ser ordenados pelo total em ordem decrescente e, em caso de empate, pelo nome do setor em ordem alfabética. Diante do exposto, assinale a alternativa que cria a view e executa a consulta final de acordo com todos os requisitos.
CREATE VIEW vw_solicitacoes_setor AS
SELECT
s.nome_setor,
sa.status,
sa.data_abertura
FROM setor_cra AS s
JOIN usuario_interno AS u
ON u.id_setor = s.id_setor
JOIN solicitacao_atendimento AS sa
ON sa.id_usuario = u.id_usuario;
SELECT
nome_setor,
COUNT(*) AS total_concluidas
FROM vw_solicitacoes_setor
WHERE status = 'CONCLUIDA'
AND data_abertura >= DATE '2026-01-01'
AND data_abertura < DATE '2027-01-01'
GROUP BY nome_setor
HAVING COUNT(*) >= 3
ORDER BY total_concluidas DESC, nome_setor ASC;
CREATE VIEW vw_solicitacoes_setor AS
SELECT
s.nome_setor,
u.email,
sa.status,
sa.data_abertura
FROM setor_cra AS s
JOIN usuario_interno AS u
ON u.id_setor = s.id_setor
JOIN solicitacao_atendimento AS sa
ON sa.id_usuario = u.id_usuario;
SELECT
nome_setor,
COUNT(*) AS total_concluidas
FROM vw_solicitacoes_setor
WHERE status = 'CONCLUIDA'
AND data_abertura >= DATE '2026-01-01'
AND data_abertura < DATE '2027-01-01'
GROUP BY nome_setor
HAVING COUNT(*) >= 3
ORDER BY total_concluidas DESC, nome_setor ASC;
CREATE VIEW vw_solicitacoes_setor AS SELECT s.nome_setor, sa.status, sa.data_abertura FROM setor_cra AS s JOIN usuario_interno AS u ON u.id_usuario = s.id_setor JOIN solicitacao_atendimento AS sa ON sa.id_usuario = u.id_usuario; SELECT nome_setor, COUNT(*) AS total_concluidas FROM vw_solicitacoes_setor WHERE status = 'CONCLUIDA' AND data_abertura >= DATE '2026-01-01' AND data_abertura < DATE '2027-01-01' GROUP BY nome_setor HAVING COUNT(*) >= 3 ORDER BY total_concluidas DESC, nome_setor ASC;
CREATE VIEW vw_solicitacoes_setor AS SELECT s.nome_setor, sa.status, sa.data_abertura FROM setor_cra AS s JOIN usuario_interno AS u ON u.id_setor = s.id_setor JOIN solicitacao_atendimento AS as ON sa.id_usuario = u.id_usuario; SELECT nome_setor, COUNT(*) AS total_concluidas FROM vw_solicitacoes_setor WHERE status = 'CONCLUIDA' AND data_abertura >= DATE '2026-01-01' AND data_abertura < DATE '2027-01-01' GROUP BY nome_setor WHERE COUNT(*) >= 3 ORDER BY total_concluidas DESC, nome_setor ASC;