Buscar

Implementação de banco de dados pt 2

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 62 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 62 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 62 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

1a Questão 
 
 
 
 
Seis. 
 
Cinco. 
 Dois. 
 
Quatro. 
 
Três. 
Respondido em 09/04/2020 15:38:18 
 
 
 
 
 2a Questão 
 
 
 
 
 quatro 
 
três 
 
sete 
 
cinco 
 
seis 
Respondido em 09/04/2020 15:38:21 
 
 
 
 
 3a Questão 
 
 
(UPENET - 2012 - JUCEPE - Analista de Tecnologia da Informação) 
CREATE TABLE Empregado ( 
Matricula char(5) PRIMARY KEY, 
Nome varchar(30), 
numDepto int 
); 
CREATE TABLE Departamento ( 
numDepto int UNIQUE, 
nomeDepto varchar(30) 
); 
ALTER TABLE Empregado ADD CONSTRAINT fk_empregado_depto 
FOREIGN KEY (numDepto) REFERENCES Departamento(numDepto); 
INSERT INTO Departamento VALUES 
(1, Vendas´);INSERTINTODepartamen→VALUES(2,Vendas´);INSERTINTODepartamen→VALUES(2,E
ngenharia´); 
INSERT INTO Departamento VALUES 
(3, Contabilidade´);INSERTINTODepartamen→VALUES(4,Contabilidade´);INSERTINTODepartamen→
VALUES(4,RH´); 
INSERT INTO Empregado VALUES (11111´,11111´,Juliana´, 1); 
INSERT INTO Empregado VALUES (22222´,22222´,Gabriela´, 3); 
INSERT INTO Empregado VALUES (33333´,33333´,Francisco´, 3); 
INSERT INTO Empregado VALUES (44444´,44444´,Inácio´, 4); 
INSERT INTO Empregado VALUES (55555´ ,55555´ ,João´, 4); 
INSERT INTO Empregado VALUES (66666´,66666´,Vitor´, NULL); 
Considere que a consulta que segue foi executada sobre a base de dados com o estado resultante da 
sequência dos comandos apresentados no script anterior. 
SELECT * FROM Empregado LEFT OUTER JOIN Departamento 
ON Empregado.numDepto = Departamento.numDepto; 
Qual a quantidade de registros retornados por esta consulta? 
 
 
Sete 
 
Quatro 
 
Seis 
 Três 
 
Cinco 
Respondido em 09/04/2020 15:38:16 
 
 
 
 
 4a Questão 
 
 
 
 
 
Seis. 
 
Quatro. 
 
Cinco. 
 
Dois. 
 Três. 
Respondido em 09/04/2020 15:38:31 
 
 
 
 
 5a Questão 
 
 
eM um banco de dados há três tabelas: T1, T2 e T3, com 10, 20 e 30 registros respectivamente. Cada 
tabela possui um atributo A, sobre o qual é definida uma chave primária. Nesse cenário, está correto 
concluir que o comando select T1.* from T1 cross join T2 cross join T3 produz um resultado que, além da 
linha de títulos, possui: 
 
 
20 linhas; 
 
30 linhas; 
 
10 linhas; 
 6.000 linhas. 
 
600 linhas; 
Respondido em 09/04/2020 15:38:26 
 
 
 
 
 6a Questão 
 
 
 
 
 
SELECT ALL FROM TipoImovel T, Imovel I WHERE T.CodTipoImovel = I.CodTipoImovel 
 
SELECT ALL FROM TipoImovel, Imovel 
 
SELECT * FROM TipoImovel T, Imovel I WHERE T.CodTipoImovel = I.CodTipoImovel 
 
SELECT * FROM TipoImovel NATURAL JOIN Imovel 
 SELECT * FROM TipoImovel, Imovel 
Respondido em 09/04/2020 15:38:45 
 
 
 
 
 7a Questão 
 
 
Um banco de dados relacional foi criado através da execução dos comandos em SQL a seguir 
 
 
Considerando que a consulta de seleção fornecida a seguir foi executada sobre o banco de dados 
com esquema e estado resultantes da sequência de comandos anteriores, qual a quantidade de 
registos retornados? 
select * from empregado left outer join departamento on empregado.departamento_id = 
departamento.dep_id; 
 
 
4 
 
3 
 6 
 
5 
 
7 
Respondido em 09/04/2020 15:38:54 
 
 
 
 
 8a Questão 
 
 
 
 
 SELECT * FROM 
TipoImovel T 
RIGHT JOIN 
Imovel I ON 
T.CodTipoImovel 
= 
I.CodTipoImovel 
 
SELECT * FROM 
TipoImovel T 
LEFT JOIN 
Imovel I ON 
T.CodTipoImovel 
= 
I.CodTipoImovel 
 
SELECT * FROM 
TipoImovel T 
FULL JOIN 
Imovel I ON 
T.CodTipoImovel 
= 
I.CodTipoImovel 
 
SELECT * FROM 
TipoImovel T 
NATURAL JOIN 
Imovel I ON 
T.CodTipoImovel 
= 
I.CodTipoImovel 
 
SELECT * FROM 
TipoImovel T, 
Imovel I WHERE 
T.CodTipoImovel
= 
I.CodTipoImovel
(+) 
1a Questão 
 
 
 
 
três 
 seis 
 
quatro 
 
cinco 
 
sete 
Respondido em 16/04/2020 14:11:26 
 
 
 
 
 2a Questão 
 
 
eM um banco de dados há três tabelas: T1, T2 e T3, com 10, 20 e 30 registros respectivamente. Cada 
tabela possui um atributo A, sobre o qual é definida uma chave primária. Nesse cenário, está correto 
concluir que o comando select T1.* from T1 cross join T2 cross join T3 produz um resultado que, além da 
linha de títulos, possui: 
 
 
600 linhas; 
 
10 linhas; 
 
20 linhas; 
 6.000 linhas. 
 
30 linhas; 
Respondido em 16/04/2020 14:11:48 
 
 
 
 
 3a Questão 
 
 
Um banco de dados relacional foi criado através da execução dos comandos em SQL a seguir 
 
 
Considerando que a consulta de seleção fornecida a seguir foi executada sobre o banco de dados 
com esquema e estado resultantes da sequência de comandos anteriores, qual a quantidade de 
registos retornados? 
select * from empregado left outer join departamento on empregado.departamento_id = 
departamento.dep_id; 
 
 
3 
 
5 
 
7 
 6 
 
4 
Respondido em 16/04/2020 14:11:58 
 
 
 
 
 4a Questão 
 
 
 
 
 
três. 
 
seis. 
 
quatro. 
 
cinco. 
 sete. 
Respondido em 16/04/2020 14:11:51 
 
 
 
 
 5a Questão 
 
 
 
 
 Dois. 
 
Cinco. 
 
Quatro. 
 
Três. 
 
Seis. 
Respondido em 16/04/2020 14:11:59 
 
 
 
 
 6a Questão 
 
 
 
 
 
Dois. 
 Três. 
 
Cinco. 
 
Seis. 
 
Quatro. 
Respondido em 16/04/2020 14:12:06 
 
 
 
 
 7a Questão 
 
 
Sobre Junções (JOIN), analise as assertivas e assinale a alternativa que aponta a(s) correta(s). I. A 
operação de junção é utilizada para combinar as tuplas relacionadas em duas relações dentro de uma 
única. II. Junções podem ser criadas através do aninhamento das operações, ou podemos aplicar uma 
operação por vez e criar relação dos resultados intermediários. III. Junções são muito importantes em 
banco de dados relacionais com mais de uma relação, porque nos permite processar os relacionamentos 
entre as relações. IV. Na Junção apenas as combinações de tuplas que satisfazerem a condição de junção 
aparecerão no resultado, enquanto, no produto Cartesiano, todas as combinações de tuplas serão incluídas 
no resultado. 
 
 
Apenas I, II e III. 
 
Apenas I. 
 Apenas I, III e IV. 
 
I, II, III e IV. 
 
Apenas II, III e IV. 
Respondido em 16/04/2020 14:12:24 
 
 
 
 
 8a Questão 
 
 
 
 
 
SELECT PNOME || || 
SNOME CLIENTE, 
VALORDIARIA, 
PERIODO FROM 
CLIENTE NATURAL 
JOIN ALUGUEL 
WHERE 
VALORDIARIA > 
(SELECT 
AVG(PERIODO) 
FROM ALUGUEL); 
 
SELECT PNOME || || 
SNOME CLIENTE, 
VALORDIARIA, 
PERIODO FROM 
CLIENTE NATURAL 
JOIN ALUGUEL 
WHERE PERIODO > 
(SELECT 
AVG(PERIODO) 
FROM ALUGUEL); 
 SELECT PNOME || || 
SNOME CLIENTE, 
VALORDIARIA, 
PERIODO FROM 
CLIENTE NATURAL 
JOIN ALUGUEL 
WHERE 
VALORDIARIA > 
(SELECT 
AVG(VALORDIARIA) 
FROM ALUGUEL); 
 
SELECT PNOME || || 
SNOME CLIENTE, 
VALORDIARIA, 
PERIODO FROM 
CLIENTE NATURAL 
JOIN ALUGUEL 
WHERE 
VALORDIARIA*PERI
ODO > (SELECT 
AVG(VALORDIARIA) 
FROM ALUGUEL); 
 
SELECT PNOME || || 
SNOME CLIENTE, 
VALORDIARIA, 
PERIODO FROM 
CLIENTE NATURAL 
JOIN ALUGUEL 
WHERE PERIODO > 
(SELECT 
AVG(VALORDIARIA) 
FROM ALUGUEL); 
1a Questão 
 
 
 
 cinco 
 
seis 
 
sete 
 
três 
 
quatro 
Respondido em 16/04/2020 14:12:37 
 
 
 
 
 2a Questão 
 
 
 
 
 
cinco 
 
três 
 
sete 
 
seis 
 quatro 
Respondido em 16/04/2020 14:12:30 
 
 
 
 
 3a Questão 
 
 
 
 
 
SELECT * FROM TipoImovel T NATURAL JOIN Imovel I ON T.CodTipoImovel = I.CodTipoImovel 
 
SELECT * FROM TipoImovel T, Imovel I WHERE T.CodTipoImovel= I.CodTipoImovel(+) 
 SELECT * FROM TipoImovel T RIGHT JOIN Imovel I ON T.CodTipoImovel = I.CodTipoImovel 
 
SELECT * FROM TipoImovel T FULL JOIN Imovel I ON T.CodTipoImovel = I.CodTipoImovel 
 
SELECT * FROM TipoImovel T LEFT JOIN Imovel I ON T.CodTipoImovel = I.CodTipoImovel 
Respondido em 16/04/2020 14:12:49 
 
 
 
 
 4a Questão 
 
 
 
 
 
São idênticos no número de linhas e colunas retornadas. 
 
Diferem no número de linhas retornadas. 
 Diferem no númerode colunas retornadas. 
 
São idênticos no número de colunas retornadas. 
 
Diferem no número de linhas e colunas retornadas. 
Respondido em 16/04/2020 14:12:55 
 
 
 
 
 5a Questão 
 
 
 
 
 
SELECT ALL FROM TipoImovel T, Imovel I WHERE T.CodTipoImovel = I.CodTipoImovel 
 SELECT * FROM TipoImovel, Imovel 
 
SELECT * FROM TipoImovel T, Imovel I WHERE T.CodTipoImovel = I.CodTipoImovel 
 
SELECT ALL FROM TipoImovel, Imovel 
 
SELECT * FROM TipoImovel NATURAL JOIN Imovel 
Respondido em 16/04/2020 14:12:52 
 
 
 
 
 6a Questão 
 
 
(UPENET - 2012 - JUCEPE - Analista de Tecnologia da Informação) 
CREATE TABLE Empregado ( 
Matricula char(5) PRIMARY KEY, 
Nome varchar(30), 
numDepto int 
); 
CREATE TABLE Departamento ( 
numDepto int UNIQUE, 
nomeDepto varchar(30) 
); 
ALTER TABLE Empregado ADD CONSTRAINT fk_empregado_depto 
FOREIGN KEY (numDepto) REFERENCES Departamento(numDepto); 
INSERT INTO Departamento VALUES 
(1, Vendas´);INSERTINTODepartamen→VALUES(2,Vendas´);INSERTINTODepartamen→VALUES(2,E
ngenharia´); 
INSERT INTO Departamento VALUES 
(3, Contabilidade´);INSERTINTODepartamen→VALUES(4,Contabilidade´);INSERTINTODepartamen→
VALUES(4,RH´); 
INSERT INTO Empregado VALUES (11111´,11111´,Juliana´, 1); 
INSERT INTO Empregado VALUES (22222´,22222´,Gabriela´, 3); 
INSERT INTO Empregado VALUES (33333´,33333´,Francisco´, 3); 
INSERT INTO Empregado VALUES (44444´,44444´,Inácio´, 4); 
INSERT INTO Empregado VALUES (55555´ ,55555´ ,João´, 4); 
INSERT INTO Empregado VALUES (66666´,66666´,Vitor´, NULL); 
Considere que a consulta que segue foi executada sobre a base de dados com o estado resultante da 
sequência dos comandos apresentados no script anterior. 
SELECT * FROM Empregado LEFT OUTER JOIN Departamento 
ON Empregado.numDepto = Departamento.numDepto; 
Qual a quantidade de registros retornados por esta consulta? 
 
 
Sete 
 Três 
 
Seis 
 
Quatro 
 
Cinco 
Respondido em 16/04/2020 14:13:10 
 
 
 
 
 7a Questão 
 
 
 
 
 
Dois. 
 
Seis. 
 Quatro. 
 
Cinco. 
 
Três. 
Respondido em 16/04/2020 14:13:17 
 
 
 
 
 8a Questão 
 
 
 
Um sistema de informação usa um banco de dados relacional que possui tabelas cujos esquemas em SQL 
estão representados a seguir. 
CREATE TABLE Artista ( 
id INTEGER PRIMARY KEY, 
nome VARCHAR(40) NOT NULL, 
CPF CHAR(11) NOT NULL, 
dataNascimento DATE, 
UNIQUE (CPF) ); 
 
CREATE TABLE Evento ( 
id INTEGER PRIMARY KEY, 
descricao VARCHAR(60) NOT NULL, 
numMaxConvidados INTEGER DEFAULT 0, 
CHECK (numMaxConvidados >= 0) ); 
 
CREATE TABLE Atuacao ( 
idArtista INTEGER, 
idEvento INTEGER, 
PRIMARY KEY (idArtista, idEvento), 
FOREIGN KEY (idArtista) REFERENCES Artista, 
FOREIGN KEY (idEvento) REFERENCES Evento(id)); 
 
O sistema também possui uma consulta que integra um de seus relatórios, conforme indicado a seguir: 
 
SELECT A.nome, E.descricao 
FROM Evento E FULL JOIN Atuacao T ON E.id = T.idEvento 
FULL OUTER JOIN Artista A ON T.idArtista = A.id 
 
Considerando que todas as tabelas possuem dados, o resultado da consulta utilizada no relatório e: 
 
 
A descrição de todos os eventos e, caso haja artistas alocados, os seus nomes. 
 
O nome de todos os artistas combinados com a descrição de todos os eventos 
 O nome de todos os artistas, a descrição de todos os eventos e, caso eles se relacionem, os dois 
combinados. 
 
O nome de todos os artistas e, caso eles participem de eventos, a descrição do evento. 
 
O nome de todos os artistas e a descrição de todos os eventos em que eles atuam. 
1a Questão 
 
A cláusula LEFT JOIN em SQL retorna todas as 
 
 
linhas da tabela da esquerda, mesmo que não haja uma correspondência na tabela da direita, 
porém só retorna as colunas que possuam valores em comum. 
 
colunas e apenas as linhas da tabela da esquerda que possuírem um valor em comum na tabela da 
direita. 
 linhas e colunas da tabela da esquerda, mesmo que não haja correspondência na tabela da direita. 
 
linhas e colunas da tabela da esquerda, desde que haja correspondência na tabela da direita. 
 
linhas da tabela da esquerda, desde que haja uma correspondência na tabela da direita, porém só 
retorna as colunas que possuam valores em comum. 
Respondido em 16/04/2020 14:13:40 
 
 
 
 
 2a Questão 
 
 
Considere as seguintes tabelas de um banco de dados: 
Estado (UF, NomeEstado) 
Cidade (CodCidade, NomeCidade, UF) 
UF referencia Estado 
Escolha o comando SQL que liste o nome de cada estado e a quantidade de cidades cadastradas para cada 
um: 
 
 
(J) SELECT E.NomeEstado, Count(*) FROM Cidade C, Estado E WHERE C.UF = E.UF HAVING 
Count(*) >= 1 
 SELECT E.NomeEstado, Count(*) FROM Cidade C, Estado E WHERE C.UF = E.UF GROUP BY 
E.NomeEstado 
 
SELECT E.NomeEstado, Count(*) FROM Cidade C, Estado E GROUP BY E.NomeEstado 
 
SELECT Count(*) FROM Estado 
 
SELECT UF, Count(*) FROM Cidade GROUP BY UF 
Respondido em 16/04/2020 14:13:46 
 
 
 
 
 3a Questão 
 
 
 
 
 SELECT NOMETIPOIMOVEL, TAMANHO, NUMQUARTOS || - || NUMBANHEIROS "NUMERO QUARTOS E 
BANHEIROS" FROM IMOVEL I, TIPOIMOVEL T WHERE I.CODTIPOIMOVEL = T.CODTIPOIMOVEL AND 
UPPER(NOMETIPOIMOVEL) = APARTAMENTO PADRÃO; 
 
SELECT NOMETIPOIMOVEL, TAMANHO, NUMQUARTOS , NUMBANHEIROS "NUMERO QUARTOS E 
BANHEIROS" FROM IMOVEL I, TIPOIMOVEL T WHERE I.CODTIPOIMOVEL = T.CODTIPOIMOVEL; 
 
SELECT NOMETIPOIMOVEL, TAMANHO, NUMQUARTOS || - || NUMBANHEIROS "NUMERO QUARTOS E 
BANHEIROS" FROM IMOVEL I, TIPOIMOVEL T WHERE I.CODTIPOIMOVEL = T.CODTIPOIMOVEL AND 
NOMETIPOIMOVEL = APARTAMENTO PADRÃO; 
 
SELECT NOMETIPOIMOVEL, TAMANHO, NUMQUARTOS || - || NUMBANHEIROS "NUMERO QUARTOS E 
BANHEIROS" FROM IMOVEL , TIPOIMOVEL WHERE NOMETIPOIMOVEL = APARTAMENTO PADRÃO; 
 
SELECT NOMETIPOIMOVEL, TAMANHO, NUMQUARTOS "NUMERO QUARTOS E BANHEIROS", 
NUMBANHEIROS FROM IMOVEL , TIPOIMOVEL WHERE UPPER(NOMETIPOIMOVEL) = APARTAMENTO 
PADRÃO; 
Respondido em 16/04/2020 14:13:50 
 
 
 
 
 4a Questão 
 
 
 
 
 trinta 
 
setenta 
 
quarenta 
 
quarenta e cinco 
 
vinte e cinco 
Respondido em 16/04/2020 14:13:44 
 
 
 
 
 5a Questão 
 
 
Um banco de dados relacional foi criado através da execução dos comandos em SQL a seguir 
 
 
Considerando que a consulta de seleção fornecida a seguir foi executada sobre o banco de dados 
com esquema e estado resultantes da sequência de comandos anteriores, qual a quantidade de 
registos retornados? 
select * from empregado left outer join departamento on empregado.departamento_id = 
departamento.dep_id; 
 
 
5 
 
7 
 
4 
 
3 
 6 
Respondido em 16/04/2020 14:13:49 
 
 
 
 
 6a Questão 
 
 
Sobre Junções (JOIN), analise as assertivas e assinale a alternativa que aponta a(s) correta(s). I. A 
operação de junção é utilizada para combinar as tuplas relacionadas em duas relações dentro de uma 
única. II. Junções podem ser criadas através do aninhamento das operações, ou podemos aplicar uma 
operação por vez e criar relação dos resultados intermediários. III. Junções são muito importantes em 
banco de dados relacionais com mais de uma relação, porque nos permite processar os relacionamentos 
entre as relações. IV. Na Junção apenas as combinações de tuplas que satisfazerem a condição de junção 
aparecerão no resultado, enquanto, no produto Cartesiano, todas as combinações de tuplas serão incluídas 
no resultado. 
 
 
Apenas II, III e IV. 
 
Apenas I. 
 
