Buscar

DP - questoes B D

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Questões – Linguagem de programação de Banco de Dados
Módulo 1
Analise as afirmações abaixo:
 
I – Os comandos Alter e Update do SQL permitem a modificação de dados em tabelas
II – Os comandos Create e Drop do SQL são utilizados para, respectivamente, criar uma nova tabela e eliminar uma tabela existente no banco de dados
III – Para se eliminar uma tabela existente no banco de dados pode-se utilizar o comando Drop ou o comando Delete
 
Escolha a alternativa correta abaixo:
Apenas a afirmação II é verdadeira 
Analise as afirmações abaixo:
 
I – O comando SQL Alter table Empregado add (constraint C01 foreign key (cod_cargo) references Cargo(codigo))
define a coluna cod_cargo como chave estrangeira na tabela Empregado
II – O comando SQL Alter table Pessoa add (constraint C02 unique (nome) )
garante que na tabela Pessoa não poderá haver repetição de Nome
III – A restrição Not Null tem que ser utilizada obrigatoriamente em todas as colunas que sejam definidas como chave estrangeira
 
Escolha a alternativa correta abaixo:
Apenas a afirmação III é falsa 
Em um banco de dados está definida a tabela:
Pessoa ( Codigo number(5) primary key, Nome char (30), sexo char (1) )
 
Analise as afirmações abaixo:
 
I – O comando SQL Alter table Pessoa add check (sexo = 'M' or sexo = 'F') garante que os únicos valores válidos para Sexo sejam M e F
II – O comando SQL Alter table Pessoa modify (nome char (50) ) somente poderá ser executado se a tabela Pessoa estiver vazia (sem nenhuma linha)
III – O comando Update Pessoa  modify Codigo > 0 garante que os únicos valores para Codigo serão números inteiros positivos
 
Escolha a alternativa correta abaixo:
Apenas a afirmação I é verdadeira
Em um banco de dados estão definidas as tabelas:
Departamento (Codigo number (3) primary key, nome char (40))
e
Empregado ( Codigo number(5) primary key, Nome char (30), Depto number (3) references Departamento (codigo),
                               sexo char (1) not null,  salario number (9,2) )
 
Analise as afirmações abaixo:
 
I – O comando SQL Alter table Empregado modify (Depto not null); torna obrigatório todo empregado pertencer a um departamento
II – O comando SQL Alter table Empregado modify (Codigo > 0); garante que o código de empregado seja sempre positivo
III – O comando SQL Alter table Empregado drop (sexo); dará um erro ao ser executado por que o campo sexo é obrigatório (not null)
 
Escolha a alternativa correta abaixo:
Apenas a afirmação I é verdadeira
 5) Qual das cláusulas abaixo não pode ser utilizada em um comando de criação de tabela em um banco de dados relacional:
