FC ConcursosFC Concursos

Questão FC372790

O banco de dados de um órgão do Judiciário foi modelado conforme imagem abaixo, utilizando o Modelo Entidade-Relacionamento (MER). Foi criado um banco de dados chamado MPEPB123 com

Linguagem SQL

FCC · 2023

O banco de dados de um órgão do Judiciário foi modelado conforme imagem abaixo, utilizando o Modelo Entidade-Relacionamento (MER).

 

 

Foi criado um banco de dados chamado MPEPB123 com as tabelas referentes ao modelo e os dados abaixo foram cadastrados. Considere para todas as questões que o banco de dados está aberto e em condições ideais.

 

Tabela Processo

numeroProc

orgaoProc tribunalProc

origemProc

0001842672017

5 01 0246

0045613912014

8 19 0004

0056712432022

6 14 0023

0002347652022

8 02 0341
 

Tabela Advogado

numeroOABAdv

nomeAdv

28H418

Marcos Vieira Dias

34.443

Fabiana Duque Zanon

 

Tabela Advogado_Processo

numeroOABAdv

numeroProc

papel

28H418

0001842672017

Defesa

34.443

0045613912014

Defesa

28H418

0056712432022

Acusação

28H418

0045613912014

Acusação

34.443

0056712432022

Acusação

34.443

0001842672017

Acusação

 

Uma analista utilizou um comando que selecionou e exibiu os dados, na forma abaixo, de todo processo que tem advogado a ele associado.

 

numeroProc

tribunalProc nomeAdv

papel

0001842672017

01 Marcos Vieira Dias

Defesa

0045613912014

19 Marcos Vieira Dias

Acusação

0056712432022

14 Marcos Vieira Dias

Acusação

0001842672017

01 Fabiana Duque Zanon

Acusação

0045613912014

19 Fabiana Duque Zanon

Defesa

0056712432022

14 Fabiana Duque Zanon

Acusação

 

A instrução SQL utilizada pela analista foi

  1. SELECT Advogado_Processo.numeroProc, Processo.tribunalProc, Advogado.nomeAdv,

    Advogado_Processo.papel FROM Advogado_Processo (LEFT JOIN Processo ON

    Advogado_Processo.numeroProc = Processo.numeroProc, RIGHT JOIN Advogado ON

    Advogado_Processo.numeroOABAdv = Advogado.numeroOABAdv);

  2. SELECT Advogado_Processo.numeroProc, Processo.tribunalProc, Advogado.nomeAdv,

    Advogado_Processo.papel FROM Advogado_Processo FULL JOIN Processo ON

    Advogado_Processo.numeroProc = Processo.numeroProc AND Advogado ON

    Advogado_Processo.numeroOABAdv = Advogado.numeroOABAdv);

  3. SELECT Advogado_Processo.numeroProc, Processo.tribunalProc, Advogado.nomeAdv,

    Advogado_Processo.papel FROM Advogado_Processo INNER JOIN Processo ON

    Advogado_Processo.numeroProc = Processo.numeroProc, INNER JOIN Advogado ON

    Advogado_Processo.numeroOABAdv = Advogado.numeroOABAdv;

  4. SELECT Advogado_Processo.numeroProc, Processo.tribunalProc, Advogado.nomeAdv,

    Advogado_Processo.papel FROM ((Advogado_Processo INNER JOIN Processo ON

    Advogado_Processo.numeroProc = Processo.numeroProc) INNER JOIN Advogado ON

    Advogado_Processo.numeroOABAdv = Advogado.numeroOABAdv);

  5. SELECT Advogado_Processo.numeroProc, Processo.tribunalProc, Advogado.nomeAdv,

    Advogado_Processo.papel FROM Advogado_Processo JOIN Processo ON

    Advogado_Processo.numeroProc = Processo.numeroProc AND JOIN Advogado ON

    Advogado_Processo.numeroOABAdv = Advogado.numeroOABAdv;

Mostrar resposta e comentário

Gabarito

D

Comentário do professor

O comando apresentado usa SELECT para projetar as colunas desejadas e faz duas junções encadeadas: primeiro entre Advogado_Processo e Processo, depois com Advogado.

Cada INNER JOIN traz apenas as linhas que atendem à condição do ON: Advogado_Processo.numeroProc = Processo.numeroProc e Advogado_Processo.numeroOABAdv = Advogado.numeroOABAdv. Assim, só aparecem processos que têm advogado associado.

Os parênteses agrupam as junções de forma explícita — sintaxe válida que deixa claro a ordem de combinação, embora o efeito prático seja o mesmo de executar JOINs sequenciais.

Como a tabela de ligação (Advogado_Processo) relaciona advogado e processo, o resultado gera uma linha por associação (logo, um processo aparece várias vezes se tiver vários advogados), correspondendo exatamente à saída mostrada.

Portanto, a instrução combina corretamente as três tabelas pelas chaves correspondentes e retorna as colunas solicitadas, produzindo o conjunto esperado de registros.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo