Buscar

Simulado II Implementação de Bco de Dados


Continue navegando


Prévia do material em texto

Disc.: IMPLEMENTAÇÃO DE BANCO DE DADOS 
Aluno(a): MARCIEL 
Acertos: 10,0 de 10,0 04/11/2020 
 
 
 
1a 
 Questão 
Acerto: 1,0 / 1,0 
 
Uma linguagem de consulta procedural, onde o objetivo fundamental é permitir a escrita de expressões 
relacionais é denominada de álgebra relacional. Com suas operações fundamentais é possível exprimir 
qualquer consulta nesta linguagem. Sendo assim, para apresentar os dados de acordo com a tabela abaixo, 
marque a alternativa correta que descreve a álgebra a ser utilizada. 
Produto.Nome Produto.Qualidade Estoque.Qtde 
Laranja 1 100 
Laranja 2 150 
Uva 1 200 
Uva 2 130 
Trigo 2 240 
Pêssego 1 260 
Pêssego 2 190 
 
 
 
πNome, Qualidade, Qtde(σProduto.Cod_Prod = Estoque.Cod_Prod) 
 
πNome, Qualidade, Qtde 
 πNome, Qualidade, Qtde(σProduto.Cod_Prod = Estoque.Cod_Prod(Produto X Estoque)) 
 
σProduto.Cod_Prod = Estoque.Cod_Prod(πNome, Qualidade, Qtde) 
 
σProduto.Cod_Prod = Estoque.Cod_Prod(Produto X Estoque) 
Respondido em 04/11/2020 10:24:30 
 
 
2a 
 Questão 
Acerto: 1,0 / 1,0 
 
São comandos da categoria de Definição de Dados (DDL): 
 
 
COMMIT / ROLLBACK 
 CREATE / ALTER / DROP 
 
GRANT / REVOKE 
 
SELECT 
 
INSERT / UPDATE / DELETE 
Respondido em 04/11/2020 10:28:02 
 
 
3a 
 Questão 
Acerto: 1,0 / 1,0 
 
O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a 
partir de um conjunto de dados públicos de captura de tubarões entre os anos de 2001 e 
2013 na costa da Austrália. Os dados podem ser baixados no 
endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-statistics/resource/5c6be990-
3938-4125-8cca-dac0cd734263 
Características do esquema: Chave primária sublinhada e chave estrangeira em itálico. 
Seguem algumas tabelas do Esquema: 
 
Espécie (IDEspécie, IDOrdem. Nome_Científico, TamMaior, TamMenor, TamMédio) 
Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo) 
Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua) 
Local (IDLocal, CodArea, NomeLocal) 
Area (CodArea, NomeArea) 
 
Sabendo-se que um metro possui 39,3700787 polegadas, assinale a alternativa correto abaixo que consulta 
a data da captura, a temperatura da água e o comprimento do tubarão convertido em polegadas com o 
título Polegadas: 
 
 SELECT DATA, TEMPAGUA, COMPRIMENTO * 39.3700787 Polegadas FROM TUBARÃO T, CAPTURA C 
WHERE C.IDTUBARÃO = T.IDTUBARÃO; 
 
SELECT DATA, TEMPAGUA, (COMPRIMENTO * 39,3700787) Polegadas FROM TUBARÃO T, CAPTURA 
C WHERE C.IDTUBARÃO = T.IDTUBARÃO; 
 
SELECT DATA, TEMPAGUA, "COMPRIMENTO * 39,3700787" Polegadas FROM TUBARÃO T, CAPTURA 
C WHERE C.IDTUBARÃO = T.IDTUBARÃO; 
 
SELECT DATA, TEMPAGUA, COMPRIMENTO * 39.3700787 Polegadas FROM TUBARÃO T, CAPTURA 
C; 
 
SELECT DATA, TEMPAGUA, COMPRIMENTO * 39,3700787 Polegadas FROM TUBARÃO T, CAPTURA C 
WHERE C.IDTUBARÃO = T.IDTUBARÃO; 
Respondido em 04/11/2020 10:49:27 
 
 
4a 
 Questão 
Acerto: 1,0 / 1,0 
 
O operador que possibilita a seleção de uma faixa de valores sem a necessidade do 
uso dos operadores >=, <= e AND é: 
 
 
HAVING 
 
LIKE 
 
GROUP BY 
 BETWEEN 
 
IN 
Respondido em 04/11/2020 10:50:28 
 
 
5a 
 Questão 
Acerto: 1,0 / 1,0 
 
Considerando as tabelas descritas a seguir e a legenda: PK - chave primária / FK - chave estrangeira. 1 - 
ALUNO (matricula,nome,especializacao,nivel,idade), onde matricula é a PK; 2 - TURMA 
(nome_turma,horario,sala), onde nome_turma é a PK; 3 - MATRICULA 
(numero_aluno,nome_turma,numero_posicao), onde numero_aluno e nome_turma formam a PK, 
numero_aluno é FK referenciando ALUNO e nome_turma é FK referenciando TURMA. Marque a opção que 
contém o código em SQL para exibir o(s) nome(s) da(s) turma(s) que tem mais de 20 alunos matriculados: 
 
 
SELECT t.nome_turma,count(*) FROM TURMA t INNER JOIN MATRICULA m ON t.nome_turma = 
m.nome_turma HAVING count(*) > 20 GROUP BY t.nome_turma 
 