is null
6) Em um banco de dados está definida a tabela Pessoa (Codigo char(3) primary key, Nome char(10)) onde já foi incluída a linha ('ABC', 'Maria Jose').
Assinale, se houver, qual dos comandos de modificação abaixo não pode ser executado:
Alter table Pessoa modify column (Nome char(8))
7)  Em um banco de dados está definida a tabela Pessoa (Codigo char(3) primary key, Nome char(10)) onde já foi incluída a linha ('ABC', 'Maria Jose').
Assinale, se houver, qual dos comandos de modificação abaixo não pode ser executado:
Todos os quatro comandos de alteração podem ser executados com êxito
8) Em um banco de dados está definida a tabela
Cliente (Codigo char(3) primary key, Nome char(10), LimiteCredito numeric (9.2))
onde já foram incluídas as linhas ('ABC', 'Maria Jose', 1000.00) e
('XYZ', 'Carolina', null).
Assinale, se houver, qual dos comandos de modificação abaixo não pode ser executado:
Alter table Cliente modify column (LimiteCredito not null)
9) Em um banco de dados está definida a tabela
Cliente (Codigo char(3) primary key, Nome char(10), LimiteCredito numeric (9.2))
onde já foram incluídas as linhas ('ABC', 'Maria Jose', 1000.00) e
('XYZ', 'Carolina', 0).
Assinale, se houver, qual dos comandos de modificação abaixo não pode ser executado:
Todos os quatro comandos de alteração podem ser executados com êxito
10) Em um banco de dados relacional está definida a tabela
Produto (Codigo char(3) primary key, Nome char(30), PrecoUnitario decimal (7.2), UnidadeMedida char(5)).
Nessa tabela já foram incluídas as linhas
('P01', 'Refrigerante', 3.50, 'LITRO')
('P02', 'Cerveja', 4.00, 'LATA').
Para garantir integridade dos valores de UnidadeMedida, foi criada a tabela TabUnidMedida (Nome char(5) primary key), na qual ainda não foram incluídos valores.
O que se pode afirmar sobre a execução do seguinte comando SQL:
alter table Produto add foreign key UnidadeMedida references TabUnidMedida (Nome)
O comando está correto porém não poderá ser executado por não haver integridade entre os valores da chave estrangeira e da chave primária referenciada
Módulo 2
Considere as tabelas
Empregado (Cod_emp, Nome_emp, Salario_emp, Cod_depto_emp) e
Departamento (Codigo, Nome), onde Cod_depto_emp é uma chave estrangeira que referencia Departamento:
Indique o comando SQL que seleciona todos os empregados do Departamento ADM:
select * from Empregado where Cod_depto_emp = 'ADM'; 
Considere a tabela
Empregado (Cod_emp, Nome_emp, Salario_emp, Cod_depto_emp).
Indique o comando SQL que seleciona o Nome e o Salario todos os empregados com Salario maior que 1.000:
select Nome_emp, Salario_emp from Empregado where Salario_emp > 1000
Considere a tabela
Empregado (Cod_emp, Nome_emp, Salario_emp, Cod_depto_emp).
Indique o comando SQL que seleciona o Código, o Nome e o Salário de todos os empregados do departamento ADM com Salario maior que 1.000:
select Codigo, ,Nome and Salario from Empregado where Cod_depto_emp = 'ADM' and Salario_emp > 1000
Considere a tabela
Empregado (Cod_emp, Nome_emp, Salario_emp, Cod_depto_emp).
Indique o comando SQL que seleciona todos os empregados do departamento ADM com Salario
maior que 500 ou do departamento RH com salario menor que 1.000:
elect * from Empregado where Cod_depto_emp = 'ADM' and Salario_emp > 500 or Cod_depto_emp = ´RH´ and Salario_emp < 1000
Considere a tabela
Empregado (Cod_emp, Nome_emp, Salario_emp, Comissao_emp, Cod_depto_emp) contendo os dados dos empregados de uma empresa. Somente empregados do departamento VENDAS recebem comissão e entre esses alguns obtiveram zero de comissão.
Indique o comando SQL que soluciona o problema de encontrar os empregados que receberam comissão acima da média do valor de todas as comissões:
select * from Empregado where comissao > (select avg(comissao) from empregado)
6) Uma empresa que armazena os dados dos seus empregados em uma tabela conforme abaixo, deseja saber qual o impacto que ocorrerá sobre o total dos salários em cada departamento se for aplicado um aumento de 10% a todos os salários. Considere a tabela
Empregado (Cod_emp, Nome_emp, Salario_emp, Comissao_emp, Cod_depto_emp).
Indique o comando SQL que soluciona o problema proposto:
select Cod_depto_emp, sum(salario)*0.1 from Empregado group by Cod_depto_emp
7) A execução de um comando select do SQL acessando os dados de uma tabela resultou as seguintes três linhas de valores:
Nome Salario Cargo 
-------- ------- ------------- 
ADRIANA 1500 Analista JR 
JULIANA 1800 Analista PL 
ANANIAS 1990 Analista SR
Qual das opções abaixo não pode ser parte do comando select executado:
where Salario < 2000 and Nome like 'ANA%'
8) A execução de um comando select do SQL acessando os dados de uma tabela resultou as seguintes três linhas de valores:
Nome Salario Cargo 
-------- ------- ------------- 
ADRIANA 1500 Analista JR 
JULIANA 1800 Analista PL 
ANANIAS 1990 Analista SR
Qual das opções abaixo não pode ser parte do comando select executado:
where nome like 'ANA%'
 9) A execução de um comando select do SQL acessando os dados de uma tabela resultou as seguintes três linhas de valores:
Nome Salario Cargo 
-------- ------- ------------- 
ADRIANA 1500 AnalistaJR 
JULIANA 1800 Analista PL 
ANANIAS 1990 Analista SR
Qual das opções abaixo não pode ser parte do comando select executado:
here Nome like '%ANA%' and Salario > 1600
10) Considere a tabela VEICULO cujos dados estão apresentados abaixo:
 
VEICULO
PLACA CIDADE MARCA ANO COR DONO
------- ---------- ------- ---------- ---------- ---------- 
AAB4132 134 VW 2005 AZUL 1 
AAB9252 134 GM 2006 VERDE 1 
ACX4981 134 FIAT 1997 PRETO 3 
BAB7852 134 VW 2002 VERDE 3 
BAQ7351 245 FIAT 2003 VERDE 7 
BAQ5418 245 VW 2006 BRANCO 7 
BAQ2350 245 FORD 2005 PRATA 7 
BAQ2178 245 GM 2004 PRATA 8 
DDY2198 103 GM 2003 PRETO 10 
DDY3218 103 VW 2004 PRATA 10 
DDY5716 103 FORD 2004 AZUL 9 
DDY3321 103 VW 2005 VERMELHO 9 
DDY2156 103 FIAT 2004 VINHO 10 
AZK5556 356 FIAT 2003 PRETO 11 
AZK1267 356 FIAT 2000 PRATA 11 
AZK3455 356 VW 2004 VINHO 5 
AZK5236 356 GM 2003 VERDE 5 
AZK5676 356 FIAT 2001 AZUL 4
Responda qual a quantidade de linhas resultantes do seguinte comando SQL:
 select Placa, Marca, Ano, Cor
from Veiculo
where marca = ´VW` or ano = 2006 and cor = ´VERDE`;
7 linhas selecionadas
11) Considere a tabela VEICULO cujos dados estão apresentados abaixo:
 
VEICULO
PLACA CIDADE MARCA ANO COR DONO
------- ---------- ------- ---------- ---------- ---------- 
AAB4132 134 VW 2005 AZUL 1 
AAB9252 134 GM 2006 VERDE 1 
ACX4981 134 FIAT 1997 PRETO 3 
BAB7852 134 VW 2002 VERDE 3 
BAQ7351 245 FIAT 2003 VERDE 7 
BAQ5418 245 VW 2006 BRANCO 7 
BAQ2350 245 FORD 2005 PRATA 7 
BAQ2178 245 GM 2004 PRATA 8 
DDY2198 103 GM 2003 PRETO 10 
DDY3218 103 VW 2004 PRATA 10 
DDY5716 103 FORD 2004 AZUL 9 
DDY3321 103 VW 2005 VERMELHO 9 
DDY2156 103 FIAT 2004 VINHO 10 
AZK5556 356 FIAT 2003 PRETO 11 
AZK1267 356 FIAT 2000 PRATA 11 
AZK3455 356 VW 2004 VINHO 5 
AZK5236 356 GM 2003 VERDE 5 
AZK5676 356 FIAT 2001 AZUL 4
Responda qual a quantidade de linhas resultantes do seguinte comando SQL:
 select Placa, Marca, Ano, Cor
from Veiculo
where marca = ´FORD` or ano = 2005 and cor = ´PRATA`;
 linhas selecionadas
 12) No banco de dados de uma empresa que realiza projetos para clientes, além de tabelas com dados de empregados e dados de projetos, está definida a tabela EmpProj (CodEmp, CodProj, HrMes), onde CodEmp é o código de um empregado, CodProj é o código de um projeto e HrMes é a quantidade de horas que o empregado dedica mensalmente ao projeto.
Deseja-se identificar os projetos para os quais o total de horas dedicadas por mês seja maior que 1.000. Para esses projetos o resultado deve apresentar o código do projeto e o total de horas dedicadas.
Para resolver a solicitação acima, foi escrito um comando Select do SQL, conforme abaixo:
Select CodProj, sum(HrMes) 
 from EmpProj 
 (1) ____________________________ 
 group by CodProj 
 (2) ____________________________
Escolha a opção que completa o comando acima:
 (1) linha em branco; (2) having sum(HrMes) > 1000
Módulo 3
Uma empresa definiu um banco de dados para armazenar os seus dados organizacionais, já tendo definido as tabelas:
Departamento (Codigo, Nome) e Empregado (Cod_emp, Nome_emp, Salario_emp, Cod_depto_emp)
onde Cod_depto_emp é uma chave estrangeira que referencia Departamento. Os dados ainda estão sendo incluídos nas tabelas, mas já foram cadastrados vários departamentos e vários empregados. Para saber quantos empregados já estão cadastrados em cada departamento foram escritos dois comandos SQL:
 
I)  select D.Nome, (select count(*) from Empregado where cod_depto_emp = D.Codigo) as Qtde
                from Departamento D
 
II )  select D.Nome, count(*) as Qtde 
                from Departamento D inner join Empregado E on D.Codigo = E.Cod_depto_emp 
                group by D.Nome
 
Sobre os dois comandos acima pode-se afirmar:
 
O comando I apresenta o resultado mais completo por que, além de apresentar tudo que o comando II apresenta, também apresenta os Departamentos com zero empregados, se houver
No banco de dados de uma empresa estão definidas as tabelas:
Departamento (Codigo, Nome) e Empregado (Codemp, Nomeemp, Salario, Coddeptoemp)
onde Coddeptoemp é uma chave estrangeira que referencia Departamento e identifica o departamento onde o empregado trabalha. Analise o dois comandos SQL abaixo que tem como objetivo mostrar, para cada empregado, o seu nome e o código e o nome do departamento onde trabalha:
 
I)  select E.Nome, (select D.Codigo, D.Nome from Departamento D where  D.Codigo = E.Coddeptoemp)
                from Empregado E
 
II )  select E.Nome, E.Coddeptoemp, (select D.Nome from Departamento D where  D.Codigo = E.Coddeptoemp)
                from Empregado E
 
Sobre os dois comandos acima pode-se afirmar:
O comando II apresenta o resultado esperado. O comando I não é executável por erro
No banco de dados de uma empresa estão definidas as tabelas:
Departamento (Codigo, Nome) e Empregado (Codemp, Nomeemp, Salario, Coddeptoemp)
onde Coddeptoemp é uma chave estrangeira que referencia Departamento e identifica o departamento onde o empregado trabalha. Analise o dois comandos SQL abaixo que tem como objetivo mostrar os nomes dos departamentos onde trabalham empregados com salário menor do que a média salarial da empresa:
 
I) Select D.Nome
from Departamento D
where exists (select * from empregado E where E.Coddeptoemp = D.codigo and  E.salario < (select avg(salario) from empregado))
order by D.nome
 
II )  select distinct D.Nome
from Departamento D, Empregado E
where D.codigo = E.Coddeptoemp   and  E.salario < (select avg(salario) from empregado)
order by D.nome
 
Sobre os dois comandos acima pode-se afirmar:
Os dois comandos apresentam  resultados iguais, em qualquer situação dos dados
No banco de dados de uma empresa estão definidas as tabelas:
Departamento (Codigo, Nome, Codgerente) e Empregado (Codemp, Nomeemp, Salario, Coddeptoemp)
onde Coddeptoemp é uma chave estrangeira que referencia Departamento e identifica o departamento onde o empregado trabalha e Codgerente é uma chave estrangeira que referencia Empregado e identifica o gerente do departamento. Analise o dois comandos SQL abaixo que tem como objetivo mostrar os nomes e salários dos empregados e o nome do seu departamento, para os empregados que tem salário maior do que o salário do gerente do departamentos onde trabalham:
 