Apenas I, II e III. 
 Apenas I, III e IV. 
 
I, II, III e IV. 
Respondido em 16/04/2020 14:14:15 
 
 
 
 
 7a Questão 
 
 
eM um banco de dados há três tabelas: T1, T2 e T3, com 10, 20 e 30 registros respectivamente. Cada 
tabela possui um atributo A, sobre o qual é definida uma chave primária. Nesse cenário, está correto 
concluir que o comando select T1.* from T1 cross join T2 cross join T3 produz um resultado que, além da 
linha de títulos, possui: 
 
 
600 linhas; 
 6.000 linhas. 
 
10linhas; 
 
30 linhas; 
 
20 linhas; 
Respondido em 16/04/2020 14:14:12 
 
 
 
 
 8a Questão 
 
 
 
 
 
cinco. 
 sete. 
 
quatro. 
 
três. 
 
seis. 
1a Questã
o 
 
Dada a instrução SQL: SELECT * FROM VENDEDOR WHERE salario > (SELECT AVG(salario) FROM 
VENDEDOR); É correto afirmar que 
 
 
serão selecionados todos os registros da tabela VENDEDOR cujo conteúdo do campo "salario" seja 
maior que o número de vendedores cadastrados. 
 
serão selecionados todos os registros da tabela VENDEDOR cujo conteúdo do campo "salario" seja 
maior que a soma dos salários de todos os vendedores. 
 serão selecionados todos os registros da tabela VENDEDOR cujo conteúdo do campo "salario" seja 
maior que a média dos salários de todos os vendedores. 
 
se trata de um exemplo de OUTER JOIN. 
 
se trata de um exemplo de INNER JOIN. 
Respondido em 09/04/2020 15:39:29 
 
 
 
 
 2a Questão 
 
 
 
Considerando-se as tabelas e o comando SQL mostrados acima, é 
correto concluir que o número de registros removidos da tabela Y 
pela execução desse comando é: 
 
 
 
 
3 
 
2 
 
4 
 5 
 
1 
Respondido em 09/04/2020 15:39:36 
 
 
 
 
 3a Questão 
 
 
I. Sempre que uma condição na cláusula where de uma consulta aninhada referencia algum atributo de 
uma relação declarada na consulta externa, as duas consultas são consideradas correlacionadas. 
II. Na consulta correlacionada a consulta aninhada é avaliada uma vez para cada tupla (ou combinação de 
tuplas) na consulta externa. 
Assinale a opção correta: 
 
 
A primeira afirmação e verdadeira e a segunda é falsa 
 
A primeira afirmação é falsa e a segunda é verdadeira 
 
Ambas são falsas 
 Ambas são verdadeiras e a segunda complementa a primeira 
 
Ambas são verdadeiras, mas a segunda não complementa a primeira 
Respondido em 09/04/2020 15:39:39 
 
 
 
 
 4a Questão 
 
 
(FCC - 2009 - Análise de Sistemas - Suporte - ADAPTADA) 
Uma instrução Select usada na cláusula Where ou Having de outra instrução Select é 
 
 
Uma visão. 
 
Um join. 
 Uma subconsulta. 
 
Um crosstab. 
 
Um índice. 
Respondido em 09/04/2020 15:39:32 
 
 
 
 
 5a Questão 
 
 
Em um banco de dados de empregados, a tabela EMP contém os campos CPF, NOME, SALARIO e DEPTNO 
dos empregados, sendo o último uma chave estrangeira para o departamento. 
 
Que consulta SQL fornece o CPF, NOME, SALARIO e DEPTNO de todos os funcionários que ganham mais do 
que qualquer empregado do departamento 5? 
 
 
 
SELECT CPF, NOME, SALARIO, DEPTNO FROM EMP WHERE SALARIO > (SELECT MAX (SALARIO) 
FROM EMP) AND DEPTNO = 5 
 
SELECT CPF, NOME, MAX(SALARIO), DEPTNO FROM EMP WHERE SALARIO > (SELECT MAX 
(SALARIO) FROM EMP WHERE DEPTNO = 5) 
 
SELECT CPF, NOME, SALARIO, DEPTNO FROM EMP WHERE SALARIO > MAX(SALARIO) AND 
DEPTNO = 5 
 
SELECT CPF, NOME, MAX(SALARIO), DEPTNO FROM EMP WHERE SALARIO > MAX(SALARIO) AND 
DEPTNO = 5 
 SELECT CPF, NOME, SALARIO, DEPTNO FROM EMP WHERE SALARIO > (SELECT MAX (SALARIO) 
FROM EMP WHERE DEPTNO = 5) 
Respondido em 09/04/2020 15:39:36 
 
 
 
 
 6a Questão 
 
 
Em um banco de dados de empregados, a tabela EMP contém os campos CPF, NOME, SALARIO e DEPTNO 
dos empregados, sendo o último uma chave estrangeira para o departamento. Que consulta SQL fornece o 
CPF, NOME, SALARIO e DEPTNO de todos os funcionários que ganham mais do que qualquer empregado do 
departamento 5? 
 
 
SELECT CPF, NOME, MAX(SALARIO), DEPTNO FROM EMP WHERE SALARIO > MAX(SALARIO) 
AND DEPTNO = 5; 
 
SELECT CPF, NOME, SALARIO, DEPTNO FROM EMP WHERE SALARIO > MAX(SALARIO) AND 
DEPTNO = 5; 
 SELECT CPF, NOME, SALARIO, DEPTNO FROM EMP WHERE SALARIO > (SELECT MAX (SALARIO) 
FROM EMP WHERE DEPTNO = 5); 
 
SELECT CPF, NOME, SALARIO, DEPTNO FROM EMP WHERE SALARIO > (SELECT MAX (SALARIO) 
FROM EMP) AND DEPTNO = 5; 
 
SELECT CPF, NOME, MAX(SALARIO), DEPTNO FROM EMP WHERE SALARIO > (SELECT MAX 
(SALARIO) FROM EMP WHERE DEPTNO = 5); 
Respondido em 09/04/2020 15:39:53 
 
 
 
 
 7a Questão 
 
 
 
 
 
SELECT * FROM TipoImovel T CROSS JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL 
 
SELECT * FROM TipoImovel T INNER JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL 
 
SELECT * FROM TipoImovel T LEFT JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL 
 SELECT * FROM TipoImovel T FULL JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL 
 
SELECT * FROM TipoImovel T RIGHT JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL 
Respondido em 09/04/2020 15:39:49 
 
 
 
 
 8a Questão 
 
 
Sabendo que a estrutura da tabela é: ID_EMP_MATRICULA, VC_EMP_NOME, NU_EMP_CARGO, 
NU_EMP_SALARIO, NU_EMP_GRATIFICACAO, NU_EMP_DESCONTO. Pede-se que, exiba a(s) matrícula(s), o(s) 
nome(s), o(s) salário(s) líquido(s) do(s) maior(es) salário(s) pago(s) aos empregados pela empresa. Qual a 
alternativa válida: 
 
 
SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + 
E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN 
CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO = 
MAX(E.NU_EMP_SALARIO); 
 
SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + 
E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN 
CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO HAVING E.NU_EMP_SALARIO IN (SELECT 
MAX(X.NU_EMP_SALARIO) FROM EMPREGADO X)); 
 
SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + 
E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN 
CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO > 
E.NU_EMP_SALARIO; 
 
SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + 
E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN 
CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO IN 
MAX(E.NU_EMP_SALARIO); 
 SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + 
E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN 
CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO IN (SELECT 
MAX(X.NU_EMP_SALARIO) FROM EMPREGADO X)); 
1a Questão 
 
Qual dos operadores de conjunto a seguir, devemos tomar cuidado na hora de colocarmos a ordem das 
tabelas, pois retorna diferentes resultados ao se inverter a ordem das tabelas? 
 
 
UNION ALL 
 
UNION 
 
MINUS ALL 
 MINUS 
 
INTERSECT 
Respondido em 16/04/2020 14:19:29 
 
 
 
 
 2a Questão 
 
 
 
 
 
SELECT * FROM TipoImovel T LEFT JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL 
 
SELECT * FROM TipoImovel T INNER JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL 
 
SELECT * FROM TipoImovel T CROSS JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL 
 SELECT * FROM TipoImovel T FULL JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL 
 
SELECT * FROM TipoImovel T RIGHT JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL 
Respondido em 16/04/2020 14:19:23 
 
 
 
 
 3a Questão 
 
 
Em um banco de dados de empregados, a tabela EMP contém os campos CPF, NOME, SALARIO e DEPTNO 
dos empregados, sendo o último uma chave estrangeira para o departamento. 
 
Que consulta SQL fornece o CPF, NOME, SALARIO e DEPTNO de todos os funcionários que ganham mais do 
que qualquer empregado do departamento 5? 
 
 
 SELECT CPF, NOME, SALARIO, DEPTNO FROM EMP WHERE SALARIO > (SELECT MAX (SALARIO) 
FROM EMP WHERE DEPTNO = 5) 
 
SELECT CPF, NOME, MAX(SALARIO), DEPTNO FROM EMP WHERE SALARIO > MAX(SALARIO) AND 
DEPTNO = 5 
 
SELECT CPF, NOME, MAX(SALARIO), DEPTNO FROM EMP WHERE SALARIO > (SELECT MAX 
(SALARIO) FROM EMP WHERE DEPTNO = 5) 
 
SELECT CPF, NOME, SALARIO, DEPTNO FROM EMP WHERE SALARIO > (SELECT MAX (SALARIO) 
FROM EMP) AND DEPTNO = 5 
 
SELECT CPF, NOME, SALARIO, DEPTNO FROM EMP WHERE SALARIO > MAX(SALARIO) AND 
DEPTNO= 5 
Respondido em 16/04/2020 14:19:31 
 
 
 
 
 4a Questão 
 
 
Dada a instrução SQL: SELECT * FROM VENDEDOR WHERE salario > (SELECT AVG(salario) FROM 
VENDEDOR); É correto afirmar que 
 
 
se trata de um exemplo de INNER JOIN. 
 
se trata de um exemplo de OUTER JOIN. 
 serão selecionados todos os registros da tabela VENDEDOR cujo conteúdo do campo "salario" seja 
maior que a média dos salários de todos os vendedores. 
 
serão selecionados todos os registros da tabela VENDEDOR cujo conteúdo do campo "salario" seja 
maior que o número de vendedores cadastrados. 
 
serão selecionados todos os registros da tabela VENDEDOR cujo conteúdo do campo "salario" seja 
maior que a soma dos salários de todos os vendedores. 
Respondido em 16/04/2020 14:19:48 
 
 
 
 
 5a Questão 
 
 
Considere as seguintes tabelas de um banco de dados: - FORNECEDOR { for_codigo, for_nome, 
for_telefone, for_cidade, est_uf } - ESTADO { est_uf, est_nome } A instrução SQL que recupera os nomes 
dos estados para os quais não há fornecedores cadastrados é: 
 
 SELECT e.est_nome FROM estado AS e WHERE e.est_uf NOT IN ( SELECT f.est_uf FROM 
fornecedor AS f ); 
 
SELECT e.est_nome FROM estado AS e, fornecedor AS f WHERE e.est_nome <> f.est_uf; 
 
SELECT e.est_nome FROM estado AS e WHERE e.est_uf IN ( select f.est_uf FROM fornecedor AS 
f ); 
 
SELECT e.est_nome FROM estado AS e, FROM fornecedor AS f WHERE e.est_uf = f.est_uf; 
 
SELECT e.est_uf FROM estado AS e WHERE e.est_nome NOT IN ( SELECT f.est_uf FROM 
fornecedor AS f ); 
Respondido em 16/04/2020 14:19:38 
 
 
 
 
 6a Questão 
 
 
Qual dos tipos de sub-consulta que faz referência a uma coluna da tabela da consulta externa? 
 
 
Sub-Consulta Principal 
 
Sub-Consulta Multi-Valorada 
 
Sub-Consulta Multi-Linhas 
 Sub-Consulta Correlata 
 
Sub-Consulta Simple 
Respondido em 16/04/2020 14:19:56 
 
 
 
 
 7a Questão 
 
 
(FGV - 2010 - DETRAN-RN - Assessor Técnico - Administração de Banco 
de Dados) 
Assinale a alternativa correta sobre fragmento de comando a seguir: 
(select distinct nome_cliente 
from contas) 
intersect 
(select distinct nome_cliente 
from emprestimos) 
 
 Se um cliente tem diversas contas e empréstimos no banco, aparecerá somente uma vez no 
resultado. 
 Se um cliente tem diversas contas e empréstimos no banco, não aparecerá no resultado. 
 Se um cliente tem diversas contas e empréstimos no banco, aparecerá todas as repetições no 
resultado. 
 Se um cliente possui conta mas não possui empréstimos no banco, aparecerá no resultado. 
 Se um cliente não possui conta mas possui empréstimos no banco, aparecerá no resultado. 
Respondido em 16/04/2020 14:19:46 
 
 
 
 
 8a Questão 
 
 
I. Sempre que uma condição na cláusula where de uma consulta aninhada referencia algum atributo de uma 
relação declarada na consulta externa, as duas consultas são consideradas correlacionadas. 
II. Na consulta correlacionada a consulta aninhada é avaliada uma vez para cada tupla (ou combinação de 
tuplas) na consulta externa. 
Assinale a opção correta: 
 
 Ambas são verdadeiras e a segunda complementa a primeira 
 
A primeira afirmação é falsa e a segunda é verdadeira 
 
Ambas são verdadeiras, mas a segunda não complementa a primeira 
 
Ambas são falsas 
 
A primeira afirmação e verdadeira e a segunda é falsa 
1a Questão 
 
Qual dos operadores de comparação de consultas Multi-Linhas a seguir NÃO é válido? 
 
 
<> ALL 
 
< ALL 
 
= ANY 
 
> ALL 
 = 
Respondido em 16/04/2020 14:20:15 
 
 
 
 
 2a Questão 
 
 
 
Considerando-se as tabelas e o comando SQL mostrados acima, é 
correto concluir que o número de registros removidos da tabela Y 
pela execução desse comando é: 
 
 
 
 
4 
 
1 
 
2 
 5 
 
3 
Respondido em 16/04/2020 14:20:21 
 
 
 
 
 3a Questão 
 
 
Sabendo que a estrutura da tabela é: ID_EMP_MATRICULA, VC_EMP_NOME, NU_EMP_CARGO, 
NU_EMP_SALARIO, NU_EMP_GRATIFICACAO, NU_EMP_DESCONTO. Pede-se que, exiba a(s) matrícula(s), 
o(s) nome(s), o(s) salário(s) líquido(s) do(s) maior(es) salário(s) pago(s) aos empregados pela empresa. 
Qual a alternativa válida: 
 
 
SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO 
+ E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER 
JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO = 
MAX(E.NU_EMP_SALARIO); 
 
SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO 
+ E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER 
JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO HAVING E.NU_EMP_SALARIO IN 
(SELECT MAX(X.NU_EMP_SALARIO) FROM EMPREGADO X)); 
 SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO 
+ E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER 
JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO IN 
(SELECT MAX(X.NU_EMP_SALARIO) FROM EMPREGADO X)); 
 
SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO 
+ E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER 
JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO > 
E.NU_EMP_SALARIO; 
 
SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO 
+ E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER 
JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO IN 
MAX(E.NU_EMP_SALARIO); 
Respondido em 16/04/2020 14:20:19 
 
 
 
 
 4a Questão 
 
 
(NCE-UFRJ - 2005 - BNDES - Análise de Sistemas - Desenvolvimento) 
Considere um banco de dados simplificado referente ao controle de concursos, constituído pelas tabelas 
Concurso, Cargo, Candidato e Inscrição, criadas pelo script SQL mostrado abaixo. 
 
create table concurso (id_concurso int not null primary key, concurso varchar(60) not null); 
create table cargo (id_cargo int not null primary key,cargo varchar(60) not null, id_concurso int not null, 
constraint ci0 foreign key (id_concurso) references concurso (id_concurso)); 
create table candidato (id_candidato int not null primary key, nome varchar(40) not null); 
 
 
A consulta SQL que produz a lista dos candidatos que se inscreveram em todos os concursos é: 
 
 
 
 
select nome 
from candidato cd 
where 
exists 
(select * from concurso cc 
 where not in 
 (select * 
 from inscrição i 
 where i.id_concurso=cc.id_concurso 
 and i.id_candidato=cd.id_candidato)) 
 
select nome 
from candidato cd 
where 
exists 
 (select * 
 from concurso cc 
 where 
 not exists 
 (select * 
 from inscrição i 
 where i.id_concurso=cc.id_concurso 
 and i.id_candidato=cd.id_candidato)) 
 
select nome 
from candidato cd 
where 
not exists 
 (select * 
 from concurso cc 
 where 
 exists 
 (select * 
 from inscrição i 
 where i.id_concurso=cc.id_concurso 
 and i.id_candidato=cd.id_candidato)) 
 select nome from candidato cd where 
not exists 
 (select * from concurso cc where 
 not exists 
 (select * from inscrição i where i.id_concurso=cc.id_concurso 
 and i.id_candidato=cd.id_candidato)) 
 
select nome 
from candidato cd 
where 
not exists 
 (select * 
 from concurso cc 
 where 
 not exists 
 (select * 
 from inscrição i 
 where i.id_concurso <> cc.id_concurso 
 and i.id_candidato <> cd.id_candidato)) 
Respondido em 16/04/2020 14:20:43 
 
 
 
 
 5a Questão 
 
 
Sobre o script abaixo: SELECT nome pessoa from Pessoa UNION ALL SELECT numero from Empregado 
Assinale a alternativa correta: 
 
 
Retorna os números dos empregados e os nomes das pessoas sem repetição.Retorna os números dos empregados e os nomes das pessoas com repetição. 
 
Retorna os nomes dos empregados e os números sem repetição. 
 Não existe retorno, uma vez que os dados são diferentes das colunas. 
 
O script retorna dados de diferentes tabelas sem repetição. 
Respondido em 16/04/2020 14:20:52 
 
 
 
 
 6a Questão 
 
 
(FCC - 2009 - Análise de Sistemas - Suporte - ADAPTADA) 
Uma instrução Select usada na cláusula Where ou Having de outra instrução Select é 
 
 
Um índice. 
 Uma subconsulta. 
 
Um crosstab. 
 
Uma visão. 
 
Um join. 
Respondido em 16/04/2020 14:20:59 
 
 
 
 
 7a Questão 
 
 
Em um banco de dados de empregados, a tabela EMP contém os campos CPF, NOME, SALARIO e DEPTNO 
dos empregados, sendo o último uma chave estrangeira para o departamento. Que consulta SQL fornece o 
CPF, NOME, SALARIO e DEPTNO de todos os funcionários que ganham mais do que qualquer empregado do 
departamento 5? 
 
 
SELECT CPF, NOME, SALARIO, DEPTNO FROM EMP WHERE SALARIO > (SELECT MAX (SALARIO) 
FROM EMP) AND DEPTNO = 5; 
 
SELECT CPF, NOME, MAX(SALARIO), DEPTNO FROM EMP WHERE SALARIO > (SELECT MAX 
(SALARIO) FROM EMP WHERE DEPTNO = 5); 
 
SELECT CPF, NOME, MAX(SALARIO), DEPTNO FROM EMP WHERE SALARIO > MAX(SALARIO) 
AND DEPTNO = 5; 
 
SELECT CPF, NOME, SALARIO, DEPTNO FROM EMP WHERE SALARIO > MAX(SALARIO) AND 
DEPTNO = 5; 
 SELECT CPF, NOME, SALARIO, DEPTNO FROM EMP WHERE SALARIO > (SELECT MAX (SALARIO) 
FROM EMP WHERE DEPTNO = 5); 
Respondido em 16/04/2020 14:21:05 
 
 
 
 
 8a Questão 
 
 
Considere as seguintes tabelas de um banco de dados: - FORNECEDOR { for_codigo, for_nome, for_telefone, 
for_cidade, est_uf } - ESTADO { est_uf, est_nome } A instrução SQL que recupera os nomes dos estados para 
os quais não há fornecedores cadastrados é: 
 
 SELECT e.est_nome FROM estado AS e WHERE e.est_uf NOT IN ( SELECT f.est_uf 
FROM fornecedor AS f ); 
 
SELECT e.est_nome FROM estado AS e, fornecedor AS f WHERE e.est_nome <> 
f.est_uf; 
 
SELECT e.est_nome FROM estado AS e WHERE e.est_uf IN ( select f.est_uf FROM 
fornecedor AS f ); 
 
