Você está na página 1de 7

15/03/2024, 20:13 banco de dados avançado | Quizizz

Fichas de trabalho Nome

banco de dados avançados


Aula
Total de perguntas: 23
Tempo da planilha: 26 minutos
Data
Nome do instrutor: Wellington Costa

1. Qual é a função principal de uma transação em um banco de dados relacional?

a) Cópia de segurança b) Indexação

c) Controle de Concorrência e) Normalização

2. O que é a “normalização” em um contexto de banco de dados relacional?

a) Uma técnica para criar índices mais eficientes b) A prática de organizar dados em tabelas
relacionadas

c) Um processo para otimizar consultas e)


A prática de organizar dados em tabelas
relacionadas

3. Qual é a consulta SQL correta para recuperar todos os registros da tabela "clientes" onde o
país seja "Brasil"?

a) 'SELECT * FROM clientes WHERE país = b) 'SELECT * FROM clientes WHERE país LIKE
'Brasil';' 'Brasil';'

c) 'SELECT *FROM clientes WHERE país = e) 'SELECT * FROM clientes WHERE país =
Brasil;' 'Brasil';'

4.
Para atualizar o valor da coluna "preço" na tabela "produtos" para 150, onde o ID do produto é 101,
consulte SQL correta seria:
'ATUALIZAÇÃO produtos SET preço = 150 WHERE ID_produto = 101;'

a) Errado b) Certo

https://quizizz.com/print/quiz/65ef2c638afda0752d118a1e 1/7
15/03/2024, 20:13 banco de dados avançado | Quizizz

5. Ao criar uma tabela chamada "clientes" com as colunas "ID_cliente" (chave primária), "nome"
(texto), "idade" (inteiro) e "email" (único), a seguinte consulta SQL está correta:

CREATE TABLE clientes (


ID_cliente INT CHAVE PRIMÁRIA,
nome VARCHAR(255),
idade INT,
e-mail VARCHAR(255) ÚNICO
);

a) Errado b) Certo

6. A declaração de um procedimento em PL/SQL sempre inclui uma seção para parâmetros de


entrada, mas nunca permite a definição de parâmetros de saída.

a) Errado b) Certo

7. Considere o seguinte procedimento em PL/SQL. Ela está correta?


CRIAR OU SUBSTITUIR PROCEDIMENTO aumentar_salario (
NÚMERO DE IN_EMPLOYEE_ID,
NÚMERO DE IN_INCREMENT
)
COMO
ATUALIZAR funcionários
DEFINIR salário = salário + IN_INCREMENT
ONDE funcionário_id = IN_EMPLOYEE_ID;
;

a) Certo b) Errado

8. Um gatilho em PL/SQL pode ser definido para ser executado automaticamente antes ou depois de
um evento como INSERT, UPDATE ou DELETE em uma tabela específica.

a) Errado b) Certo

https://quizizz.com/print/quiz/65ef2c638afda0752d118a1e 2/7
15/03/2024, 20:13 banco de dados avançado | Quizizz

9. Considere o seguinte cenário: você deseja criar um trigger em PL/SQL que, sempre que um novo
registro para inserido na tabela "vendas", atualize automaticamente o estoque na tabela "produtos".
Qual seria o código correto para criar esse gatilho?
CRIAR OU SUBSTITUIR TRIGGER atualização_estoque
APÓS INSERIR EM VENDAS
PARA CADA LINHA
COMEÇAR
ATUALIZAR produtos
SET estoque = estoque - :NEW.quantidade
WHERE produto_id = :NEW.produto_id;
FIM;

a) 'PARA CADA COLUNA: NOVO' b) 'ANTES DE INSERIR NAS VENDAS'

c) 'ANTES DE ATUALIZAR OS PRODUTOS' e) ':OLD.quantidade'

10. Uma função em PL/SQL sempre retorna um valor, pode aceitar parâmetros de entrada e não pode
executar comandos DML (Data Manipulation Language) diretamente.

a) Errado b) Certo

11. Considere a seguinte função em PL/SQL, que tem como objetivo calcular o dobro de um número
passado como parâmetro. O código está correto?
CRIAR OU SUBSTITUIR FUNÇÃO calcular_dobro (p_numero NÚMERO)
NÚMERO DE DEVOLUÇÃO
É
v_dobro NÚMERO;
COMEÇAR
v_dobro := p_numero * 2;
RETORNA v_dobro;
FIM;

a) RETURN p_numero * 2; b) FUNÇÃO calcular_dobro (p_numero EM


NÚMERO) É

c) EXECUTAR calcular_dobro; e) RETORNA v_dobro;

12. Um bloco anônimo em PL/SQL é uma sequência de instruções que é executada quando é
chamada explicitamente, e geralmente, não possui um nome associado.

a) Errado b) Certo

https://quizizz.com/print/quiz/65ef2c638afda0752d118a1e 3/7
15/03/2024, 20:13 banco de dados avançado | Quizizz

13. Suponha que você precise criar um bloco anônimo em PL/SQL que insira um novo registro na
tabela "clientes" com o nome "Maria" e a idade 30. Qual seria o código correto para realizar essa
tarefa?

a) EXECUTE INSERT INTO clientes (nome, b) DECLARAR


idade) VALUES ('Maria', 30); v_nome VARCHAR2(50) := 'Maria';
v_idade NÚMERO := 30;
COMEÇAR
INSERT INTO clientes (nome, idade)
VALUES (v_nome, v_idade);
FIM;

c) COMEÇAR e) COMEÇAR
UPDATE clientes SET nome = 'Maria', idade INSERT INTO clientes (nome, idade)
= 30; VALORES ('Maria', 30);
FIM; FIM;

14. PL/SQL (Procedural Language/Structured Query Language) é uma linguagem de programação


processual que não estende o SQL com estruturas de controle de fluxo, loops e outras
funcionalidades para facilitar o desenvolvimento de procedimentos armazenados.

a) Certo b) Errado

15. Suponha que você precisa criar uma função em PL/SQL que calcule o salário médio dos
funcionários em uma tabela chamada "funcionários". Qual seria a estrutura básica correta para
definir essa função?

a) CRIAR FUNÇÃO calcular_media_salarial b) FUNÇÃO calcular_media_salarial


NÚMERO DE DEVOLUÇÃO NÚMERO DE DEVOLUÇÃO
COMEÇAR É
-- Código para calcular a média salarial aqui COMEÇAR
FIM; -- Código para calcular a média salarial aqui
FIM;

c) CRIAR OU SUBSTITUIR FUNÇÃO e) CRIAR FUNÇÃO calcular_media_salarial


calcular_media_salarial É
NÚMERO DE DEVOLUÇÃO COMEÇAR
É -- Código para calcular a média salarial aqui
COMEÇAR FIM;
-- Código para calcular a média salarial aqui
FIM;

https://quizizz.com/print/quiz/65ef2c638afda0752d118a1e 4/7
15/03/2024, 20:13 banco de dados avançado | Quizizz

16. O tratamento de abordagens em PL/SQL é realizado através dos blocos TRY...CATCH, onde o
bloco TRY contém o código suscetível a erros, e o bloco CATCH trata as abordagens que podem
ocorrer durante a execução do código.

a) Certo b) Errado

17. Considere o seguinte bloco PL/SQL que trata uma exceção específica.BEGIN
DECLARAR
v_salario funcionários.salário%TYPE;
v_id NÚMERO:= 101;
COMEÇAR
SELECIONE salário INTO v_salario FROM funcionários ONDE funcionário_id = v_id;
DBMS_OUTPUT.PUT_LINE('Salário: ' || v_salario);
EXCEÇÃO
QUANDO NO_DATA_FOUND ENTÃO
DBMS_OUTPUT.PUT_LINE('Nenhum dado encontrado para o ID ' || v_id);
QUANDO OUTROS ENTÃO
DBMS_OUTPUT.PUT_LINE('Erro inesperado.');
FIM;
FIM;

a) DECLARE não é necessário na parte interna b) A cláusula EXCEÇÃO não é necessária, pois
do bloco. o tratamento pode ser feito diretamente no
bloco principal.

c) O bloco interno deve começar com BEGIN e e) A cláusula QUANDO OUTROS é opcional no
terminar com END; tratamento de abordagens.

https://quizizz.com/print/quiz/65ef2c638afda0752d118a1e 5/7
15/03/2024, 20:13 banco de dados avançado | Quizizz

18. Suponha que você esteja escrevendo um procedimento em PL/SQL que realiza uma divisão. Você
deseja tratar a exceção quando ocorrer uma tentativa de divisão por zero. Qual seria a maneira
correta de implementar esse tratamento de exceção?

a) DECLARAR b) DECLARAR
resultado NÚMERO; resultado NÚMERO;
divisor NÚMERO:= 0; divisor NÚMERO:= 0;
COMEÇAR COMEÇAR
resultado := 10 / divisor; resultado := 10 / divisor;
EXCEÇÃO EXCEÇÃO
QUANDO OUTROS ENTÃO QUANDO ZERO_DIVIDE ENTÃO
DBMS_OUTPUT.PUT_LINE('Erro: Tentativa DBMS_OUTPUT.PUT_LINE('Erro: Tentativa
de divisão por zero.'); de divisão por zero.');
FIM; FIM;

c) DECLARAR e) DECLARAR
resultado NÚMERO; resultado NÚMERO;
divisor NÚMERO:= 0; divisor NÚMERO:= 0;
COMEÇAR COMEÇAR
resultado := 10 / divisor; resultado := 10 / divisor;
EXCEÇÃO EXCEÇÃO
QUANDO VALUE_ERROR ENTÃO QUANDO DIVIDE_BY_ZERO ENTÃO
DBMS_OUTPUT.PUT_LINE('Erro: Tentativa DBMS_OUTPUT.PUT_LINE('Erro: Tentativa
de divisão por zero.'); de divisão por zero.');
FIM; FIM;

19. Em PL/SQL, uma variável local declarada dentro de uma função pode ser acessada de forma
direta em outra função dentro do mesmo pacote.

a) Certo b) Errado

20. Em PL/SQL, é possível utilizar a cláusula "INSERT INTO...SELECT" para inserir dados em uma
tabela de outra tabela existente.

a) Certo b) Errado

21. Em um banco de dados relacional, uma relação de muitos para muitos (N:N) pode ser
representada através de uma tabela de associação.

a) Certo b) Errado

https://quizizz.com/print/quiz/65ef2c638afda0752d118a1e 6/7
15/03/2024, 20:13 banco de dados avançado | Quizizz

22. No PL/SQL, uma exceção não precisa ser declarada antes de ser utilizada em um bloco de
tratamento de abordagens.

a) Certo b) Errado

23. Em PL/SQL, o comando "ROLLBACK" pode ser utilizado para fazer todas as alterações realizadas
em uma transação atual.

a) Certo b) Errado

https://quizizz.com/print/quiz/65ef2c638afda0752d118a1e 7/7

Você também pode gostar