I) select E.Nome, E.Salario, D.Nome
frpom Empregado E, Empregado G, Departamento D
where ECoddeptoem = D.Codigo  and  D.CodGerente = G.Codemp
and E.salario > G.salario
 
II ) select E.Nome, E.Salario, D.Nome
from Empregado E
inner join Departamento D on E.Coddeptoemp = D.Codigo
inner join Empregado G on  D.CodGerente = G.codemp
where E.salario > G.salario
 
Sobre os dois comandos acima pode-se afirmar:
Os dois comandos apresentam  resultados iguais, em qualquer situação dos dados
Uma empresa de comércio eletrônico possui depósitos de produtos em diferentes regiões do país. Os dados dos produtos comercializados e estoques disponíveis estão armazenados nas seguintes tabelas:
Produto (Codigo, Nome, UnidMedida, PrecoUnit)
Deposito (Codigo, Nome, Cidade)
EstoqueProd (CodProd,CodDeposito, QtdeEstoque), onde CodProd e CodDeposito são chaves estrangeiras referenciando as tabelas Produto e Deposito, respectivamente.
 
Para fazer uma análise da situação de estoque dos produtos foi solicitado um relatório organizado por nome de depósito e código de produto, que apresente os depósitos e produtos onde o estoque está com menos do que 10 unidades. O seguinte comando SQL está sendo montado, mas ainda está incompleto.
 
Select D.Codigo, D.Nome, P.Codigo, P.Nome, E.QtdeEstoque
from Deposito D, Produto P, EstoqueProd E
(1) _______________
(2) _______________
 
Escolha a opção que completa as linhas identificadas por (1) e (2) no comando acima de modo que ele retorne o resultado solicitado:
(1) where D.Codigo = E.CodDeposito   and   P.Codigo = E.CodProd   and   E.QtdeEstoque < 10
(2) order by D.Nome, P.Codigo
Uma empresa de comércio eletrônico possui depósitos de produtos em diferentes regiões do país. Os dados dos produtos comercializados e estoques disponíveis estão armazenados nas seguintes tabelas:
Produto (Codigo, Nome, UnidMedida, PrecoUnit)
Deposito (Codigo, Nome, Cidade)
EstoqueProd (CodProd, CodDeposito, QtdeEstoque), onde CodProd e CodDeposito são chaves estrangeiras referenciando as tabelas Produto e Deposito, respectivamente.
Para a venda de um produto de código P103, deseja-se saber os nomes dos depósitos que possuem tal produto em estoque. O seguinte comando SQL está sendo montado, mas ainda está incompleto.
 
Select D.Nome, E.QtdeEstoque
(1) _______________
(2) _______________
 
Escolha a opção que completa as linhas identificadas por (1) e (2) no comando acima de modo que ele retorne o resultado solicitado:
(1) from Deposito D, EstoqueProd E
(2) where D.codigo = E.CodDeposito   and  E.CodProd = 'P103'
Uma empresa de comércio eletrônico possui depósitos de produtos em diferentes regiões do país. Os dados dos produtos comercializados e estoques disponíveis estão armazenados nas seguintes tabelas:
Produto (Codigo, Nome, UnidMedida, PrecoUnit)
Deposito (Codigo, Nome, Cidade)
EstoqueProd (CodProd, CodDeposito, QtdeEstoque), onde CodProd e CodDeposito são chaves estrangeiras referenciando as tabelas Produto e Deposito, respectivamente.
 
Para realizar uma grande venda de um produto de código AB902 deseja-se saber o total de estoque de tal produto em todos os depósitos. Para obter esse resultado foram escritos dois comandos SQL:
I) Select P.nome, sum(E.QtdeEstoque) TotalEstq
from EstoqueProd E, Produto P
where P.Codigo = E.CodProduto   and  P.Codigo = 'AB902'
group by P.nome
II)  Select (Select P.nome from Produto P where P.Codigo = 'AB902') Nome, sum(E.QtdeEstoque) TotalEstq
from EstoqueProd E
where  E.CodProduto = 'AB902'
 