SELECT e.est_nome FROM estado AS e, FROM fornecedor AS f WHERE e.est_uf = 
f.est_uf; 
 
SELECT e.est_uf FROM estado AS e WHERE e.est_nome NOT IN ( SELECT f.est_uf 
FROM fornecedor AS f ); 
1a Questão 
 
Dada a instrução SQL: SELECT * FROM VENDEDOR WHERE salario > (SELECT AVG(salario) FROM 
VENDEDOR); É correto afirmar que 
 
 
se trata de um exemplo de INNER JOIN. 
 
se trata de um exemplo de OUTER JOIN. 
 
serão selecionados todos os registros da tabela VENDEDOR cujo conteúdo do campo "salario" seja 
maior que a soma dos salários de todos os vendedores. 
 serão selecionados todos os registros da tabela VENDEDOR cujo conteúdo do campo "salario" seja 
maior que a média dos salários de todos os vendedores. 
 
serão selecionados todos os registros da tabela VENDEDOR cujo conteúdo do campo "salario" seja 
maior que o número de vendedores cadastrados. 
Respondido em 16/04/2020 14:21:10 
 
 
 
 
 2a Questão 
 
 
I. Sempre que uma condição na cláusula where de uma consulta aninhada referencia algum atributo de 
uma relação declarada na consulta externa, as duas consultas são consideradas correlacionadas. 
II. Na consulta correlacionada a consulta aninhada é avaliada uma vez para cada tupla (ou combinação de 
tuplas) na consulta externa. 
Assinale a opção correta: 
 
 Ambas são verdadeiras e a segunda complementa a primeira 
 
A primeira afirmação é falsa e a segunda é verdadeira 
 
Ambas são verdadeiras, mas a segunda não complementa a primeira 
 
Ambas são falsas 
 
A primeira afirmação e verdadeira e a segunda é falsa 
Respondido em 16/04/2020 14:21:24 
 
 
 
 
 3a Questão 
 
 
(FGV - 2010 - DETRAN-RN - Assessor Técnico - Administração de Banco 
de Dados) 
Assinale a alternativa correta sobre fragmento de comando a seguir: 
(select distinct nome_cliente 
from contas) 
intersect 
(select distinct nome_cliente 
from emprestimos) 
 
 Se um cliente tem diversas contas e empréstimos no banco, não aparecerá no resultado. 
 Se um cliente tem diversas contas e empréstimos no banco, aparecerá todas as repetições no 
resultado. 
 Se um cliente tem diversas contas e empréstimos no banco, aparecerá somente uma vez no 
resultado. 
 Se um cliente não possui conta mas possui empréstimos no banco, aparecerá no resultado. 
 Se um cliente possui conta mas não possui empréstimos no banco, aparecerá no resultado. 
Respondido em 16/04/2020 14:21:16 
 
 
 
 
 4a Questão 
 
 
Em um banco de dados de empregados, a tabela EMP contém os campos CPF, NOME, SALARIO e DEPTNO 
dos empregados, sendo o último uma chave estrangeira para o departamento. 
 
Que consulta SQL fornece o CPF, NOME, SALARIO e DEPTNO de todos os funcionários que ganham mais do 
que qualquer empregado do departamento 5? 
 
 
 
SELECT CPF, NOME, MAX(SALARIO), DEPTNO FROM EMP WHERE SALARIO > MAX(SALARIO) AND 
DEPTNO = 5 
 
SELECT CPF, NOME, SALARIO, DEPTNO FROM EMP WHERE SALARIO > (SELECT MAX (SALARIO) 
FROM EMP) AND DEPTNO = 5 
 SELECT CPF, NOME, SALARIO, DEPTNO FROM EMP WHERE SALARIO > (SELECT MAX (SALARIO) 
FROM EMP WHERE DEPTNO = 5) 
 
SELECT CPF, NOME, MAX(SALARIO), DEPTNO FROM EMP WHERE SALARIO > (SELECT MAX 
(SALARIO) FROM EMP WHERE DEPTNO = 5) 
 
SELECT CPF, NOME, SALARIO, DEPTNO FROM EMP WHERE SALARIO > MAX(SALARIO) AND 
DEPTNO = 5 
Respondido em 16/04/2020 14:21:19 
 
 
 
 
 5a Questão 
 
 
Qual dos tipos de sub-consulta que faz referência a uma coluna da tabela da consulta externa? 
 
 Sub-Consulta Correlata 
 
Sub-Consulta Multi-Valorada 
 
Sub-Consulta Principal 
 
Sub-Consulta Simple 
 
Sub-Consulta Multi-Linhas 
Respondido em 16/04/2020 14:21:21 
 
 
 
 
 6a Questão 
 
 
 
 
 
SELECT * FROM TipoImovel T LEFT JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL 
 
SELECT * FROM TipoImovel T INNER JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL 
 
SELECT * FROM TipoImovel T RIGHT JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL 
 
SELECT * FROM TipoImovel T CROSS JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL 
 SELECT * FROM TipoImovel T FULL JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL 
Respondido em 16/04/2020 14:21:26 
 
 
 
 
 7a Questão 
 
 
Qual dos operadores de conjunto a seguir, devemos tomar cuidado na hora de colocarmos a ordem das 
tabelas, pois retorna diferentes resultados ao se inverter a ordem das tabelas? 
 
 
UNION 
 MINUS 
 
MINUS ALL 
 
UNION ALL 
 
INTERSECT 
Respondido em 16/04/2020 14:21:43 
 
 
 
 
 8a Questão 
 
 
 
Considerando-se as tabelas e o comando SQL mostrados acima, é 
correto concluir que o número de registros removidos da tabela Y 
pela execução desse comando é: 
 
 
 
 
4 
 
1 
 
2 
 
3 
 5 
1a Questão 
 
Quais as propriedades necessárias às ações que compõem uma transação? 
 
 
atomicidade, inconsistência, redundância e segurança 
 
isolamento, durabilidade, consistência e segurança 
 
tempo de execução, isolamento, segurança e persistência 
 consistência, durabilidade, atomicidade e isolamento 
 
durabilidade, segurança, consistência e isolamento 
Respondido em 09/04/2020 15:40:15 
 
 
 
 
 2a Questão 
 
 
O comando SQL que garante a atomicidade de uma transação é: 
 
 
USER 
 
REVOKE 
 
ROOLBACK 
 
GRANT 
 COMMIT 
Respondido em 09/04/2020 15:40:19 
 
 
 
 
 3a Questão 
 
 
A propriedade que garante que depois de a transação completar-se com sucesso, as mudanças que ela faz 
no banco de dados permanecem, até mesmo se houver falha no sistema é: 
 
 
Coerência 
 
Persistência 
 
Consistência 
 
Atomicidade 
 Durabilidade 
Respondido em 09/04/2020 15:40:25 
 
 
 
 
 4a Questão 
 
 
Dentre as propriedades de uma transação, qual delas é responsável por preservar a integridade do banco 
de dados? 
 
 
Durabilidade 
 
AtomicidadeIsonomia 
 
Isolamento 
 Consistência 
Respondido em 09/04/2020 15:40:17 
 
 
 
 
 5a Questão 
 
 
I. Uma transação é um programa em execução que forma uma unidade lógica de processamento de banco 
de dados; inclui uma ou mais operações de acesso ao banco de dados como inserção, exclusão, 
modificação ou recuperação. 
II. As operações que formam uma transação podem ser embutidos em um programa de aplicação ou 
especificados interativamente por meio de uma linguagem de consulta como o SQL. 
III. Um modo de especificar os limites de transação é determinado pelas instruções explicitas begin 
transaction e end transaction, que indicam o fim e o início de uma transação em um programa de aplicação 
IV. Sempre que uma transação é submetida a um SGBD para execução, o sistema é responsável por 
garantir que todas as operações na transação sejam concluídas com sucesso, e seu efeito seja registrado 
permanentemente no banco de dados, ou que a transação não tenha qualquer efeito no banco de dados. 
As afirmações corretas são: 
 
 
I, II, III e IV 
 
II, III e IV 
 
I e II 
 
II e III 
 I, II e IV 
Respondido em 09/04/2020 15:40:21 
 
 
 
 
 6a Questão 
 
 
A propriedade que garante que todas as operações de uma transação são refletidas corretamente no banco 
de dados ou nenhuma será é: 
 
 
Isolamento 
 
Durabilidade 
 Atomicidade 
 
Indisivibilidade 
 
Consistência 
Respondido em 09/04/2020 15:40:36 
 
 
 
 
 7a Questão 
 
 
 
Dentre os estados de transação, em qual estado se encontra uma transação após a execução da última 
operação? 
 
 
Ativa 
 
Efetivada 
 
Abortada 
 
Em falha 
 Em efetivação parcial 
Respondido em 09/04/2020 15:40:40 
 
 
 
 
 8a Questão 
 
 
A propriedade da transação que garante a credibilidade do banco de dados é: 
 
 
Coerência 
 Consistência 
 
Durabilidade 
 
Isolamento 
 
Persistência 
1a Questão 
 
Dentre os estados de transação, em qual estado se encontra uma transação após a execução da última 
operação? 
 
 
Ativa 
 
Em falha 
 Em efetivação parcial 
 
Abortada 
 
Efetivada 
Respondido em 16/04/2020 14:23:32 
 
 
 
 
 2a Questão 
 
 
I. Uma transação é um programa em execução que forma uma unidade lógica de processamento de banco 
de dados; inclui uma ou mais operações de acesso ao banco de dados como inserção, exclusão, 
modificação ou recuperação. 
II. As operações que formam uma transação podem ser embutidos em um programa de aplicação ou 
especificados interativamente por meio de uma linguagem de consulta como o SQL. 
III. Um modo de especificar os limites de transação é determinado pelas instruções explicitas begin 
transaction e end transaction, que indicam o fim e o início de uma transação em um programa de aplicação 
IV. Sempre que uma transação é submetida a um SGBD para execução, o sistema é responsável por 
garantir que todas as operações na transação sejam concluídas com sucesso, e seu efeito seja registrado 
permanentemente no banco de dados, ou que a transação não tenha qualquer efeito no banco de dados. 
As afirmações corretas são: 
 
 
II, III e IV 
 I, II e IV 
 
II e III 
 
I e II 
 
I, II, III e IV 
Respondido em 16/04/2020 14:23:49 
 
 
 
 
 3a Questão 
 
 
