Logo Passei Direto
Buscar
As tabelas DISCIPLINAS, ALUNOS, e MATRICULAS, definidas abaixo, usando SQL (padrão SQL2 ou superior), representam alunos, disciplinas oferecidas em um curso e matrículas de alunos nestas disciplinas.\ncreate table ALUNOS\n(coda integer not null primary key, nomea varchar(60) not null);\ncreate table DISCIPLINAS\n(codd integer not null primary key, nomed varchar(100) not null, professor varchar(2) not null);\ncreate table MATRICULAS\n(coda integer not null, codd integer not null, nota integer not null, primary key (coda, codd), foreign key (coda) references ALUNOS, foreign key (codd) references DISCIPLINAS);\n\nConsidere as seguintes consultas SQL no mesmo padrão, formuladas utilizando subconsultas.\n\nI - SELECT distinct nomea, codd, nota\nFROM alunos natural join matriculas\nWHERE codd not in\n(SELECT distinct codd\nFROM disciplinas\nWHERE professor = 'joao da silva');\nII - SELECT distinct nomea, codd, nota\nFROM alunos natural join matriculas\nWHERE coda not in\n(SELECT distinct coda\nFROM disciplinas natural join matriculas\nWHERE professor = 'joao da silva');\nIII- SELECT distinct nomea, codd, nota\nFROM alunos natural join matriculas\nWHERE coda in\n(SELECT distinct coda\nFROM matriculas\nWHERE nota $=10$ );\n\nQuais dentre as consultas acima NÃO poderiam ser reescritas em termos das tabelas DISCIPLINAS, MATRICULAS E ALUNOS sem uso de subconsulta em nenhuma porção da consulta SQL, e sem utilizar a mesma tabela mais de uma vez na cláusula FROM?\n(A) Apenas I.\n(B) Apenas II.\n(C) Apenas III.\n(D) Apenas I e II.\n(E) Apenas II e III.
User badge image
Questões Para o Saber

há 2 meses

Respostas

User badge image

Ed Verified user icon

há 2 meses

Vamos analisar cada uma das consultas SQL para determinar se podem ser reescritas sem subconsultas e sem usar a mesma tabela mais de uma vez na cláusula FROM. I - A consulta busca alunos que não estão matriculados em disciplinas lecionadas por 'joao da silva'. Para reescrever isso sem subconsultas, precisaríamos de uma junção que exclua essas disciplinas. Isso é possível, mas requereria uma junção adicional, o que não atende à condição de não usar a mesma tabela mais de uma vez. Portanto, não pode ser reescrita. II - A consulta busca alunos que não estão matriculados em disciplinas lecionadas por 'joao da silva'. A estrutura da consulta sugere que estamos tentando filtrar alunos com base em uma condição que envolve a tabela de disciplinas. Assim como na consulta I, isso não pode ser reescrito sem subconsultas e sem usar a mesma tabela mais de uma vez. Portanto, não pode ser reescrita. III - A consulta busca alunos que estão matriculados em disciplinas onde a nota é 10. Essa consulta pode ser reescrita usando uma junção direta entre as tabelas ALUNOS e MATRICULAS, filtrando diretamente pela nota. Portanto, pode ser reescrita. Com base nessa análise, as consultas que não podem ser reescritas sem subconsultas e sem usar a mesma tabela mais de uma vez são I e II. Assim, a alternativa correta é: (D) Apenas I e II.

Essa resposta te ajudou?

0
Dislike0
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar essa resposta. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais perguntas desse material

Mais conteúdos dessa disciplina