Sobre os dois comandos acima pode se afirmar:
Os dois comandos apresentam resultados iguais, em qualquer situação dos dados
Módulo 4
Uma empresa definiu um banco de dados para armazenar os seus dados organizacionais, já tendo definido as tabelas:
Departamento (Codigo, Nome, CodGerente) e Empregado (CodEmp, NomeEmp, Salario, CodDeptoEmp) onde CodDeptoEmp é uma chave estrangeira não nula que referencia Departamento e CodGerente é uma chave estrangeira que referencia Empregado.
Os dados ainda estão sendo incluídos nas tabelas, mas já foram cadastrados alguns departamentos e vários empregados. Verifique quais dos comandos abaixo e em que ordem devem ser executados para criar um novo departamento de Contas a Pagar e registrar um novo empregado de nome João da Silva contratado para ser o seu gerente, com salário de 3000.
I) insert into Departamento (codigo, nome) values ('CP', 'Contas a Pagar')
II) insert into Departamento values ('CP', 'Contas a Pagar', 05)
III) Insert into Empregado values (05, 'João da Silva', 3000, 'CP')
IV) Insert into Empregado values (05, 'João da Silva', 3000, null)
V) Update Departamento set CodGerente = 05 where Codigo = 'CP'
VI) Update Empregado set CodDeptoEmp = 'CP' where CodEmp = 05
I, III, V
Uma empresa definiu um banco de dados para armazenar os seus dados organizacionais, já tendo definido as tabelas:
Departamento (Codigo, Nome, CodGerente) e Empregado (CodEmp, NomeEmp, Salario, CodDeptoEmp) onde CodDeptoEmp é uma chave estrangeira não nula que referencia Departamento e CodGerente é uma chave estrangeira que referencia Empregado.
Os dados ainda estão sendo incluídos nas tabelas, mas já foram cadastrados alguns departamentos e vários empregados.
A tabela Departamento já possui as linhas
('RH', 'Recursos Humanos', 01)
('CP', 'Contas a Pagar', 05)
('CR', 'Contas a Receber', null)
Foi contratado um novo empregado, José Oliveira, para ser o gerente do departamento de Contas a Pagar, com salário 5000 e o atual gerente de contas a pagar passará a gerente de contas a receber. Verifique quais dos comandos abaixo e em que ordem devem ser executados para refletir essa modificação. 
I) update Empregado set CodDeptoEmp = 'CR' where CodEmp = 05
II) Update Departamento set CodGerente = 05 where Codigo = 'CR'
III) Insert into Empregado values (06, 'José Oliveira', 5000, 'CP')
IV) Insert into Empregado values (06, 'José Oliveira', 5000, null)
V) Update Departamento set CodGerente = 06 where Codigo = 'CP'
VI) Update Empregado set CodDeptoEmp = 'CP' where CodEmp = 06
I, II, III, V
Uma empresa pretende aumentar em 10% o preço unitário dos seus produtos com preço menor do que 20. Os dados dos produtos estão armazenados na tabela:
Produto (Codigo, Nome, UnidMedida, PrecoUnit)
Para isso está sendo montado o seguinte comando de atualização, ainda incompleto
Update Produto
(1) _______________
(2) _______________
 
Escolha a opção que completa as linhas identificadas por (1) e (2) no comando acima de modo que dele resulte o resultado solicitado:
(1) set PrecoUnit = PrecoUnit * 1.1
(2) where PrecoUnit < 20
Uma empresa de comércio eletrônico possui depósitos de produtos em diferentes regiões do país. Os dados dos produtos comercializados e estoques disponíveis estão armazenados nas seguintes tabelas:
 
Produto (Codigo, Nome, UnidMedida, PrecoUnit)
Deposito (Codigo, Nome, Cidade)
EstoqueProd (CodProd, CodDeposito, QtdeEstoque), onde CodProd e CodDeposito são chaves estrangeiras referenciando as tabelas Produto e Deposito, respectivamente.
 
O produto de código P103 passará a ser armazenado no depósito 04, ambos já incluídos nas tabelas Produto e Estoque, respectivamente. O estoque inicial será de 300 unidades. O seguinte comando SQL está sendo montado, mas ainda está incompleto.
 
Insert into EstoqueProd
(1) _______________
(2) _______________
 
Escolha a opção que completa as linhas identificadas por (1) e (2) no comando acima de modo que dele resulte o resultado solicitado:
(1) values ( 'P103', 04, 300)
(2) linha em branco
Módulo 5
Sobre as propriedades das transações lógicas de atualização de banco de dados, é INCORRETO afirmar que:
A propriedade de Isolamento não garante que a execução simultânea de transações resulte na mesma situação do banco de dados que seria obtida caso as transações tivessem sido executadas uma de cada vez
Analise as afirmações abaixo sobre transações lógicas de atualização de banco de dados:
I - Transação é um conjunto de comandos de atualização de dados definidos como uma unidade de execução para garantir a integridade dos dados
II - Uma transação, após ser iniciada, tem sempre que ser efetivada
III - Uma transação, mesmo que seja encerrada de forma anormal, sempre deixa o banco de dados em um estado de estabilidade
Escolha a alternativa correta abaixo:
Apenas a afirmação II é falsa
Analise as afirmações abaixo sobre transações lógicas de atualização de banco de dados:
I - Várias transações distintas podem estar em execução simultânea no sistema
II - O controle de concorrência de um SGBD (Sistema Gerenciador de Banco de Dados) garante que nenhuma transação seja abortada durante sua execução
III - Uma transação só se inicia quando todas as outras forem concluídasEscolha a alternativa correta abaixo:
Apenas a afirmação I é verdadeira
Analise as afirmações abaixo sobre transações lógicas de atualização de banco de dados:
I – O comando COMMIT do SQL, encerra a transação corrente e efetivando as atualizações realizadas
II – O comando ROLLBACK do SQL, encerra a transação corrente desfazendo todas as atualizações realizadas
III - Se uma transação falhar no meio de sua execução, o usuário precisará executar comandos para desfazer seus efeitos e garantir a integridade do banco de dados
Escolha a alternativa correta abaixo:
Apenas a afirmação III é falsa
 Seja a tabela Empregado(Codigo, Nome, Cargo, Salario) contendo a linha
 
(01, 'Joao da Silva', 'Programador', 2000.00).
 
Qual será o conteúdo da linha após a sequência de comandos:
 
update Empregado set salario = salario * 1.2 where codigo = 01;
commit;
update Empregado set salario = salario+2000, cargo = 'Analista' where codigo = 01;
rollback;
(01, 'Joao da Silva', 'Programador', 2400.00)
Seja a tabela Empregado (Codigo, Nome, Cargo, Salario) contendo a linha
 
(01, 'Joao da Silva', 'Programador', 2000.00).
 
O que pode-se dizer se forem executados os seguintes comandos SQL:
 
update Empregado set salario = salario * 1.1 where codigo = 01;
update Empregado set cargo = 'Programador Senior' where codigo = 01;
delete Empregado where cargo = 'Programador';
commit;
O conteúdo da linha da tabela será (01, 'Joao da Silva', 'Programador Senior', 2200.00)
Sejam as seguintes afirmações sobre a recuperação de bancos de dados:
I - A recuperação de um banco de dados significa restaurá-lo a um estado consistente, após a ocorrência e detecção de alguma falha
II - A redundância da informação é uma característica necessária e obrigatória para a recuperação de um banco de dados
II - Em um banco de dados, todas as transações executadas devem preservar a consistência dos dados
Sobre as afirmações, pode-se dizer que:
Apenas a afirmação II é falsa
 Sobre o mecanismo de recuperação de banco de dados baseado em log, podemos dizer que:
I - O uso de log permite recuperar o banco de dados em caso de falhas
II - O uso de log tem por objetivo principal identificar o responsável por cada modificação no banco de dados
III - O log armazena em seu conteúdo informações sobre as atualizações realizadas na base de dados
Sobre as afirmações, pode-se dizer que:
Apenas a afirmação II é falsa
Sobre o mecanismo de recuperação baseado em log, podemos dizer que:
I - O registro de uma atualização no log deve ser realizado antes da modificação ser feita no banco de dados
II - Ficam registrados no log eventos como COMMIT e ROLLBACK de transações
III - O mecanismo de recuperação em log está relacionado com a propriedade de atomicidade de uma transação
Sobre as afirmações, pode-se dizer que:
Todas as afirmações apresentadas são verdadeiras
 Seja a tabela Empregado (Codigo, Nome, Cargo, Salario) contendo 1.000 linhas referentes a dados de mil empregados, sobre a qual será aplicada a seguinte transação de atualização:
 
update Empregado set salario = salario * 1.1;
commit;
 
Se durante a execução do comando update, após terem sido atualizadas 500 linhas da tabela, ocorrer uma falha que desative o computador onde está o banco de dados, o que o sistema gerenciador de banco de dados fará quando for reinicializado?
Restaurará todos os valores originais, anteriores ao início da transação
Módulo 6
Em um banco de dados estão definidas as tabelas:
Departamento (Codigo integer (3), nome char (40), primary key (Codigo)) e Empregado ( Codigo integer(5) primary key, Nome char (30), Depto integer (3) not null, salario numeric (9,2),  foreign key (Depto) references Departamento (codigo) on delete cascade,  )
 
Analise as afirmações abaixo:
 
I – Na execução do comando SQL Delete from Departamento where Codigo = 39; além de uma linha com Codigo = 39 na tabela Departamento, também serão excluídas todas as linhas da tabela Empregado com Depto = 39, se houver
II – O comando SQL Insert into Empregado (Codigo, nome) values (432, 'Jose Oliveira') será executado com sucesso não existir uma linha na tabela Empregado com Codigo = 432
III – A execução do comando SQL Update Empregado set Depto = 50 where Depto is null não modificará nenhuma linha na tabela Empregado, independente de quais sejam os dados que estejam nela gravados
Escolha a alternativa correta abaixo:
Apenas a afirmação II é falsa
Em um banco de dados estão definidas as tabelas:
Departamento (Codigo integer (3), nome char (40), primary key (Codigo)) e Empregado ( Codigo integer(5) primary key, Nome char (30), Depto integer (3) not null, salario numeric (9,2), foreign key (Depto) references Departamento (codigo) on delete cascade,  )
Analise as afirmações abaixo:
I – Toda linha na tabela Empregado possui valor no campo Depto
II – Pode existir linha na tabela Empregado com o campo Depto nulo
III – Na execução do comando SQL Delete from Departamento where codigo = 101 todos as linhas da tabela Empregado com o campo Depto = 101 também serão excluídas
Escolha a alternativa correta abaixo:
Apenas a afirmação II é falsa
Considere as seguintes tabelas:
Departamento (codigo, nome, primary key(codigo));
Cargo (codigo, nome, primary key(codigo)); 
Empregado (Codigo, nome, cod_cargo, cod_depto,  primary key(Codigo), foreign key (cod_cargo) references Cargo(codigo), foreign key (cod_depto) references departamento(codigo) on delete set null); Dependente (Id_dep, Cod_Responsavel,   primary key(Id_dep), foreign key (Cod_Responsavel) references Empregado (codigo) on delete cascade, nome);
 Projeto (Codigo, nome, primary key(Codigo) );
 EquipeProjeto (Cod_Proj, Cod_emp, primary key (Cod_Proj, Cod_emp),
                      foreign key (Cod_Proj) references Projeto (codigo) on delete cascade,
                      foreign key (Cod_emp) references empregado (codigo) on delete cascade);
 