A propriedade que garante que todas as operações de uma transação são refletidas corretamente no banco 
de dados ou nenhuma será é: 
 
 Atomicidade 
 
Indisivibilidade 
 
Isolamento 
 
Consistência 
 
Durabilidade 
Respondido em 16/04/2020 14:23:39 
 
 
 
 
 4a Questão 
 
 
A propriedade da transação que garante a credibilidade do banco de dados é: 
 
 Consistência 
 
Isolamento 
 
Durabilidade 
 
Coerência 
 
Persistência 
Respondido em 16/04/2020 14:23:53 
 
 
 
 
 5a Questão 
 
 
O comando SQL que garante a atomicidade de uma transação é: 
 
 COMMIT 
 
USER 
 
GRANT 
 
ROOLBACK 
 
REVOKE 
Respondido em 16/04/2020 14:23:43 
 
 
 
 
 6a Questão 
 
 
Dentre as propriedades de uma transação, qual delas é responsável por preservar a integridade do banco 
de dados? 
 
 
Isolamento 
 
Durabilidade 
 
Isonomia 
 
Atomicidade 
 Consistência 
Respondido em 16/04/2020 14:23:47 
 
 
 
 
 7a Questão 
 
 
Quais as propriedades necessárias às ações que compõem uma transação? 
 
 
isolamento, durabilidade, consistência e segurança 
 
atomicidade, inconsistência, redundância e segurança 
 
durabilidade, segurança, consistência e isolamento 
 consistência, durabilidade, atomicidade e isolamento 
 
tempo de execução, isolamento, segurança e persistência 
Respondido em 16/04/2020 14:24:01 
 
 
 
 
 8a Questão 
 
 
A propriedade que garante que depois de a transação completar-se com sucesso, as mudanças que ela faz no 
banco de dados permanecem, até mesmo se houver falha no sistema é: 
 
 
Coerência 
 
Atomicidade 
 
Consistência 
 Durabilidade 
 
Persistência 
1a Questão 
 
Quais as propriedades necessárias às ações que compõem uma transação? 
 
 consistência, durabilidade, atomicidade e isolamento 
 
atomicidade, inconsistência, redundância e segurança 
 
isolamento, durabilidade, consistência e segurança 
 
tempo de execução, isolamento, segurança e persistência 
 
durabilidade, segurança, consistência e isolamento 
Respondido em 16/04/2020 14:24:16 
 
 
 
 
 2a Questão 
 
 
O comando SQL que garante a atomicidade de uma transação é: 
 
 
GRANT 
 
USER 
 COMMIT 
 
REVOKE 
 
ROOLBACK 
Respondido em 16/04/2020 14:24:20 
 
 
 
 
 3a Questão 
 
 
A propriedade que garante que depois de a transação completar-se com sucesso, as mudanças que ela faz 
no banco de dados permanecem, até mesmo se houver falha no sistema é: 
 
 
Persistência 
 
Consistência 
 
Coerência 
 
Atomicidade 
 Durabilidade 
Respondido em 16/04/2020 14:24:24 
 
 
 
 
 4a Questão 
 
 
Dentre as propriedades de uma transação, qual delas é responsável por preservar a integridade do banco 
de dados? 
 
 
Isolamento 
 
Isonomia 
 
Atomicidade 
 Consistência 
 
Durabilidade 
Respondido em 16/04/2020 14:24:27 
 
 
 
 
 5a Questão 
 
 
I. Uma transação é um programa em execução que forma uma unidade lógica de processamento de banco 
de dados; inclui uma ou mais operações de acesso ao banco de dados como inserção, exclusão, 
modificação ou recuperação. 
II. As operações que formam uma transação podem ser embutidos em um programa de aplicação ou 
especificados interativamente por meio de uma linguagem de consulta como o SQL. 
III. Um modo de especificar os limites de transação é determinado pelas instruções explicitas begin 
transaction e end transaction, que indicam o fim e o início de uma transação em um programa de aplicação 
IV. Sempre que uma transação é submetida a um SGBD para execução, o sistema é responsável por 
garantir que todas as operações na transação sejam concluídas com sucesso, e seu efeito seja registrado 
permanentemente no banco de dados, ou que a transação não tenha qualquer efeito no banco de dados. 
As afirmações corretas são: 
 
 
II e III 
 
I, II, III e IV 
 I, II e IV 
 
I e II 
 
II, III e IV 
Respondido em 16/04/2020 14:24:31 
 
 
 
 
 6a Questão 
 
 
A propriedade que garante que todas as operações de uma transação são refletidas corretamente no banco 
de dados ou nenhuma será é: 
 
 
Durabilidade 
 Atomicidade 
 
Isolamento 
 
Indisivibilidade 
 
Consistência 
Respondido em 16/04/2020 14:24:27 
 
 
 
 
 7a Questão 
 
 
Dentre os estados de transação, em qual estado se encontra uma transação após a execução da última 
operação? 
 
 
Em falha 
 
Ativa 
 
Efetivada 
 Em efetivação parcial 
 
Abortada 
Respondido em 16/04/2020 14:24:29 
 
 
 
 
 8a Questão 
 
 
A propriedade da transação que garante a credibilidade do banco de dados é: 
 
 Consistência 
 
Durabilidade 
 
IsolamentoCoerência 
 
Persistência 
1a Questão 
 
Dentre os estados de transação, em qual estado se encontra uma transação após a execução da última 
operação? 
 
 
Ativa 
 
Em falha 
 Em efetivação parcial 
 
Abortada 
 
Efetivada 
Respondido em 16/04/2020 14:24:42 
 
 
 
 
 2a Questão 
 
 
I. Uma transação é um programa em execução que forma uma unidade lógica de processamento de banco 
de dados; inclui uma ou mais operações de acesso ao banco de dados como inserção, exclusão, 
modificação ou recuperação. 
II. As operações que formam uma transação podem ser embutidos em um programa de aplicação ou 
especificados interativamente por meio de uma linguagem de consulta como o SQL. 
III. Um modo de especificar os limites de transação é determinado pelas instruções explicitas begin 
transaction e end transaction, que indicam o fim e o início de uma transação em um programa de aplicação 
IV. Sempre que uma transação é submetida a um SGBD para execução, o sistema é responsável por 
garantir que todas as operações na transação sejam concluídas com sucesso, e seu efeito seja registrado 
permanentemente no banco de dados, ou que a transação não tenha qualquer efeito no banco de dados. 
As afirmações corretas são: 
 
 
I, II, III e IV 
 I, II e IV 
 
I e II 
 
II e III 
 
II, III e IV 
Respondido em 16/04/2020 14:24:45 
 
 
 
 
 3a Questão 
 
 
A propriedade que garante que todas as operações de uma transação são refletidas corretamente no banco 
de dados ou nenhuma será é: 
 
 
Isolamento 
 
Durabilidade 
 Atomicidade 
 
Indisivibilidade 
 
Consistência 
Respondido em 16/04/2020 14:25:04 
 
 
 
 
 4a Questão 
 
 
A propriedade da transação que garante a credibilidade do banco de dados é: 
 
 
Durabilidade 
 
Persistência 
 
Coerência 
 Consistência 
 
Isolamento 
Respondido em 16/04/2020 14:24:54 
 
 
 
 
 5a Questão 
 
 
O comando SQL que garante a atomicidade de uma transação é: 
 
 COMMIT 
 
ROOLBACK 
 
GRANT 
 
REVOKE 
 
USER 
Respondido em 16/04/2020 14:25:08 
 
 
 
 
 6a Questão 
 
 
Dentre as propriedades de uma transação, qual delas é responsável por preservar a integridade do banco 
de dados? 
 
 Consistência 
 
Isonomia 
 
Isolamento 
 
Atomicidade 
 
Durabilidade 
Respondido em 16/04/2020 14:25:13 
 
 
 
 
 7a Questão 
 
 
Quais as propriedades necessárias às ações que compõem uma transação? 
 
 
tempo de execução, isolamento, segurança e persistência 
 
durabilidade, segurança, consistência e isolamento 
 consistência, durabilidade, atomicidade e isolamento 
 
atomicidade, inconsistência, redundância e segurança 
 
isolamento, durabilidade, consistência e segurança 
Respondido em 16/04/2020 14:25:04 
 
 
 
 
 8a Questão 
 
 
A propriedade que garante que depois de a transação completar-se com sucesso, as mudanças que ela faz no 
banco de dados permanecem, até mesmo se houver falha no sistema é: 
 
 
Coerência 
 Durabilidade 
 
Atomicidade 
 
Persistência 
 
Consistência 
1a Questão 
 
Para criarmos um índice para a tabela Fornecedor pelo Bairro e Cidade devemos dar o seguinte comando: 
 
 
Create Index Fornecedor ON Forn_Bairro_Cidade(Bairro, Cidade) 
 
Create Index Forn_Bairro_Cidade From Fornecedor BY Bairro, Cidade 
 Create Index Forn_Bairro_Cidade ON Fornecedor(Bairro, Cidade) 
 
Create Index Forn_Bairro_Cidade ON Fornecedor BY Bairro, Cidade 
 
Create Index Fornecedor BY Bairro, Cidade 
Respondido em 09/04/2020 15:40:44 
 
 
 
 
 2a Questão 
 
 
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. 
 
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¿ Umusuário⊂meteuosegu∫ecomandoparaexecuçãopelo≥renciadordobancodedados:UPDATEVCLIENTES
RJSETNOME=¿JOAO¿ WHEREIDIN(1,2,3)ANDUF=RJ¿ Umusuário⊂meteuosegu∫ecomandoparaexecuç
ãopelo≥renciadordobancodedados:UPDATEVCLIENTESRJSETNOME=¿JOAO¿ WHEREIDIN(1,2
,3)ANDUF=SP¿ 
 
O comando UPDATE acima, quando submetido para execução, resulta na atualização de: 
 
 
até três das linhas da visão, cujo novo valor para a coluna Nome pode ser verificado através de 
consulta à própria visão VCLIENTES_RJ. 
 
nenhuma linha, pois não é possível realizar atualização sobre visões. 
 
até três linhas da tabela CLIENTES. 
 
até três linhas da visão VCLIENTES_RJ, não sendo atualizadas linhas da tabela CLIENTES. 
 nenhuma linha, pois, como a visão VCLIENTES_RJ somente apresenta clientes do Rio de Janeiro, 
