Prévia do material em texto
GABARITO Protocolo: 879342 Página 1 - 04/06/2024 às 16:05 Prova Data de aplicação: 22/05/2024 Curso: Engenharia de Software Disciplina: Banco de Dados II Ano: 20241 / Semestre: 4 RGM: 123.1478 / Aluno: GILVAN GABRIEL CORREIA DE ALENCAR PROVA 01 Questão 1 O gerente quer selecionar todos os produtos e diminuir os valores unitários em 20% quando o valor do produto é menor do que R$100 e elimina as casas decimais do resultado dessa redução dos valores. O comando SQL deve ser criado utilizando a estrutura da tabela produto apresentada na imagem. Resposta do aluno: select codprod, descricao, unidade case when valor_un < 100 then cast(floor(valor_un*0.8) as int) else valor_un end as novo_valor_un from produtos Parecer do professor: Questão Correta. Questão 2 Defina Cálculo Relacional e dê pelo menos uma diferença com a Álgebra Relacional. Resposta do aluno: calculo relacional se concentra em descrever as caracteristicas das tuplas que queremos encontrar, uma diferença é as consultas sao expressas, em calculo relacional as consultas são expressas em termos de como os resultados devem ser encontrados, já em algebra relacional as consultas são expressas como uma sequencia de operações algebricas aplicadas as relações Parecer do professor: Questão Correta. Questão 3 Além dos operadores básicos de seleção, na Álgebra Relacional são definidos operadores que servem para manipular conjuntos. Assinale a alternativa que contenha o operador que quando aplicado a duas relações retorne as tuplas das duas relações. a) Intersecção (∩) b) União (∪) (correta) c) Diferença (-) d) Junção (X) Questão 4 "O tipo de restrição que mantêm a consistência do banco de dados através do relacionamento. Como outros GABARITO Protocolo: 879342 Página 2 - 04/06/2024 às 16:05 tipos de restrição, ele previne alterações de inserção ou atualizações de dados que levem a inconsistência.” Assinale a alternativa que indique corretamente qual o recurso se refere a esta afirmação. a) Chaves Primárias b) Índices c) Chaves Estrangeiras (correta) d) Chaves compostas Questão 5 No cálculo relacional os átomos são conectados formando as fórmulas, por meio dos operadores lógicos. Assinale a alternativa que descreva corretamente o funcionamento dos átomos e suas fórmulas. a) Todo átomo é uma fórmula por si só. (correta) b) Uma fórmula F1 AND F2 será verdadeira quando ambos são falsas. c) Uma fórmula F1 OR F2 será falsa se ambas as fórmulas forem verdadeiras. d) Uma fórmula NOT(F1) será falsa quando F1 for falso. Questão 6 Quando uma chave estrangeira é alterada (ON UPDATE) ou deletada (ON DELETE) algumas ações podem ser tomadas. Assinale a alternativa que indique qual o nome da ação quando não é permitida a operação. a) SET DEFAULT b) SET NULL c) CASCADE d) RESTRICT (correta) Questão 7 Quando uma chave estrangeira é alterada (ON UPDATE) ou deletada (ON DELETE) algumas ações podem ser tomadas. Assinale a alternativa que indique qual o nome da ação quando é colocado o valor nulo para as linhas referenciadas. a) SET DEFAULT b) SET NULL (correta) c) CASCADE d) RESTRICT Questão 8 _________ estão presentes no banco de dados para garantir a integridade ou otimizar as consultas. Vão aparecer no banco de dados todas as vez que criarmos _________, ou _________. Assinale a alternativa que complete corretamente as lacunas. a) Chaves primárias, Chaves estrangeiras, Chaves compostas b) Chaves estrangeiras, Chaves primárias, Chaves compostas c) Índices, Chaves Primárias, Chaves estrangeiras (correta) d) Chaves primárias, Índices, Chaves estrangeiras Questão 9 O Cálculo Relacional uma forma de consulta formal ao banco de dados. Ela possui muitas _________ com a Álgebra Relacional. ELMASRI e NAVATHE (2011) afirma que a álgebra relacional é uma __________________, e o cálculo relacional é uma __________________. Assinale a alternativa que preencha corretamente as lacunas. a) semelhanças, linguagem não procedimental, linguagem procedimental b) semelhanças, linguagem procedimental, linguagem não procedimental (correta) GABARITO Protocolo: 879342 Página 3 - 04/06/2024 às 16:05 c) diferenças, linguagem procedimental, linguagem procedimental d) diferenças, linguagem não procedimental, linguagem procedimental Questão 10 Na Álgebra relacional existem operadores que são utilizados para gerar relações, que podem ser manipulados pelo mesmo conjunto de operadores, gerando novas relações. Assinale a alternativa que contenha o nome do operador que serve para escolher quais colunas serão mostradas no resultado, tal como a instrução SELECT do SQL, indicando quais colunas queremos recuperar, sem nenhuma condição. a) Projeção (π) (correta) b) Seleção (σ) c) Ordenação (τ) d) Renomeação (ρ) PROVA 02 Questão 1 Em uma chamada a Stored Procedure podemos passar um parâmetro precedido de @. Para que usamos esse parâmetro? Resposta do aluno: é usado para identificar e referenciar parametros em stored procedures ajudando a distinguir entre variaveis locais e parametros na linguagem sql Parecer do professor: Questão Correta. Questão 2 Escreva o comando SQL com Join que faça a junção representada na imagem. Resposta do aluno: SELECT * FROM tableA A right join tableB B on A.key = B.key Parecer do professor: Questão Correta. GABARITO Protocolo: 879342 Página 4 - 04/06/2024 às 16:05 Questão 3 Carvalho (2017) define alguns benefícios que podemos obter ao utilizar triggers. Assinale a alternativa que não contém uma vantagem ao utilizar triggers. a) Verificar a integridade dos dados, pois só é possível fazer a uma verificação após a inserção no registro. (correta) b) Contornar erros na regra de negócio do sistema no banco de dados. c) Utilizar como substituta para event_scheduler. Entretanto, ela não o substitui em processos que não são disparados a partir de uma tabela. d) Auditar as mudanças nas tabelas. Questão 4 "Rotinas Definidas no banco de dados, identificadas por um nome pelo qual pode ser invocadas. Pode receber parâmetros e retornar valores após executar uma sequência de instruções." Assinale a alternativa que corresponda com o nome do recurso da afirmação acima. a) Stored Procedures (correta) b) Triggers c) Stored Functions d) Backup Questão 5 Junções são consultas que juntam duas ou mais tabelas, combinando essas para uma única tabela. Além disso filtram os dados que são relacionados entre uma tabela e outra. A junção mais simples de ser feita é indicando as tabelas cujos valores serão combinados, sem nenhuma condição de seleção das tuplas. Assinale a alternativa que contenha o nome do tipo de junção descrito. a) Inner Join b) Outer Join c) Produto cartesiano (correta) d) Natural Join Questão 6 Assinale a alternativa que contenha o comando para chamarmos uma Stored Procedure. a) LOOP procedure_valor(1,@res); b) SELECT procedure_valor FROM PRODUTOS; c) EXEC procedure_valor(1,@res); d) CALL procedure_valor(1,@res); (correta) Questão 7 O operador _____________ recebe duas tabelas e faz a combinação das tuplas da primeira tabela com a da segunda tabela indicando qual a condição de junção, ou seja, quais colunas devem ter seus valores iguais para que uma tupla seja retornada. Assinale a alternativa que preencha corretamente a lacuna com o nome do operador de junção. a) INNER JOIN (correta) b) NATURAL JOIN c) LEFT JOIN d) FULL OUTER JOIN Questão 8 Assinale a alternativa que contenha a sintaxe do comando SQL de junção que execute o que se pede a seguir: GABARITO Protocolo: 879342 Página 5 - 04/06/2024 às 16:05 Selecionar todo o conjunto de registros da Tabela B com os registros correspondentes da Tabela A (quando houver). a) SELECT * FROM TableA A RIGHT JOIN TableB B ON A.key = B.key (correta) b) SELECT * FROM TableA A LEFT JOIN TableB B ON A.key = B.key c) SELECT * FROM TableA A RIGHT JOIN TableB B ON A.key = B.key WHERE A.key IS NULL d) SELECT * FROM TableA A LEFT JOIN TableB B ON A.key = B.key WHERE B.key IS NULL Questão 9 "Conjunto de operações que são executadas automaticamente quando uma alteração é feita em um registro que estárelacionado a uma tabela. Este recurso pode ser invocado antes ou depois de uma alteração em insert, update ou delete." Assinale a alternativa que corresponda com o nome do recurso da afirmação acima. a) Stored Procedures b) Triggers (correta) c) Stored Functions d) Backup Questão 10 O operador _____________ recebe duas tabelas, que possuem uma coluna com um nome em comum. Nesse caso, ela faz a combinação das tuplas da primeira tabela com a da segunda tabela sem a necessidade de definir qual as colunas em comum, e filtra as correspondências onde o valor da coluna em comum é igual. Assinale a alternativa que preencha corretamente a lacuna com o nome do operador de junção. a) INNER JOIN b) NATURAL JOIN (correta) c) LEFT JOIN d) FULL OUTER JOIN