Analise as afirmações abaixo:
 
I – Se um Empregado for excluído todos as linhas em Dependentes e e em EquipeProjeto que o referenciam serão automaticamente excluídas
II – Um departamento não pode ser excluído se estiver referenciado em alguma linha da tabela Empregado
III – Um projeto não pode ser excluído se estiver referenciado em alguma linha na tabela EquipeProjeto
Escolha a alternativa correta abaixo:
Apenas a afirmação I é verdadeira
Considere as seguintes tabelas:
 Departamento (codigo, nome, primary key(codigo));
Cargo (codigo, nome, primary key(codigo));
 Empregado (Codigo, nome, cod_cargo, cod_depto,  primary key(Codigo), foreign key (cod_cargo) references Cargo(codigo), foreign key (cod_depto) references departamento(codigo) on delete set null);
 Dependente (Id_dep, Cod_Responsavel,   primary key(Id_dep), foreign key (Cod_Responsavel) references Empregado (codigo) on delete cascade, nome);
 
Projeto (Codigo, nome, primary key(Codigo) );
EquipeProjeto (Cod_Proj, Cod_emp, primary key (Cod_Proj, Cod_emp),
                      foreign key (Cod_Proj) references Projeto (codigo) on delete cascade,
                      foreign key (Cod_emp) references empregado (codigo) on delete cascade);
 
Analise as afirmações abaixo:
I – Se um Dependente for excluído o Empregado de quem ele depende também será automaticamente excluído
II – Se um departamento for excluído , todas as linhas na tabela Empregado que o referenciam ficarão com cod_depto nulo
III - Se um cargo for excluído, todas as linhas na tabela Empregado que o referenciam ficarão com cargo nulo
 
Escolha a alternativa correta abaixo:
Apenas a afirmação II é verdadeira
Considere as seguintes tabelas:
Departamento (codigo, nome, primary key(codigo));
Cargo (codigo, nome, primary key(codigo));
Empregado (Codigo, nome, cod_cargo, cod_depto references departamento(codigo) on delete set null, primary key(codigo)
                   foreign key (cod_cargo) references Cargo(codigo),
                   foreign key (cod_depto)references departamento(codigo) on delete set null   );
 
Estas tabelas possuem dados já gravados, entre eles as seguintes linhas:
Cargo ('AN01', 'Analista Jr')
Empregado (154, 'Jose', 'AN01', null)
 
Deseja-se excluir o cargo AN01, deixando com cargo nulo os empregados que tenham esse cargo, como o empregado José acima.
Analise os comandos SQL abaixo e indique quais e em que ordem devem ser executados:
 
I – Delete from Cargo where codigo = 'AN01'
II – Update Empregado set cod_cargo = null where cod_cargo = 'AN01'
III - Delete from Empregado where cod_cargo = 'AN01'
IV – Delete from Cargo where codigo in (select cod_cargo from Empregado where cod_cargo = 'AN01')
 
Escolha a alternativa correta abaixo:
II, I
Módulo 7
Em um sistema gerenciador de bancos de dados, normalmente é possível criar gatilhos (triggers), cujo disparo pode ocorrer em decorrência 
de alguma operação de exclusão, modificação ou inserção de um registro em uma tabela do banco de dados.
AOCP - 2012 - BRDE - Analista de Sistemas - Administrador de Banco de Dados
Sobre Triggers em SQL, analise as assertivas e assinale a alternativa que aponta a(s) correta(s). 
I. Em alguns casos, é conveniente especificar um tipo de ação a ser tomada quando certos eventos ocorrem e quando certas condições são satisfeitas em um banco de dados. Podemos criar esses mecanismos através do comando CREATE TRIGGERS. 
II. Triggers permitem a junção entre n tabelas em um banco. 
III. Triggers são especialistas na conversão e adaptação de comandos SQL de um SGBD para outro. 
IV. Um típico Triggers possui três componentes: evento(s), condição e ação. 
Apenas I e IV.
Prova: CONSULPLAN - 2012 - TSE - Analista Judiciário - Análise de Sistemas
Disciplina: Banco de Dados | Assuntos: Gatilhos (Triggers); 
 
CONSULPLAN - 2012 - TSE - Analista Judiciário - Análise de Sistemas
Um recurso poderoso é empregado em bases de dados Cliente/Servidor, executado em resposta a determinados eventos numa tabela ou visão, com o objetivo de manter a integridade das informações no banco de dados. Por exemplo, quando um novo registro, representando um novo funcionário, é adicionado à tabela empregados, novos registros também são criados nas tabelas de impostos, férias e salários. Esse recurso é usado normalmente para realizar tarefas relacionadas com validações e consistência de dados, segurança e restrições de acesso. Esse recurso denomina-se 
trigger.
FCC - 2011 - TRT - 19ª Região (AL) - Técnico Judiciário - Tecnologia da Informação
Para uma dada tabela, foram criados 4 triggers utilizando-se PL/SQL, conforme abaixo: 
I. Trigger1 - BEFORE <statement>  
II. Trigger2 - BEFORE <for each row> 
III. Trigger3 - AFTER <statement> 
IV. Trigger4 - AFTER <for each row>  
A sequência correta em que os triggers acima serão disparados é: 
I, II, IV e III.
FCC - 2010 - AL-SP - Agente Técnico Legislativo Especializado - Admin e Arquitetura de Dados
Triggers são
procedimentos armazenados cuja execução é disparada antes ou depois da ocorrência de um evento em uma tabela com o qual estão relacionados.
FCC - 2010 - DPE-SP - Agente de Defensoria - Administrador de Banco de Dados
NÃO se trata de uma característica das stored procedures:
utilizar somente comandos SQL padronizados.
FUMARC - 2012 - TJ-MG - Técnico Judiciário - Administrador de Banco de Dados
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 Matricula) 4050. Considere que existe um único empregado com a Matricula 4050. Está CORRETO o seguinte trecho:
DECLARE
v_sal EMPREGADO number;
BEGIN
select salario into v_sal from EMPREGADO where matricula = 4050;
END;
Módulo 8
Qual das alternativas abaixo é FALSA?
A inserção e remoção de registros não requer atualização do índice
Sobre a organização de arquivos com base na técnica de hashing é INCORRETO afirmar que:
Uma função hash sempre resulta em procuras eficientes
A estrutura de índice em árvore-B+ é a mais utilizada das diversas estruturas de índices que mantêm sua eficiência, mesmo em casos onde ocorram inserções ou remoções de dados.
Podemos dizer que:
A afirmação acima está correta
Analise as afirmações abaixo:
I - Índices são estruturas que agilizam o acesso aos dados armazenados no banco de dados
II - A escolha e implementação dos índices em um banco de dados normalmente são tarefas do Administrador de Banco de Dados
III - Algumas das estruturas mais comuns para a implementação de índices são as árvores-B+ e árvores-B
Escolha a alternativa correta abaixo: 
TODAS as afirmações apresentadas são verdadeiras
Analise as afirmações abaixo:
I - Árvores-B+ são estruturas de árvores balanceadas, bastante utilizadas para implementar índices
II - Cada nó da árvore-B+ contém valores e ponteiros para outros nós da árvore
III - Árvores-B e árvores-B+ são estruturas similares e com o mesmo objetivo
IV - Atualizações nos valores dos dados armazenados no banco de dados não afetam o conteúdo dos índices
Apenas a afirmação IV é falsa
6) Considere as seguintes afirmações sobre hashing:
I) As colisões ocorrem na utilização de tabela hash porque várias chaves podem resultar na mesma posição.
II) No uso de estruturas de transformação de chave (hashing), a solução de colisões usando encadeamento tem como principal característica o fato de nunca transbordar. Adicionalmente, o tempo de busca na lista ligada pode ser reduzido se uma lista duplamente encadeada for utilizada.
III) Considerando que uma tabela hash (tabela de espalhamento) possua cinco posições numeradas 0, 1, 2, 3 e 4 e que nela esteja armazenada uma sequência de quadrado de valores inteiros definida como, 1, 4, 9, 16, etc, segundo a função f(x) = x mod 5, ou seja, resto da divisão de x por 5, pode-se afirmar que a tabela hash terá colisões em suas posições.
Pode-se afirmar que:
I e III estão corretas
7) Considere as seguintes afirmações sobre hashing:
I) As colisões ocorrem na utilização de tabela hash porque várias chaves podem resultar na mesma posição.
II) No uso de estruturas de transformação de chave (hashing), a solução de colisões usando encadeamento tem como principal característica o fato de nunca transbordar. Adicionalmente, o tempo de busca na lista ligada pode ser reduzido se uma lista duplamente encadeada for utilizada.
III) Considerando que uma tabela hash (tabela de espalhamento) possua cinco posições numeradas 0, 1, 2, 3 e 4 e que nela esteja armazenada uma sequência de quadrado de valores inteiros definida como, 1, 4, 9, 16, etc, segundo a função f(x) = x mod 5, ou seja, resto da divisão de x por 5, pode-se afirmar que a tabela hash terá colisões em suas posições.
Pode-se afirmar que:
I e III estão corretas
2010 CESGRANRIO ELETROBRAS Analista de Sistemas - Suporte Basis SAP R3
Um órgão público, que disponibilizou recentemente um sistema Web, recebe reclamações de seus usuários sobre lentidão. Um analista de sistemas identificou que não existem determinados índices no banco de dados. No SGBD relacional, que comando é utilizado para criar índices?
CREATE INDEX .........
2010 FCC AL-SP Agente Técnico Legislativo Especializado - Admin e Arquitetura de Dados
Sua utilização tem como finalidade principal agilizar a consulta, possibilitando a localização ágil de um registro na tabela. Esta descrição refere-se a
Index
2013 VUNESP MPE-ES Agente Especializado - Analista de Banco de Dados
O comando SQL para excluir o índice de nome Phone é
DROP INDEX Phone
2012 FUNCAB MPE-RO Analista de Sistemas
Na criação de uma tabela em um banco de dados relacional, o parâmetro UNIQUE do comando CREATE INDEX:
garante a unicidade da coluna indexada ou conjunto de colunas indexadas.
2016 FCC TRT - 23ª REGIÃO (MT) Técnico Judiciário - Tecnologia da Informação
A constraint SQL que garante que umvalor NÃO possa se repetir em uma coluna da tabela, podendo ser nulo, é
UNIQUE.

Outros materiais