não é possível atualizar o nome de um cliente de São Paulo. 
Respondido em 09/04/2020 15:40:49 
 
 
 
 
 3a Questão 
 
 
O comando SQL para criar uma visão chamada Eye, abrangendo os atributos A1 e A2 da tabela Pen, é: 
 
 
CREATE DROP Eye FROM A1, A2 FROM Pen 
 
COMPOSE FLASH Eye AS A1, A2 FROM Pen 
 
BUILD Eye AS INSERT A1, A2 FROM Pen 
 CREATE VIEW Eye AS SELECT A1, A2 FROM Pen 
 
COMPILE Eye AS INSERT A1, A2 FROM Pen 
Respondido em 09/04/2020 15:41:05 
 
 
 
 
 4a Questão 
 
 
O comando para apagar um visão é: 
 
 
CANCEL VIEW 
 
DEL VIEW 
 DROP VIEW 
 
NEW VIEW 
 
DELETE VIEW 
Respondido em 09/04/2020 15:41:10 
 
 
 
 
 5a Questão 
 
 
Quanto a visões, é correto afirmar: 
 I - Pode-se fazer uma consulta a uma view com as cláusulas Having e Group By. 
II - Pode-se fazer subconsultas e utilizar operadores de conjunto em uma view. 
III - Uma visão pode permitir, com restrições que os dados da tabela sejam manipulados em comando de 
INSERT, UPDATE e DELETE, porém, não armazena estes dados. 
 
 
Apenas as afirmações II e III são corretas. 
 Todas as afirmações estão corretas. 
 
Apenas as afirmações I e II são corretas. 
 
Apenas a afirmação III é correta. 
 
Apenas as afirmações I e III são corretas. 
Respondido em 09/04/2020 15:41:14 
 
 
 
 
 6a Questão 
 
 
Para sabermos o valor atual em uma sequência, devemos usar: 
 
 
Select NomeSequencia.NEXTVAL from NomeTabela 
 
Select NomeSequencia.NEXTVAL from Dual 
 
Select NomeSequencia.CURRVAL from NomeTabela 
 
Nenhuma das demais respostas 
 Select NomeSequencia.CURRVAL from Dual 
Respondido em 09/04/2020 15:41:09 
 
 
 
 
 7a Questão 
 
 
1. ______________ são objetos que apresentam auto-incremento. 
2. ______________ uma pseudocoluna utilizada para extrair valores de uma sequence qualquer, 
sempre que for referenciada. 
3. ______________ uma pseudocoluna utilizada para informar o último valor gerado por uma 
sequence. É sempre incrementada após um ______________ 
4. Nextval e currval ___________ ser usados na cláusula VALUES de um comando INSERT 
5. Nextval e currval ___________ ser usados dentro de uma subconsulta. 
 
As palavras que preenchem as lacunas corretamente estão representadas em: 
 
 
(1) indices (2) nextval (3) currval e nextval (4) podem (5) não podem 
 
(1) sequences (2) currval (3) nextval e nextval (4) não podem (5) não podem 
 
(1) sequences (2) nextval (3) currval e nextval (4) podem (5) podem 
 (1) sequences (2) nextval (3) currval e nextval (4) podem (5) não podem 
 
(1) sequences (2) currval - (3) nextval e nextval (4) não podem (5) podem 
Respondido em 09/04/2020 15:41:24 
 
 
 
 
 8a Questão 
 
 
Observe as tabelas abaixo: 
professor ( idProfessor INT NOT NULL PRIMARY KEY, nome VARCHAR(50) NOT NULL, valor_hora INT, 
certificados VARCHAR(255), idCoordenador INT ) 
turmas ( idTurma INT NOT NULL PRIMARY KEY, idProfessor INT NOT NULL, idCurso INT NOT NULL, data_inicio 
DATE, data_final DATE, carga_horaria INT ) 
O seguinte script foi executado: 
create view turmasProfessoras select p.idProfessor, p.nome, t.data_inicio, t.data_final from professor p inner 
join turmas t ON t.idProfessor = p.idProfessor Podemos afirmar que: 
I. O script contém erro não executará. 
II. Será criada a view turmasProfessor. 
III. A instrução: update turmasProfessor set data_final = GETDATE(); poderá ser executada normalmente. 
 
 
Apenas a II está correta 
 
Apenas a I está correta 
 
Apenas a III está correta 
 II e III estão corretas 
 
I e II estão corretas 
1a Questão 
 
Quanto a visões, é correto afirmar: 
 I - Pode-se fazer uma consulta a uma view com as cláusulas Having e Group By. 
II - Pode-se fazer subconsultas e utilizar operadores de conjunto em uma view. 
III - Uma visão pode permitir, com restrições que os dados da tabela sejam manipulados em comando de 
INSERT, UPDATE e DELETE, porém, não armazena estes dados. 
 
 
Apenas as afirmações I e III são corretas. 
 
Apenas a afirmação III é correta. 
 
Apenas as afirmações I e II são corretas. 
 Todas as afirmações estão corretas. 
 
Apenas as afirmações II e III são corretas. 
Respondido em 16/04/2020 14:26:15 
 
 
 
 
 2a Questão 
 
 
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. 
 
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¿ Umusuário⊂meteuosegu∫ecomandoparaexecuçãopelo≥renciadordobancodedados:UPDATEVCLIENTES
RJSETNOME=¿JOAO¿ WHEREIDIN(1,2,3)ANDUF=RJ¿ Umusuário⊂meteuosegu∫ecomandoparaexecuç
ãopelo≥renciadordobancodedados:UPDATEVCLIENTESRJSETNOME=¿JOAO¿ WHEREIDIN(1,2
,3)ANDUF=SP¿ 
 
O comando UPDATE acima, quando submetido para execução, resulta na atualização de: 
 
 nenhuma linha, pois, como a visão VCLIENTES_RJ somente apresenta clientes do Rio de Janeiro, 
não é possível atualizar o nome de um cliente de São Paulo. 
 
até três linhas da tabela CLIENTES. 
 
até três linhas da visão VCLIENTES_RJ, não sendo atualizadas linhas da tabela CLIENTES. 
 
até três das linhas da visão, cujo novo valor para a coluna Nome pode ser verificado através de 
consulta à própria visão VCLIENTES_RJ. 
 
nenhuma linha, pois não é possível realizar atualização sobre visões. 
Respondido em 16/04/2020 14:26:33 
 
 
 
 
 3a Questão 
 
 
Para criarmos um índice para a tabela Fornecedor pelo Bairro e Cidade devemos dar o seguinte comando: 
 
 
Create Index Fornecedor BY Bairro, Cidade 
 Create Index Forn_Bairro_Cidade ON Fornecedor(Bairro, Cidade) 
 
Create Index Forn_Bairro_Cidade From Fornecedor BY Bairro, Cidade 
 
Create Index Fornecedor ON Forn_Bairro_Cidade(Bairro, Cidade) 
 
Create Index Forn_Bairro_Cidade ON Fornecedor BY Bairro, Cidade 
Respondido em 16/04/2020 14:26:37 
 
 
 
 
 4a Questão 
 
 
Ano: 2010 - Banca: FCC - Órgão: BAHIA GÁS - Prova: Analista de Processos Organizacionais - 
Análise de Sistemas 
Em um SGBD relacional, são pertinentes à linguagem de definição de dados e à linguagem de manipulação 
de dados, respectivamente: 
 
 Create Index e Insert 
 
Delete e Select. 
 
Update e Drop Table. 
 
Insert Into e Create Table. 
 
Drop Index e Alter Table. 
Respondido em 16/04/2020 14:26:39 
 
 
 
 
 5a Questão 
 
 
1. ______________ são objetos que apresentam auto-incremento. 
2. ______________ uma pseudocoluna utilizada para extrair valores de uma sequence qualquer, 
sempre que for referenciada. 
3. ______________ uma pseudocoluna utilizada para informar o último valor gerado por uma 
sequence. É sempre incrementada após um ______________ 
4. Nextval e currval ___________ ser usados na cláusula VALUES de um comando INSERT 
5. Nextval e currval ___________ ser usados dentro de uma subconsulta. 
 
As palavras que preenchem as lacunas corretamente estão representadas em: 
 
 
(1) sequences (2) currval (3) nextval e nextval (4) não podem (5) não podem 
 
(1) indices (2) nextval (3) currval e nextval (4) podem (5) não podem 
 
(1) sequences (2) nextval (3) currval e nextval (4) podem (5) podem 
 (1) sequences (2) nextval (3) currval e nextval (4) podem (5) não podem 
 
(1) sequences (2) currval - (3) nextval e nextval (4) não podem (5) podem 
Respondido em 16/04/2020 14:26:32 
 
 
 
 
 6a Questão 
 
 
O comando para apagar um visão é: 
 
 
DELETE VIEW 
 
NEW VIEW 
 
CANCEL VIEW 
 
DEL VIEW 
 DROP VIEW 
Respondido em 16/04/2020 14:26:36 
 
 
 
 
 7a Questão 
 
 
Para sabermos o valor atual em uma sequência, devemos usar: 
 
 
Select NomeSequencia.CURRVAL from NomeTabela 
 
Select NomeSequencia.NEXTVAL from NomeTabela 
 
Nenhuma das demais respostas 
 
Select NomeSequencia.NEXTVAL from Dual 
 Select NomeSequencia.CURRVAL from Dual 
Respondido em 16/04/2020 14:26:53 
 
 
 
 
 8a Questão 
 
 
O comando SQL para criar uma visão chamada Eye, abrangendo os atributos A1 e A2 da tabela Pen, é: 
 
 
COMPOSE FLASH Eye AS A1, A2 FROM Pen 
 CREATE VIEW Eye AS SELECT A1, A2 FROM Pen 
 
COMPILE Eye AS INSERT A1, A2 FROM Pen 
 
CREATE DROP Eye FROM A1, A2 FROM Pen 
 
BUILD Eye AS INSERT A1, A2 FROM Pen 
1a Questão 
 
Admita a seguinte definição de um sequence chamado seq: 
 
CREATE SEQUENCE seq AS int 
START WITH 150 INCREMENT BY 10 MINVALUE 100 MAXVALUE 200 CYCLE 
 
Qual valor será retornado pelo sequence seq quando o comando NEXT VALUE FOR seq for executado 
pela décima vez? 
 
 
150 
 
10 
 