SELECT nome_turma,count(*) FROM TURMA t INNER JOIN MATRICULA m ON t.nome_turma = 
m.nome_turma WHERE count(*) > 20 
 
SELECT * FROM TURMA t,MATRICULA m ON t.nome_turma = m.nome_turma WHERE count(*) > 20 
 
SELECT nome_turma,count(*) FROM TURMA t INNER JOIN MATRICULA m ON t.nome_turma = 
m.nome_turma GROUP BY nome_turma WHERE count(*) > 20 
 SELECT t.nome_turma,count(*) FROM TURMA t INNER JOIN MATRICULA m ON t.nome_turma = 
m.nome_turma GROUP BY 1 HAVING count(*) > 20 
Respondido em 04/11/2020 10:52:05 
 
 
6a 
 Questão 
Acerto: 1,0 / 1,0 
 
Na sintaxe ANSI da junção Interior, na sua forma padrão é: 
 
 
select * from tabela1 CROSS JOIN tabela2; 
 
select [colunas] from tabela1 LEFT JOIN tabela2 ON ; 
 
select [colunas] from tabela1 RIGHT JOIN tabela2 ON ; 
 
select * from tabela1 LEFT JOIN tabela2; 
 select [colunas] from tabela1 INNER JOIN tabela2 ON ; 
Respondido em 04/11/2020 10:54:10 
 
 
7a 
 Questão 
Acerto: 1,0 / 1,0 
 
eM um banco de dados há três tabelas: T1, T2 e T3, com 10, 20 e 30 registros respectivamente. Cada 
tabela possui um atributo A, sobre o qual é definida uma chave primária. Nesse cenário, está correto 
concluir que o comando select T1.* from T1 cross join T2 cross join T3 produz um resultado que, além da 
linha de títulos, possui: 
 
 6.000 linhas. 
 
600 linhas; 
 
30 linhas; 
 
10 linhas; 
 
20 linhas; 
Respondido em 04/11/2020 10:55:25 
 
 
8a 
 Questão 
Acerto: 1,0 / 1,0 
 
Sabendo que a estrutura da tabela é: ID_EMP_MATRICULA, VC_EMP_NOME, NU_EMP_CARGO, 
NU_EMP_SALARIO, NU_EMP_GRATIFICACAO, NU_EMP_DESCONTO. Pede-se que, exiba a(s) matrícula(s), 
o(s) nome(s), o(s) salário(s) líquido(s) do(s) maior(es) salário(s) pago(s) aos empregados pela empresa. 
Qual a alternativa válida: 
 
 
SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + 
E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN 
CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO IN 
MAX(E.NU_EMP_SALARIO); 
 
SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + 
E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN 
CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO > 
E.NU_EMP_SALARIO; 
 
SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + 
E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN 
CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO HAVING E.NU_EMP_SALARIO IN (SELECT 
MAX(X.NU_EMP_SALARIO) FROM EMPREGADO X)); 
 
SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + 
E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN 
CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO = 
MAX(E.NU_EMP_SALARIO); 
 SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + 
E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN 
CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO IN (SELECT 
MAX(X.NU_EMP_SALARIO) FROM EMPREGADO X)); 
Respondido em 04/11/2020 11:03:39 
 
 
9a 
 Questão 
Acerto: 1,0 / 1,0 
 
 
 
 
SELECT * FROM Imovel WHERE NumVagasGaragem IN(1,2,4) ORDER BY Tamanho 
 
SELECT * FROM Imovel WHERE NumQuartos BETWEEN 2 AND 4 ORDER BY Tamanho DESC 
 
SELECT * FROM Imovel WHERE NumVagasGaragem IN(1,2,4) ORDER BY Tamanho DESC 
 SELECT * FROM Imovel WHERE NumBanheiros BETWEEN 2 AND 4 ORDER BY Tamanho DESC 
 
SELECT * FROM Imovel WHERE NumBanheiros BETWEEN 2 AND 4 ORDER BY Tamanho 
Respondido em 04/11/2020 11:03:06 
 
 
10a 
 Questão 
Acerto: 1,0 / 1,0 
 
A cláusula having, quando usada, estabelece uma condição sobre uma agregação obtida de: 
 
 
order by em uma expressão select. 
 group by em uma expressão select. 
 
Reorganiza-se automaticamente com pequenas mudanças locais. 
 
group by em uma cláusula order by. 
 
sum em umaexpressão create. 
Respondido em 04/11/2020 11:03:45 
 
 
 
 
 
javascript:abre_colabore('38403','212180719','4275428194');