Buscar

Considere a tabela EMPREGADOS definida abaixo em SQL. Create table EMPREGADOS (CODEMP INT PRIMARY KEY, NOMEEMP VARCHAR(300) NOT NULL UNIQUE, FUNCAO...

Considere a tabela EMPREGADOS definida abaixo em SQL. Create table EMPREGADOS (CODEMP INT PRIMARY KEY, NOMEEMP VARCHAR(300) NOT NULL UNIQUE, FUNCAO INT CHECK(FUNCAO BETWEEN 1 AND 5), SALARIO FLOAT NOT NULL, DEPTO INT NOT NULL); Sobre esta tabela, foi definido um índice primário (codemp – chave primária), e dois índices secundários, um sobre nomeemp, e outro sobre funcao. Uma pessoa do desenvolvimento reclamou à DBA que algumas de suas consultas sobre essa tabela estavam muito demoradas, e pediu apoio para melhoria do desempenho. A DBA examinou o plano de execução das consultas e, em vez de uma solução sobre o esquema da base de dados, sugeriu a reescrita das consultas. ORIGINAL REESCRITA I. SELECT NOMEEMP, FUNCAO, DEPTO FROM EMPREGADOS WHERE SUBSTR(NOMEEMP, 1, 5) = 'MARIA'; SELECT NOMEEMP, FUNCAO, DEPTO FROM EMPREGADOS WHERE NOMEEMP LIKE 'MARIA%'; II. SELECT NOMEEMP FROM EMPREGADOS WHERE FUNCAO <> 5; SELECT NOMEEMP FROM EMPREGADOS WHERE FUNCAO BETWEEN 1 and 4; III. SELECT DISTINCT NOMEEMP, SALARIO, DEPTO FROM EMPREGADOS WHERE FUNCAO = 1; SELECT NOMEE

A DBA sugeriu a reescrita das consultas para melhorar o desempenho.
Foi definido um índice primário na tabela EMPREGADOS.
Foi definido um índice secundário na tabela EMPREGADOS sobre o campo nomeemp.
Foi definido um índice secundário na tabela EMPREGADOS sobre o campo funcao.
a) I e II.
b) II e III.
c) I, II e III.
d) II, III e IV.
e) I, II, III e IV.

Essa pergunta também está no material:

simulado - Banco de Dados para RFB
147 pág.

Tecnologia da Informação Ce Balao MagicoCe Balao Magico

💡 1 Resposta

User badge image

Ed Verified user icon

Analisando as reescritas das consultas sugeridas pela DBA, podemos identificar as seguintes melhorias de desempenho: I. SELECT NOMEEMP, FUNCAO, DEPTO FROM EMPREGADOS WHERE SUBSTR(NOMEEMP, 1, 5) = 'MARIA'; REESCRITA: SELECT NOMEEMP, FUNCAO, DEPTO FROM EMPREGADOS WHERE NOMEEMP LIKE 'MARIA%'; II. SELECT NOMEEMP FROM EMPREGADOS WHERE FUNCAO <> 5; REESCRITA: SELECT NOMEEMP FROM EMPREGADOS WHERE FUNCAO BETWEEN 1 and 4; III. SELECT DISTINCT NOMEEMP, SALARIO, DEPTO FROM EMPREGADOS WHERE FUNCAO = 1; REESCRITA: SELECT NOMEEMP, SALARIO, DEPTO FROM EMPREGADOS WHERE FUNCAO = 1; Portanto, a reescrita das consultas sugeridas pela DBA para melhorar o desempenho são: I. SELECT NOMEEMP, FUNCAO, DEPTO FROM EMPREGADOS WHERE NOMEEMP LIKE 'MARIA%'; II. SELECT NOMEEMP FROM EMPREGADOS WHERE FUNCAO BETWEEN 1 and 4; III. SELECT NOMEEMP, SALARIO, DEPTO FROM EMPREGADOS WHERE FUNCAO = 1; A resposta correta é a alternativa b) II e III.

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais