Logo Passei Direto
Buscar

Consultas SQL e Dicionário de Dados

User badge image
Paula Duarte

em

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

AS1 
 
P: Com base no DER, qual código SQL abaixo está correto para exibir a quantidade de 
contas por tipo de conta, exibindo o tipo e a quantidade, somente dos tipos que tiverem 
mais de 100 contas por tipo de conta. 
 
R: SELECT tp.nm_tipo_conta, count(*) 
FROM tab_tipo_conta tp JOIN tab_conta co 
ON co.id_tipo_conta = tp.id_tipo_conta 
GROUP BY tp.nm_tipo_conta 
HAVING count(*) > 100 
ORDER BY 1 
 
 
P: Com base no DER, qual código SQL abaixo está correto para exibir os correntistas que 
morem no município de "SÃO PAULO" e que nasceram, no município de 
"CARAGUATATUBA" mostrando o nome do mesmo, data de nascimento, endereço, 
número do endereço, número da conta, saldo e tipo de conta. 
 
R: SELECT cr.nm_nome, cr.dt_nascimento, lo.nm_nome, cr.nr_numero, 
mu.nm_MUNICÍPIO, mu2.nm_MUNICÍPIO, co.id_conta, co.vl_saldo, 
tp.nm_tipo_conta 
FROM tab_conta co 
JOIN tab_correntista cr 
ON cr.id_correntista = co.id_correntista 
JOIN tab_logradouro lo, 
ON cr.id_cep = lo.id_cep 
JOIN tab_MUNICÍPIO mu 
ON lo.id_MUNICÍPIO = mu.id_MUNICÍPIO 
JOIN tab_tipo_conta tp 
ON co.id_tipo_conta = tp.id_tipo_conta 
JOIN tab_MUNICÍPIO mu2 
ON cr.id_MUNICÍPIO = mu2.id_MUNICÍPIO 
WHERE mu.nm_MUNICÍPIO = 'SÃO PAULO' and 
mu2.nm_MUNICÍPIO = 'CARAGUATATUBA' 
 
P: Com base no DER abaixo, qual código SQL está correto para selecionar o número da 
conta, dígito da conta, saldo, nome do banco, nome da agência, e o tipo da conta do 
correntista "ADALTON ISIDORO" 
 
R: SELECT co.id_conta, co.nr_digito_conta, co.vl_saldo, 
ba.nm_banco, ag.nm_agência, tp.nm_tipo_conta 
FROM tab_conta co INNER JOIN tab_banco ba 
ON co.id_banco = ba.id_banco 
INNER JOIN tab_banco_agência ag 
ON co.id_banco = ag.id_banco AND 
co.id_agência = ag.id_agência 
INNER JOIN tab_correntista cr 
ON cr.id_correntista = co.id_correntista 
INNER JOIN tab_tipo_conta tp 
ON co.id_tipo_conta = tp.id_tipo_conta 
WHERE cr.nm_nome = 'ADALTON ISIDORO' 
 
AS2 
 
P: Considere a tabela T de um banco de dados relacional: 
T (ID, Nome, Fone) 
Indique a alternativa que contém a consulta SQL correta para criar uma visão V, a partir da 
tabela T, apenas para os Nomes começando pela letra J. 
R: CREATE VIEW V AS 
(SELECT ID, Nome, Fone 
FROM T 
WHERE Nome LIKE ‘J%’) 
 
P: Na base de dados de um sistema de controle de clientes, foi criada a tabela CLIENTES, que 
conta com as colunas: ID, NOME, ENDERECO, CIDADE e UF. Os valores da coluna ID não se 
repetem devido ser campo chave. 
Sobre essa tabela CLIENTES foi criada a visão VCLIENTES_RJ, que busca apresentar os clientes 
do estado do Rio de Janeiro. O comando de criação da visão VCLIENTES_RJ é: 
 
CREATE VIEW VCLIENTES_RJ 
AS SELECT ID, NOME, ENDERECO, CIDADE, UF 
FROM CLIENTES WHERE UF = ‘RJ’ 
 
Um usuário submeteu o seguinte comando para execução pelo gerenciador do banco de 
dados: 
UPDATE VCLIENTES_RJ SET NOME =’JOAO’ 
WHERE ID IN (1,2,3) AND UF = ‘SP’ 
 
O comando UPDATE acima, quando submetido para execução, resulta na atualização de: 
R: nenhuma linha, pois não é possível realizar atualização sobre visões. 
 
P: Qual comando é utilizado para apagar uma sequence com nome de “SQ_CLIENTE”? 
R: DROP SEQUENCE SQ_CLIENTE; 
 
P: Considere a instrução Oracle PL/SQL a seguir. 
CREATE VIEW valores (nome, minsal, maxsal, medsal) 
AS SELECT d.depnome, MIN(e.sal), MAX(e.sal), AVG(e.sal) 
FROM empregado e JOIN departamento d 
JOIN e.depnro=d.depnro 
GROUP BY d.depnome; 
 
Considere a existência das tabelas departamento e empregado, relacionadas de forma que 
cada departamento possa ter um ou muitos empregados ligados a ele. Na tabela 
departamento, existem os campos depnro (chave primária) e depnome, e na tabela 
empregado existem os campos empnro (chave primária), empnome, cargo, sal e depnro 
(chave estrangeira). 
Considere que, em ambas as tabelas, existem registros cadastrados relacionando 
adequadamente departamentos e empregados. 
 
A instrução acima: 
R: está correta, e a view será criada com os nomes de departamento e os valores mínimo, 
máximo e médio dos salários por departamento. 
 
AS3 
 
P: O Dicionário de Dados de um Banco de Dados relacional 
R: armazena, entre outras informações, nomes de Tabelas e de seus atributos 
 
P: A estrutura que, além de ser organizada sob a forma de uma lista organizada de todos 
os elementos de Dados pertinentes ao Sistema, também constitui ponto de referência de 
todos os elementos desse Sistema, permitindo associar um significado a cada termo 
utilizado, é tecnicamente conhecida como: 
R: Dicionário de Dados. 
 
P: Há cinco categorias de views de Dicionário de Dados. Qual categoria é destinada a 
objetos pertinentes ao usuário? 
R: USER_. 
 
P: Observe as seguintes afirmativas: 
 
I – Dicionários de Dados auxiliam a manter a integridade de Sistemas. 
II – Dicionários de Dados facilitam a integração entre diferentes Sistemas. 
III – Dicionários de Dados determinam os requisitos do Sistema. 
IV – Dicionários de Dados auxiliam a tarefa de manutenção de Sistemas. 
R: I, II e IV. 
 
AS4 
 
P: A linguagem PL/SQL permite o uso de comandos SELECT diretamente dentro do programa. A 
seguir, são apresentados trechos PL/SQL para obter o salário (coluna Salario) do empregado 
(tabela EMPREGADO) de matrícula (coluna Matrícula) igual a 4050. 
Qual dos blocos PL/SQL abaixo está correto, considerando que existe um único empregado 
com matrícula 4050: 
R: DECLARE 
 v_sal EMPREGADO.Salario%Type; 
BEGIN 
 SELECT salario INTO v_sal FROM empregado WHERE matricula=4050; 
END; 
 
P: Em PL-SQL (Procedural Language/Structured Query Language), quanto aos cursores 
explícitos, os três comandos essenciais existentes são: 
R: OPEN, FETCH e CLOSE 
 
P: Quais são os três tipos de blocos PL/SQL? 
R: Anônimo, Procedures e Functions. 
 
P: Analise o scritpt Oracle PL/SQL a seguir: 
DECLARE 
 c_livroid livro.livroid%type; 
 c_titulo livro.titulo%type; 
 CURSOR c_livros is 
 SELECT livroid, titulo FROM livro; 
BEGIN 
 OPEN c_livros; 
 LOOP 
 .......; 
 EXIT WHEN c_livros%notfound; 
 dbms_output.put_line(c_livroid || ' ' || c_titulo); 
 END LOOP; 
 CLOSE c_livros; 
END; 
 
Para que esse script funcione corretamente, exibindo os códigos identificadores e títulos de 
cada livro, a linha pontilhada deve ser substituída por: 
R: FETCH c_livros into c_livroid, c_titulo 
 
AS5 
 
P: Considerando o conceito de procedimentos armazenados (stored procedures), 
presentes em bancos de dados relacionais, é CORRETO afirmar que: 
R: são armazenados, de forma persistente, no banco de dados. 
 
P: Qual a diferença entre FUNCTION e STORED PROCEDURE? 
R: A FUNCTION retorna valor e a STORED PROCEDURE não retorna valor. 
 
P: Tendo como base a tabela TAB_EMPREGADO abaixo, assinale a alternativa que 
apresenta o script CORRETO para criar uma procedure com nome P_AUMENTO, para 
aumentar o valor dos salários do empregado com o ID do empregado e a porcentagem de 
aumento passando via parâmetro. 
R: 
create or replace 
PROCEDURE p_aumento( 
 v_id tab_empregado.id_empregado%type, 
 v_aumento tab_empregado.salario%type 
 ) 
IS 
BEGIN 
 UPDATE tab_empregado 
 set salario = (salario + ((salario * v_aumento)/100)) 
 where id_empregado = v_id; 
END p_aumento; 
 
P: Considere a tabela EMP em um banco de dados Oracle, contendo os campos ID, NOME, 
CARGO e SALARIO. Considere ainda que a procedure seguinte tem a intenção de reajustar o 
salário de todos os funcionários em 20%: 
 
CREATE OR REPLACE PROCEDURE aumento 
BEGIN 
 UPDATE EMP SET SALARIO = SALARIO * 1.2; 
END; 
 
Para que a procedure seja considerada CORRETA, é necessário 
R: acrescentar a palavra-chave IS imediatamente antes da instrução BEGIN. 
 
AS6 
 
P: Triggers são: 
R: Procedimentos armazenados, cuja execução é disparada antes ou depois da ocorrência 
de um evento em uma Tabela com o qual estão relacionados. 
 
P: Em Banco deDados, Triggers são: 
R: Objetos armazenados que são automaticamente executados em resposta à execução 
de algum evento 
 
P: O desenvolvedor precisar criar um gatilho para garantir que, no momento da inserção 
das informações na Tabela tb_produto, caso o campo estoque esteja vazio, seja gravado o 
valor 0 (Zero). Como seria a criação da trigger para atender a esse caso? 
R: 
CREATE OR REPLACE TRIGGER trg_produto_estoque 
BEFORE INSERT ON tb_produto 
FOR EACH ROW 
BEGIN 
 IF :NEW.estoque IS NULL THEN 
 :NEW.estoque := 0 
 END IF 
END 
 
P: Qual das Exceptions a seguir consiste em erro interno do PL/SQL? 
R: PROGRAM_ERROR.

Mais conteúdos dessa disciplina