100 
 130 
 
200 
Respondido em 16/04/2020 14:27:06 
 
 
 
 
 2a Questão 
 
 
Observe as tabelas abaixo: 
professor ( idProfessor INT NOT NULL PRIMARY KEY, nome VARCHAR(50) NOT NULL, valor_hora INT, 
certificados VARCHAR(255), idCoordenador INT ) 
turmas ( idTurma INT NOT NULL PRIMARY KEY, idProfessor INT NOT NULL, idCurso INT NOT NULL, 
data_inicio DATE, data_final DATE, carga_horaria INT ) 
O seguinte script foi executado: 
create view turmasProfessor as select p.idProfessor, p.nome, t.data_inicio, t.data_final from professor p 
inner join turmas t ON t.idProfessor = p.idProfessor Podemos afirmar que: 
I. O script contém erro não executará. 
II. Será criada a view turmasProfessor. 
III. A instrução: update turmasProfessor set data_final = GETDATE(); poderá ser executada normalmente. 
 
 
Apenas a I está correta 
 
Apenas a II está correta 
 
Apenas a III está correta 
 II e III estão corretas 
 
I e II estão corretas 
Respondido em 16/04/2020 14:27:10 
 
 
 
 
 3a Questão 
 
 
O comando SQL para criar uma visão chamada Eye, abrangendo os atributos A1 e A2 da tabela Pen, é: 
 
 
CREATE DROP Eye FROM A1, A2 FROM Pen 
 
COMPOSE FLASH Eye AS A1, A2 FROM Pen 
 
COMPILE Eye AS INSERT A1, A2 FROM Pen 
 CREATE VIEW Eye AS SELECT A1, A2 FROM Pen 
 
BUILD Eye AS INSERT A1, A2 FROM Pen 
Respondido em 16/04/2020 14:27:02 
 
 
 
 
 4a Questão 
 
 
Ano: 2010 - Banca: FCC - Órgão: BAHIA GÁS - Prova: Analista de Processos Organizacionais - 
Análise de Sistemas 
Em um SGBD relacional, são pertinentes à linguagem de definição de dados e à linguagem de manipulação 
de dados, respectivamente: 
 
 
Drop Index e Alter Table. 
 
Update e Drop Table. 
 
Insert Into e Create Table. 
 Create Index e Insert 
 
Delete e Select. 
Respondido em 16/04/2020 14:27:18 
 
 
 
 
 5a Questão 
 
 
O comando para apagar um visão é: 
 
 
NEW VIEW 
 DROP VIEW 
 
DELETE VIEW 
 
CANCEL VIEW 
 
DEL VIEW 
Respondido em 16/04/2020 14:27:10 
 
 
 
 
 6a Questão 
 
 
Para criarmos um índice para a tabela Fornecedor pelo Bairro e Cidade devemos dar o seguinte comando: 
 
 
Create Index Fornecedor ON Forn_Bairro_Cidade(Bairro, Cidade) 
 
Create Index Forn_Bairro_Cidade ON FornecedorBY Bairro, Cidade 
 Create Index Forn_Bairro_Cidade ON Fornecedor(Bairro, Cidade) 
 
Create Index Forn_Bairro_Cidade From Fornecedor BY Bairro, Cidade 
 
Create Index Fornecedor BY Bairro, Cidade 
Respondido em 16/04/2020 14:27:26 
 
 
 
 
 7a Questão 
 
 
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. 
 
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¿ Umusuário⊂meteuosegu∫ecomandoparaexecuçãopelo≥renciadordobancodedados:UPDATEVCLIENTES
RJSETNOME=¿JOAO¿ WHEREIDIN(1,2,3)ANDUF=RJ¿ Umusuário⊂meteuosegu∫ecomandoparaexecuç
ãopelo≥renciadordobancodedados:UPDATEVCLIENTESRJSETNOME=¿JOAO¿ WHEREIDIN(1,2
,3)ANDUF=SP¿ 
 
O comando UPDATE acima, quando submetido para execução, resulta na atualização de: 
 
 
nenhuma linha, pois não é possível realizar atualização sobre visões. 
 nenhuma linha, pois, como a visão VCLIENTES_RJ somente apresenta clientes do Rio de Janeiro, 
não é possível atualizar o nome de um cliente de São Paulo. 
 
até três linhas da visão VCLIENTES_RJ, não sendo atualizadas linhas da tabela CLIENTES. 
 
até três linhas da tabela CLIENTES. 
 
até três das linhas da visão, cujo novo valor para a coluna Nome pode ser verificado através de 
consulta à própria visão VCLIENTES_RJ. 
Respondido em 16/04/2020 14:27:19 
 
 
 
 
 8a Questão 
 
 
O comando SQL para criar uma visão chamada Eye, abrangendo os atributos A1 e A2 da tabela Pen, é: 
 
 
COMPOSE FLASH Eye AS A1, A2 FROM Pen 
 
COMPILE Eye AS INSERT A1, A2 FROM Pen 
 
CREATE DROP Eye FROM A1, A2 FROM Pen 
 
BUILD Eye AS INSERT A1, A2 FROM Pen 
 CREATE VIEW Eye AS SELECT A1, A2 FROM Pen 
1a Questão 
 
Para sabermos o valor atual em uma sequência, devemos usar: 
 
 
Select NomeSequencia.CURRVAL from NomeTabela 
 
Select NomeSequencia.NEXTVAL from NomeTabela 
 
Nenhuma das demais respostas 
 Select NomeSequencia.CURRVAL from Dual 
 
Select NomeSequencia.NEXTVAL from Dual 
Respondido em 16/04/2020 14:27:45 
 
 
 
 
 2a Questão 
 
 
Quanto a visões, é correto afirmar: 
 I - Pode-se fazer uma consulta a uma view com as cláusulas Having e Group By. 
II - Pode-se fazer subconsultas e utilizar operadores de conjunto em uma view. 
III - Uma visão pode permitir, com restrições que os dados da tabela sejam manipulados em comando de 
INSERT, UPDATE e DELETE, porém, não armazena estes dados. 
 
 
Apenas as afirmações II e III são corretas. 
 Todas as afirmações estão corretas. 
 
Apenas as afirmações I e III são corretas. 
 
Apenas as afirmações I e II são corretas. 
 
Apenas a afirmação III é correta. 
Respondido em 16/04/2020 14:27:49 
 
 
 
 
 3a Questão 
 
 
1. ______________ são objetos que apresentam auto-incremento. 
2. ______________ uma pseudocoluna utilizada para extrair valores de uma sequence qualquer, 
sempre que for referenciada. 
3. ______________ uma pseudocoluna utilizada para informar o último valor gerado por uma 
sequence. É sempre incrementada após um ______________ 
4. Nextval e currval ___________ ser usados na cláusula VALUES de um comando INSERT 
5. Nextval e currval ___________ ser usados dentro de uma subconsulta. 
 
As palavras que preenchem as lacunas corretamente estão representadas em: 
 
 
(1) sequences (2) currval - (3) nextval e nextval (4) não podem (5) podem 
 (1) sequences (2) nextval (3) currval e nextval (4) podem (5) não podem 
 
(1) indices (2) nextval (3) currval e nextval (4) podem (5) não podem 
 
(1) sequences (2) nextval (3) currval e nextval (4) podem (5) podem 
 
(1) sequences (2) currval (3) nextval e nextval (4) não podem (5) não podem 
Respondido em 16/04/2020 14:27:51 
 
 
 
 
 4a Questão 
 
 
Ano: 2010 - Banca: FCC - Órgão: BAHIA GÁS - Prova: Analista de Processos Organizacionais - 
Análise de Sistemas 
Em um SGBD relacional, são pertinentes à linguagem de definição de dados e à linguagem de manipulação 
de dados, respectivamente: 
 
 Create Index e Insert 
 
Delete e Select. 
 
Insert Into e Create Table. 
 
Update e Drop Table. 
 
Drop Index e Alter Table. 
Respondido em 16/04/2020 14:27:53 
 
 
 
 
 5a Questão 
 
 
Observe as tabelas abaixo: 
professor ( idProfessor INT NOT NULL PRIMARY KEY, nome VARCHAR(50) NOT NULL, valor_hora INT, 
certificados VARCHAR(255), idCoordenador INT ) 
turmas ( idTurma INT NOT NULL PRIMARY KEY, idProfessor INT NOT NULL, idCurso INT NOT NULL, 
data_inicio DATE, data_final DATE, carga_horaria INT ) 
O seguinte script foi executado: 
create view turmasProfessor as select p.idProfessor, p.nome, t.data_inicio, t.data_final from professor p 
inner join turmas t ON t.idProfessor = p.idProfessor Podemos afirmar que: 
I. O script contém erro não executará. 
II. Será criada a view turmasProfessor. 
III. A instrução: update turmasProfessor set data_final = GETDATE(); poderá ser executada normalmente. 
 
 
I e II estão corretas 
 
Apenas a II está correta 
 
Apenas a I está correta 
 II e III estão corretas 
 
Apenas a III está correta 
Respondido em 16/04/2020 14:27:56 
 
 
 
 
 6a Questão 
 
 
O comando para apagar um visão é: 
 
 
CANCEL VIEW 
 
DEL VIEW 
 
DELETE VIEW 
 DROP VIEW 
 
NEW VIEW 
Respondido em 16/04/2020 14:27:58 
 
 
 
 
 7a Questão 
 
 
Admita a seguinte definição de um sequence chamado seq: 
 
CREATE SEQUENCE seq AS int 
START WITH 150 INCREMENT BY 10 MINVALUE 100 MAXVALUE 200 CYCLE 
 
Qual valor será retornado pelo sequence seq quando o comando NEXT VALUE FOR seq for executado 
pela décima vez? 
 
 
150 
 
200 
 130 
 
100 
 
10 
Respondido em 16/04/2020 14:28:02 
 
 
 
 
 8a Questão 
 
 
O comando SQL para criar uma visão chamada Eye, abrangendo os atributos A1 e A2 da tabela Pen, é: 
 
 
BUILD Eye AS INSERT A1, A2 FROM Pen 
 
COMPILE Eye AS INSERT A1, A2 FROM Pen 
 
CREATE DROP Eye FROM A1, A2 FROM Pen 
 
COMPOSE FLASH Eye AS A1, A2 FROM Pen 
 CREATE VIEW Eye AS SELECT A1, A2 FROM Pen

Continue navegando