Prévia do material em texto
Disciplina: Banco de Dados Avançado (ADS16)
Avaliação: Avaliação II - Individual FLEX ( Cod.:456747) ( peso.:1,50)
Prova: 12158845
Nota da Prova: 8,00
Legenda: Resposta Certa Sua Resposta Errada
1. Analise o código PL/SQL a seguir:
set serveroutput on
DECLARE
TYPE tabela_numeros IS TABLE OF NUMBER;
list TABELA_NUMEROS := tabela_numeros (1, 2, 3, 4, 5);
BEGIN
list.DELETE(2);
FOR i IN 1..list.COUNT LOOP
IF list.EXISTS(i) THEN
DBMS_OUTPUT.PUT('['''list(i)''']');
END IF;
END LOOP;
DBMS_OUTPUT.NEW_LINE;
END;
/
Sobre o resultado da execução do algoritmos PLSQl proposto, assinale a alternativa
CORRETA:
a) 1 2 3.
b) 1 3 4.
c) 4 3 1.
d) 1 1 4.
2. PL/SQL é uma extensão da Linguagem de Consulta Estruturada (SQL) usada no Oracle.
Ao contrário do SQL, o PL / SQL permite ao programador escrever código em um formato
procedural. A forma completa de PL / SQL é "Extensões de Linguagem Procedural para
SQL. Ele combina o poder de manipulação de dados do SQL com o poder de
processamento da linguagem procedural para criar consultas SQL super poderosas.
PL/SQL significa instruir o compilador 'o que fazer' através de SQL e 'como fazer' através
de sua forma processual.
Semelhante a outras linguagens de banco de dados, ele dá mais controle aos
programadores pelo uso de loops, condições e conceitos orientados a objetos. No
Oracle/PLSQL, a sintaxe correta para a retirada de privilégios em tabelas é:
FONTE: https://www.guru99.com/introduction-pl-sql.html. Acesso em: 6 mar. 2019.
a) On object from user delete privileges.
b) Delete privileges on object from user.
c) Revoke privileges on object from user.
d) Revoke on object from user privileges.
3. O SQL*Plus é o aplicativo padrão para acesso e manipulação de um banco de dados
Oracle. SQL é uma linguagem de consulta de dados estruturada, que se caracteriza por ser
um utilitário de linha de comando. Sobre a SQL, assinale a alternativa CORRETA:
a) É dividida em categorias distintas: DDL, DCL, DML e XML.
b) A DCL contém comandos exclusivo para conceder de permissões de acesso.
c) Os comandos inerentes à DML são utilizados para consultar e modificar dados, mas
exclui todos os comandos para controle de transações como por exemplo, rollback e
commit.
d) CREATE ,ALTER ,DROP e GRANT são exemplos de comandos DDL.
4. Na linguagem PL/SQL qualquer tipo de erro é tratado como uma exceção (exception), o
que significa uma situação que, a princípio, não deveria ocorrer durante a execução seu
programa. Existem dois tipos de exceção: ? Exceção de sistema (system exception): um
erro definido pelo Oracle que é disparado automaticamente pela runtime engine da PL/SQL
assim que ela detecta o problema. Exemplos: "duplicate value in index" e "no data found". ?
Exceção Programada: exceção definida pelo programador e, portanto, específica da
aplicação. Este tipo de exceção não é disparada automaticamente, mas apenas para
situações indicadas pelo programador em seu código. Com relação aos conceitos do
PLSQL, classifique as sentenças em V para as verdadeiras e F para as falsas:
( ) Todas os comandos e informações do PLSQL são terminados por um ponto e uma
vírgula (. ,).
( ) As variáveis são declaradas dentro de um bloco DECLARE ou dentro do corpo do
programa.
( ) Todos os tipos de loop devem ter implícito e bem definida a quantidade de vezes que
deverão executar um comando.
( ) Os Cursores são usados para buscar as linhas de retorno de um select, todas de uma
única vez.
( ) A exceção INVALID_NUMBER acontece quando se tenta inserir um campo texto em
um número, ou quando se tentar alterar um campo numérico, atribuindo a ele um campo do
tipo texto.
Assinale a alternativa que apresenta a sequência CORRETA:
FONTE: //www.devmedia.com.br/tratamento-de-excecoes-de-sistema-na-linguagem-pl-
sql/26001. Acesso em: 6 mar. 2019.
a) V - F - F - V - F.
b) F - F - F - F - V.
c) F - F - F -V - V.
d) F - F - V - F - V.
5. Considere a seguinte consulta SQL:
SELECT distinct NOM_CLI
FROM LISTA_DEVEDORES
WHERE NOM_CLI in (SELECT NOM_CLI
From LISTA_PAGADOR);
Sobre a consulta SQl, assinale a alternativa CORRETA:
a) Não é possivel usar subquery aninhadas em SQL.
b) Existe uma subquery inclusa no comando.
c) O comando executará com erro, pois o IN não é um comando SQL válido.
d) A instrução distinct retornará o somatório do total de nomes diferentes.
6. Um banco de dados é uma aplicação que lhe permite armazenar e obter de volta dados
com eficiência. O que o torna relacional é a maneira como os dados são armazenados e
organizados no banco de dados. Quando falamos em banco de dados, aqui, nos referimos
a um banco de dados relacional - RDBMS Relational Database Management System. Em
um banco de dados relacional, todos os dados são guardados em tabelas. Estas têm uma
estrutura que se repete a cada linha, como você pode observar em uma planilha. São os
relacionamentos entre as tabelas que as tornam relacionais. Considere a seguinte tabela
de um banco de dados relacional:
Funcionário (cd_func, Nm_func, cd_cargo, val_sal)
O comando SQL para extrair a édia dos salários agrupada por cargo, cujos salários são
superiores a 1000,00 é
SELECT c_cargo,
AVG (val_sal)
FROM Funcionário
GROUP BY cd_cargo
??? AVG(val_sal) > 2000,00
Para que a consulta atenda ao solicitado e execute sem erro de compilação, o valor de X
deve ser substituído por:
FONTE: https://elias.praciano.com/2013/09/o-que-e-um-banco-de-dados-relacional/.
Acesso em: 6 mar. 2019.
a) HAVING
b) GROUP BY
c) ORDER BY
d) CASCADE
7. O desenvolvedor de um sistema solicitou ao projetista de banco de dados a criação de um
banco de dados no SGBD Oracle em sua versão 10G. Para a criação das tabelas desse
banco o projetista terá à sua disposição os seguintes tipos de dados com exceção de um.
Sobre a opção cujo tipo de dados não pertence ao Oracle, assinale a alternativa
CORRETA:
a) BFILE.
b) ROWID.
c) LONG RAW.
d) LONGBLOB.
8. Todos os SGBDs (Sistemas Gerenciadores de Banco de Dados) que eu conheço possuem
uma linguagem de programação própria, que estende comandos e instruções não
contempladas em SQL. Como exemplos, podemos citar o Oracle Database, que possui a
linguagem PL/SQL, o SQL Server que possui a linguagem Transaction SQL e o DB2 que
possui a linguagem SQL PL. Essas linguagens foram criadas para atender a necessidade
de se criar programas dentro do próprio banco de dados e são extremamente úteis para
executar tarefas de manutenção e para otimizar transações das aplicações que acessam o
banco.
Analise o código PLSQL a seguir:
1 Begin
2 Update UNI_pro;
3 Set ult_data = sysdate;
4 If SQL%FOUND then
5 Dbms_output.put_line('Alterado =['''sql%rowcount''']');
6 Else
7 Dbms_output.put_line('Nada a alterar]');
8 End if;
9 End;
Classifique as sentenças em V para verdadeiras e F para as falsas:
( ) O código representa a implementação de um procedimento.
( ) O código está escrito em SQL dinâmico.
( ) SQL%FOUND é uma variável que não foi declarada e que vai gerar erro de
compilação.
( ) O código proposto insere e altera dados na tabela UNI_pro.
( ) O código apresenta a implementação de um cursor implícito de múltiplas linhas.
Assinale a alternativa que apresenta a sequência CORRETA:
FONTE: https://www.profissionaisti.com.br/2011/10/plsql-o-que-e-e-quando-usar/. Acesso
em: 6 mar. 2019.
a) F - F - V - F - V.
b) F - V - F - F - V.
c) V - V - V - V - F.
d) F - F - F - F - V.
9. SQL é um programa simples para emitir comandos sql para um banco de dados, é cliente
servidor. É considerado um aplicativo padrão para acessar e manipular informações no
banco de dados ORACLE. Pode ser considerado também como um programa de
computador que usa linha de comando para executar ações em SQL e PLSQL emuma
base de dados ORACLE. É considerado uma interface padrão para desenvolvedores e
analistas de sistemas. Sobre a linguagem SQL, analise as sentenças a seguir:
I- O operador EXISTS verifica se o resultado de uma consulta aninhada correlacionada é
vazio ou não.
II- As opções para a especificação de junção de tabelas disponíveis em SQL incluem
INNER JOIN, LEFT OUTER JOIN, CENTER OUTER JOIN, CENTER INNER JOIN, RIGHT
OUTER JOIN e FULL OUTER JOIN.
III- O operador CONTAINS compara dois conjuntos de valores e devolve TRUE se um
conjunto contiver todos os valores do outro conjunto.
IV- A cláusula WHERE especifica as condições para a seleção de tuplas das relações,
incluindo as condições para as junções, se necessário.
Assinale a alternativa CORRETA:
a) As sentenças I, III e IV estão corretas.
b) As sentenças I e IV estão corretas.
c) As sentenças I e II estão corretas.
d) As sentenças I e III estão corretas.
10.O SQL*Plus é o aplicativo padrão para acesso e manipulação de um banco de dados
Oracle. SQL é uma linguagem de consulta de dados estruturada, que se caracteriza por
ser um utilitário de linha de comando. A estrutura é cliente-servidor. É considerado um
aplicativo padrão para acessar e manipular informações no banco de dados ORACLE.
Pode ser considerado também como um programa de computador que usa linha de
comando para executar ações em SQL e PLSQL em uma base de dados ORACLE.
Analise o código SQL a seguir:
ALTER TABLE Produto ADD CONSTRAINT FK_CD_UNID_FABRIL FOREIGN
KEY(CD_UNID_FABRIL) REFERENCES UNID_FABRIL(ID)
O comando propõe acrescentar na tabela PRODUTO, sobre o campo CD_UNID_FABRIL,
a permissão para:
a) Consulta.
b) Atualização.
c) Melhor performance.
d) Criação de chave estrangeira.