Prévia do material em texto
QUESTÕES ABERTAS:
1. Baseado na tabela departamento ilustrada na figura a seguir, escreva uma consulta SQL que recupere o número de
departamentos existentes na tabela departamento. Nomeie a coluna como total_dep. SELECT count(*) total_dep FROM
departamento.
2. Baseado na tabela dependente ilustrada na figura a seguir, escreva uma consulta SQL que recupere a quantidade de
dependentes de cada empregado agrupados pelo código do empregado. SELECT COUNT(*) FROM dependente GROUP
BY codigo_empregado.
3. Baseado na tabela dependente mostrada a seguir, escreva uma consulta SQL que recupere o parentesco dos
dependentes. Elimine as linhas duplicadas. SELECT DISTINCT parentesco FROM dependente.
4. Baseado na tabela empregado ilustrada na figura a seguir, escreva uma consulta SQL que recupere a soma dos salários
de todos os empregados, o salário máximo, o salário mínimo e a média dos salários. SELECT SUM(salario), MAX(salario),
MIN(salario), AVG(salario) FROM empregado.
5. Baseado na tabela empregado mostrada a seguir, escreva uma consulta SQL que recupere todas as informações de
empregado ordenado pelos empregados que possuem o maior salário. SELECT * FROM empregado ORDER BY salario
DESC.
6. Baseado nas tabelas agência e empréstimo ilustradas a seguir escreva uma consulta SQL que encontre o número dos
empréstimos que foram efetuados na agência Metropolitana com a quantia superior a R$300. SELECT
numero_emprestimo FROM empréstimo e, agencia a WHERE e.numero_agencia = a.numero_agencia AND
a.nome_agencia = ‘Metropolitna’ AND quantia > 300.
7. Baseado nas tabelas empregado e dependente ilustradas na figura abaixo, escreva uma consulta SQL que recupere
o(s) nome(s) do(s) empregado(s) que possui(em) mais de um dependente. SELECT E.NOME FROM EMPREGADO E,
DEPENDENTE D WHERE E.CODIGO_EMPREGADO = D.CODIGO_EMPREGADO.
8. Baseado nas tabelas empréstimo e agencia ilustradas na figura a seguir, escreva uma consulta SQL que encontre o
nome de todas as agências e a quantidade de empréstimos que cada agência forneceu agrupados pelo nome da
agência. Nomeie este resultado por qde_emprestimos. SELECT nome_agencia, COUNT(*) AS qde_emprestimos FROM
agencia a, empréstimo e WHERE a.numero_agencia = e.numero_agencia GROUP BY nome_agencia.
9. Baseado nas tabelas esporte e atleta ilustradas a seguir escreva uma consulta SQL que recupere os nomes e sexo dos
atletas que praticam natação ordenados alfabeticamente. SELECT a.nome, sexo FROM atleta.a, esporte e WHERE
a.idesporte = e.idesporte AND e.nome = ‘natação’ ORDER BY a.nome.
10. COM BASE NO BANCO DE DADOS ABAIXO, DESCREVA O RESULTADO DA CONSULTA EM ÁLGEBRA RELACIONAL A
SEGUIR: ALUNO (MATRÍCULA, NOME_ALUNO, ENDEREÇO, CIDADE) DISCIPLINA (COD_DISCIPLINA, NOME_DISC,
CARGA_HORARIA) PROFESSOR (COD_PROFESSOR, NOME_PROF, ENDEREÇO, CIDADE) TURMA (COD_TURMA,
COD_DISC, COD_PROF, ANO, HORÁRIO) COD_DISC REFERENCIA COD_DISCIPLINA EM DISCIPLINA COD_PROF
REFERENCIA COD_PROFFESSOR EM PROFESSOR HISTÓRICO (MATRÍCULA, COD_DISC, COD_TUR, COD_PROF,
FREQUÊNCIA, NOTA) COD_DISC REFERENCIA COD_DISCIPLINA EM DISCIPLINA COD_TUR REFERENCIA COD_TURMA EM
TURMA COD_PROF REFERENCIA COD_PROFESSOR EM PROFESSOR. P cod_professor, nome_prof, cod_disciplina
(PROFESSORcod_professor = cod_prof (Sano=2012 AND TURNO = “noturno” (TURMA))). NOME E CODIGO DOS
PROFESSORES E CODIGO DAS DISCIPLINAS DAS TURMAS NOTURNAS DO ANO 2012.
11. Considere as tabelas abaixo: Queremos executar o seguinte comando SQL: INSERT INTO aluno VALUES (9, ‘Roberto’,
‘ENG’); O que acontecerá? Justifique sua resposta. Não será possível inserir a tupla mostrada no comando acima, pois
não existe na tabela curso nenhuma tupla com o valor de cod_curso = 'ENG' e como a coluna cod_curso da tabela aluno
é chave estrangeira da coluna cod_curso da tabela curso estaremos violando a restrição de integridade referencial ao
tentar inserir a tupla mostrada acima.
12. CONSIDERE O BANCO DE DADOS ABAIXO: AUTOMOVEIS (Código, Fabricante, Modelo, Ano, País, Preço);
REVENDEDORAS (CGC, Nome, Proprietário, Cidade, Estado); GARAGENS (CGCRevenda, CodAuto, AnoAuto,
Quantidade). CGCRevenda REFERENCIA Cgc GARAGENS. CodAuti REFERENCIA Código em AUTOMOVEIS. LISTAR A
MÉDIA DOS PREÇOS DOS AUTOMÓVEIS, BEM COMO O MAIOR E O MENOR PREÇO. SELECT AVG (PREÇO), MAX (PREÇO),
MIN(PREÇO) FROM AUTOMOVEIS.
13. CONSIDERE O BANCO DE DADOS ABAIXO: AUTOMOVEIS (Código, Fabricante, Modelo, Ano, País, Preço);
REVENDEDORAS (CGC, Nome, Proprietário, Cidade, Estado); GARAGENS (CGCRevenda, CodAuto, AnoAuto,
Quantidade). CGCRevenda REFERENCIA Cgc GARAGENS. CodAuti REFERENCIA Código em AUTOMOVEIS. QUAL A
CONSULTA EM SQL QUE RETORNA QUANTIDADE DE REVENDEDORAS DO JOÃO DA SILVA EM CADA CIDADE DO ESTADO
DO RIO DE JANEIRO. SELECT COUNT(*), CIDADE FROM REVENDEDORAS WHERE PROPRIETÁRIO = ‘JOÃO DA SILVA’ AND
ESTADO = ‘RJ’ GROUP BY CIDADE.
14. CONSIDERE O BANCO DE DADOS ABAIXO: DISCIPLINA (COD_DISCIPLINA, NOME_DISC, CARGA_HORARIA). TURMA
(COD_TURMA, ANO, SEMESTRE, COD_DISC). COD_DISC REFERENCIA COD_DISCIPLINA EM DISCIPLINA. APRESENTE O
COMANDO SQL PARA A CRIAÇÃO DE SUAS TABELAS. CRIE OS TIPOS DE DADOS QUE VOCÊ JULGAR MAIS APROPRIADOS.
NENHUM VALOR DE ATRIBUTO PODE DEIXAR DE SER INFORMADO. CREATE TABLE DISCIPLINA (COD_DISCIPLINA
VARCHAR (5) PRIMARY KEY, NOME_DISC VARCHAR (20) NOT NULL, CARGA_HORARIA NUMBER (3) NOT NULL). CREATE
TABLE TURMA (COD_TURMA NUMBER (4) PRIMARY KEY, ANO NUMBER (4) NOT NULL, SEMESTRE VARCHAR (1) NOT
NULL, COD_DISC VARCHAR (7) REFERENCES DISCIPLINA (COD_DISCIPLINA));
15. CONSIDERE O BANCO DE DADOS CRIADO A PARTIR DOS COMANDOS ABAIXO: CREATE TABLE DISCIPLINA
(COD_DISCIPLINA VARCHAR (7) PRIMARY KEY, NOME_DISC VARCHAR (20) NOT NULL, CARGA_HORARIA NUMBER (3)
NOT NULL) CREATE TABLE TURMA (COD_TURMA NUMBER (4) PRIMARY KEY, ANO NUMBER (4) NOT NULL , SEMESTRE
VARCHAR ( 1) NOT NULL, COD_DISC VARCHAR (7) REFERENCES DISCIPLINA (COD_DISCIPLINA)); QUAIS O(S)
COMANDO(S) SQL NECESSÁRIO(S) PARA INSERIR A TURMA 3020 DE IMPLEMENTAÇÃO DE BANCO DE DADOS, NO
PRIMEIRO SEMESTRE DE 2012, 88 CREDITOS, COM CÓDIGO DE DISCIPLINA CCT0199. A DISCIPLINA AINDA NÃO EXISTE
NO BANCO DE DADOS. INSERT INTO DISCIPLINA VALUES (‘CCT0199’, ‘IMPLEMENTAÇÃO DE BANCOS DE DADOS’, 88)
INSERT INTO TURMA VALUES (3020, 2012, 1, ‘CCT0199’).
16. CONSIDERE O BANCO DE DADOS CRIADO A PARTIR DOS COMANDOS ABAIXO: CREATE TABLE DISCIPLINA
(COD_DISCIPLINA VARCHAR (7) PRIMARY KEY, NOME_DISC VARCHAR (20) NOT NULL, CARGA_HORARIA NUMBER (3)
NOT NULL) CREATE TABLE TURMA (COD_TURMA NUMBER (4) PRIMARY KEY, ANO NUMBER (4) NOT NULL , SEMESTRE
VARCHAR ( 1) NOT NULL, COD_DISC VARCHAR (7) REFERENCES DISCIPLINA (COD_DISCIPLINA)); QUAL A CONSULTA SQL
PARA RECUPERAR TODOS OS DADOS DE TODAS AS DISCIPLINAS? SELECT * FROM DISCIPLINA.
17. Considere o seguinte esquema relacional: Empregado (Id, Nome(PK), Id-Depto(FK Departamento), Id_Gerente (FK
Empregado), Cargo, Salario); Departamento (Id(PK), Nome, Id_Regiao(FK Região)); Regiao (Id(PK), Nome). A partir do
esquema escreva um comando SQL na sintaxe ANSI que retorne o id e o nome do empregado e o nome da região onde
ele trabalha. Select e.id, e.nome. r.nome From Empregado e inner join departamento d on e.id_Depto = d.id inner join
regiao r on d.id_regiao = r.id.
18. Considere um banco de dados simplificado referente ao controle de concursos, constituído pelas tabelas Concyrso,
Cargo, Candidato e Inscrição, criadas pelo Script SQL mostrado abaixo. Create table concurso (id_concurso int not null
primary key, concurso varchar(6) 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); create table inscrição (id_concurso int
not null, id_candidato int not null, id_cargo int, pontos int, constraint ci1foreign key (id_concurso) references concurso
(id_concurso), constraint ci2 foreign key (id_candidato) references candidato (id_candidato), constraint ci3 foreign key
(id_cargo) references cargo (id_cargo), constraint ci4 primary key (id_concurso,id_candidato)); Um candidato pode
estar inscrito em zero ou mais concursos e um concurso pode ter zero ou mais candidatos nele inscritos. Para cada
concurso, o candidato inscreve-se em um cargo e recebe um número de pontos. É possível que um candidato fique
temporariamente sem cargo definido. Cada concurso tem uma lista de um ou mais cargos nos quais os candidatos
podem estar inscritos. Suponha que um candidato inscrito no concurso 2 não possa ter inscrições nos demais
concursos. O comando que remove as inscrições de outros concursos para os candidatos inscritos no concurso 2 é:
delete inscrição where exists (select * from inscrição ii where inscrição.id_candidato=ii.id_candidato and
ii.id_concurso=2) and inscrição.id_concurso <>2.
19. De acordo com a base de dados a seguir, com as tabelas Empregado, Cliente e Departamento crie uma consulta, para:
mostrar nome do departamento do empregado que atende ao cliente de Id 165. ANSI Select d.nome from cliente c
inner join empregado e on c.vendedor = e.id inner join departamento d on e.id_depto = d.id where c.id=169.
TRADICIONAL Select d.nome from cliente c, empregado e, departamento d where c.vendedor = e.id and e.id_depto = d.id
and c.id = 169.
20. De acordo com a base de dados a seguir, com as tabelas Empregado, Cliente e Departamento crie uma consulta, para:
mostrar os cargos e salários dos empregados que trabalham nos departamentos de Id entre 10 e 20 inclusive. ANSI
Select e.cargo, e.salario from empregado e inner join departamento d on e.id_depto = d.id where d.id in
(10,11,12,13,14,15,16,17,18,19,20). Select e.cargo, e.salario from empregado e inner join departamento d on e.id_depto
= d.id where d.id between 10 AND 20. TRADICIONAL Select e.cargo, e.salario from empregado e, departamento d where
e.id_depto = d.id and d.id in (10,11,12,13,14,15,16,17,18,19,20). Select e.cargo, e.salario from empregado e,
departamento d where e.id_depto = d.id and d.id between 10 AND 20.
21. Defina chave estrangeira. Qual a utilidade deste conceito? Chave estrangeira é um atributo da tabela que é chave
primária em outra tabela. É utilizada para representar os relacionamentos existentes no modelo conceitual.
22. Defina transação. Cite um exemplo. Transação é uma sequência de operações tratadas como um bloco único e
indivisível. Existem vários exemplos.
23. Descreva as principais estratégias de otimização de consultas. Otimização por regras: o otimizador utiliza um conjunto
de heurísticas para transformar a consulta em um plano de acesso. Otimização por custo: o otimizador utiliza algoritmos
de busca por um plano de menor custo no espaço de todos os planos de execução possíveis. Para a determinação do
custo de um plano, o otimizador precisa consultar estatísticas sobre as tabelas do banco de dados.
24. Escreva o comando SQL para criar a tabela DEPENDENTE no banco de dados com os seguintes atributos e suas
especificações: CODIGO_EMPREGADO: número com 6 dígitos decimais; NOME_DEPENDENTE: caractere que pode
receber de 0 a 50 caracteres; SEXO: caractere com 1 dígito; DATA_NASC: atributo do tipo data; PARENTESCO: caractere
que pode receber de 0 a 15 caracteres. CREATE TABLE dependente (código_empregado NUMBER(6), nome_dependente
VARCHAR(50), sexo CHAR(1), data_nasc DATE, parentesco VARCHAR(15));
25. Escreva o comando SQL para eliminar a tabela ATLETA do banco de dados. A tabela ATLETA está ilustrada na figura
abaixo: DROP TABLE atleta.
26. Escreva o comando SQL que aumente em 10% o valor do preço das peças de cor azul. A tabela PECAS está ilustrada na
figura a seguir: UPDATE pecas SET preco = preco*1.1 WHERE cor=’Azul’.
27. Escreva uma consulta SQL que recupere a cor e a quantidade de peças existentes, agrupadas por sua cor. A tabela
pecas está ilustrada na figura a seguir. SELECT cor, count(*) FROM pecas GROUP BY cor.
28. Escreva uma consulta SQL que recupere o código e o nome de todos os empregados. A tabela empregado está ilustrada
na figura a seguir. SELECT código_empregado, nome FROM empregado.
29. Escreva uma consulta SQL que recupere todas as informações da peça que possui o maior preço. A tabela pecas está
ilustrada na figura a seguir. SELECT * FROM pecas WHERE preco = (SELECT MAX(preco) FROM precas).
30. Escreva uma consulta SQL que recupere todas as informações do empregado mais velho. A tabela empregado está
ilustrada na figura a seguir. SELECT * FROM empregado WHERE data_nasc = (SELECT MIN(data_nasc) FROM empregado).
31. Observe a figura a seguir: A figura apresenta o modelo relacional de um Banco de Dados de um sistema de controle de
estoque. Esse modelo possui as tabelas Cliente, Pedido, ItemPedido e Produto. Em uma leitura simplificada desse
modelo tem-se que um cliente pode possuir vários pedidos, um pedido possui um ou vários itemPedidos e um
itemPedido possui um produto e a quantidade desse produto. Apresente o comando SQL que, ao ser executado em
um SGBD relacional baseado nesse modelo, retornará todos os nomes de clientes que fizeram pelo menos um pedido,
a descrição do produto que o cliente comprou e a quantidade desse produto independente do pedido realizado. SELECT
Nome, descrição, sum (quantidade) FROM Cliente INNER JOIN Pedido ON Cliente.cod_cliente = Pedido.cod_cliente INNER
JOIN ItemPedido ON Pedido.cod_pedido = ItemPedido.cod_pedido INNER JOIN Produto ON ItemPedido.cod_produto =
Produto.cod_produto GROUP BY Nome, descrição.
32. Observe a tabela EMPREGADO ilustrada na figura abaixo. Escreva o comando SQL para eliminar a coluna SOBRENOME
desta tabela. ALTER TABLE Empregado DROP COLUMN sobrenome.
33. Observe a tabela PECAS ilustrada na figura a seguir: Uma consulta foi realizada na tabela PECAS e o resultado obtido
com a consulta está ilustrado na figura a seguir. Escreva a consulta SQL que retornará este resultado. SELECT num_peca,
pnome, preco FROM pecas WHERE preco>=3.
34. Pedro foi contratado como desenvolvedor de software de uma empresa. Em seu primeiro dia de trabalho ele se
depatou com a figura a seguir, que representa os dados de uma tabela do sistema de controle de malotes. Foi solicitado
a Pedro relatório para o sistema contendo os seguintes dados: Origem – todos os malotes com Data_Envio superior a
“26/02/2014” e Situacao_Malote igual a “Entregue”. Malotes Matricula: INTEGER; Origem: VARCHAR(50); Destino:
VARCHAR(50); Data_Envio: DATE; Data_Conferencia: DATE; Situacao_Malote: VARCHAR(15). Para a geração do
relatório, Pedro tem que fazer uma consulta utilizando o comando SELECT da linguagem SQL. Como ficaria? Select
Origem from malotes where Data_Envio > “26/02/2014” and Situacao_Malote = “Entregue”.
35. Por que usar índices em tabelas? Para acelerar o acesso.
36. Qual a consulta SQL que retorna a quantidade que o estacionamento teve de veículos da cor verde estacionados?
SELECT count(e.cod) AS Quantidade FROM Veiculo v INNER JOIN Estaciona e ON v.placa = e.Veiculo_placa WHERE v.cor
= ‘verde’.
37. Uma loja chamada DVDShop comercializa DVDs em toda a América Latina e utiliza um sistema chamado DVDSystem
para controle de estoque e vendas de DVDs. O sistema tem um banco de dados e o gerente da loja precisa consultar
somente o título e o nome do artista principal de todos os DVDs cadastrados na tabela chamada TabelaDVD
diretamente do banco de dados usando um comando em SQL porque a aplicação parou de funcionar. Qual é o comando
SQL que o gerente deve executar considerando que a TabelaDVD tem a coluna Titulo para armazenar os títulos dos
DVDs e a coluna NomeArtistaPrincipal para armazenar os nomes dos artistas principais dos DVDs e a coluna Ano para
armazenar os anos de lançamentos dos DVDs?SELECT Titulo, NomeArtistaPrincipal FROM TabelaDVD.
38. Uma loja chamada DVDShop comercializa DVDs em toda a América Latina e utiliza um sistema chamado DVDSystem
para controle de estoque e vendas de DVDs. O sistema tem um banco de dados e o gerente da loja precisa saber a
soma dos preços dos DVDs com o ano de lançamento do DVD em 2003 que estão cadastrados na tabela chamada
TabelaDVD, diretamente do banco de dados usando um comando em SQL porque a aplicação parou de funcionar. Qual
é o comando SQL que o gerente deve executar considerando que a TabelaDVD foi criada pelo analista de banco de
dados (DBA) usando-se o comando SQL a seguir? USE VENDAS GO CREATE TABLE TabelaDVD (ID bigint NOT NULL,
Titulo nvarchar(50) NULL, NomeArtistaPrincipal nvarchar(50) NULL, Ano smalldatetime NULL, Preco decimal(10,2)
NULL) GO. SELECT SUM (Preco) FROM TabelaDVD WHERE Ano = ‘2003’.
39. Uma loja chamada DVDShop comercializa DVDs em toda a América Latina e utiliza um sistema chamado DVDSystem
para controle de estoque e vendas de DVDs. O sistema tem um banco de dados e o gerente da loja precisa saber o
maior preço dos DVDs com a artista principal Julia Roberts que estão cadastrados na tabela chamada TabelaDVD,
diretamente do banco de dados usando um comando em SQL porque a aplicação parou de funcionar. Qual é o comando
SQL que o gerente deve executar considerando que a TabelaDVD foi criada pelo analista de banco de dados (DBA)
usando-se o comando SQL a seguir? USE VENDAS GO CREATE TABLE TabelaDVD (ID bigint NOT NULL, Titulo
nvarchar(50) NULL, NomeArtistaPrincipal nvarchar(50) NULL, Ano smalldatetime NULL, Preco decimal(10,2) NULL) GO.
SELECT MAX (Preco) FROM TabelaDVD WHERE NomeArtistaPrincipal = ‘Julia Roberts’.
QUESTÕES MÚLTIPLA ESCOLHA:
1. 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) nextval (3) currval e nextval (4) podem (5) não podem.
2. A constraint Foreign Key possui no SQL Ansi quais regras? On Delete Cascade / On Delete Restrict / On Update Cascade
/ On Update Delete.
3. A junção irrestrita também é conhecida como: junção cruzada.
4. A linguagem SQL é dividida em subconjuntos de acordo com as operações que queremos efetuar sobre um banco de
dados, tais como: DDL – Linguagem de Definição de Dados e DML – Linguagem de Manipulação de Dados. Sobre o
comando SELECT pode-se afirmar que: faz parte da DML e pode apresentar como resultado de sua execução uma
instância do banco.
5. A linguagem SQL pode ter vários enfoques, EXCETO: Linguagem para a programação de sistemas de informação.
6. A linguagem SQL possui comandos de definição de dados (DDL – Data Definition Language), dos quais faz parte o
seguinte comando: Alter.
7. A operação da álgebra relacional que recupera linhas em uma tabela é denominada: seleção.
8. A operação SQL que recupera tuplas provenientes de duas tabelas é: Junção.
9. A partir da tabela abaixo, identifique a expressão, em álgebra relacional, que permite listar a matrícula dos
funcionários do setor de Projetos: TT matricula (σ setor = “Projetos” (Funcionarios_ste)).
10. A partir das relações abaixo, responda em SQL: quantos alunos (nota maior ou igual a 6) foram aprovados na disciplina
‘Banco de Dados’ com o professor ‘Rui’? Use inner join. Relações: PROFESSOR (idprofessor, nomeprofessor); LECIONA
(idprofessor, iddisciplina); DISCIPLINA (iddisciplina, nomedisciplina); ALUNO (matricula, nomealuno); MATRICULA
(inscrição, iddisciplina, matricula, nota, período, ano). SELECT count(distinct) AS total FROM professor p INNER JOIN
leciona | ON p.idprofessor = I.idprofessor INNER JOIN disciplina d ON I.iddisciplina = d.iddisciplina INNER JOIN matricula
m ON m.iddisciplina = d.iddisciplina WHERE nomeprofessor = ‘Rui’ AND nomedisciplina = ‘Banco de Dados’.
11. A propriedade da transação que garante a credibilidade do banco de dados é: Consistência.
12. A propriedade que garante a proteção de uma transação dos efeitos de atualizações executadas por outras transações
simultâneas é: Isolamento.
13. 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 é: durabilidade.
14. 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.
15. A relação TI abaixo conterá: TI = nome, sexo,salário,dept ( (sexo="MASCULINO") and (salário<5000) (EMPREGADO)).
Nome, sexo, salário e depto de todos os empregados homens que ganham menos que 5000.
16. A restrição de chave estrangeira possui nenhum SQL Ansi Quais Regras? Em Excluir Cascata / ON DELETE Restringir / On
Atualização Cascade / On Atualizar Excluir.
17. Acerca do conjunto de operações para manipulação de dados, marque a alternativa correta: o predicado BETWEEN
retorna resultados entre dois valores fornecidos pelo usuário.
18. Admitindo as relações abaixo especificadas, marque a alternativa que representa a consulta em álgebra relacional que
responde corretamente a seguinte pergunta: quais os nomes dos alunos e seus respectivos cursos? Alunos(matricula,
nome, endereco, cpf, cod_curso) Cursos(codigo, nome_curso). ᴨnome, nome_curso(σcod_curso=codigo (Alunos X
Cursos)).
19. Algumas regras de heurísticas vinculadas à álgebra relacional, como “execute as operações de seleção o mais cedo
possível”, “execute antes as projeções” e “evite os produtos cartesianos”, são usualmente empregadas m sistemas
gerenciadores de bancos de dados para a implementação de: otimização de consultas.
20. Analise as afirmações a seguir, relativas ao conceito de chave primária: i. Pode ser composta por um ou vários
atributos. ii. Não admite duplicidade de valores, exceto no caso de valores nulos. iii. Deve ser definida durante a
construção do modelo de E-R. Marque a alternativa correta (apenas uma opção). As afirmações II e III são falsas.
21. Analise as afirmações abaixo: I. Quando fazemos uma consulta em uma View podemos usar todas as clausulas do
comando Select, tais como: Where, Group By, Having e Order By. II. Quando fazemos uma consulta em uma View
podemos utilizar os operadores relacionais (in, between, like, is null), os operadores lógicos (and, or not) e as funções
de grupo. III. Quando fazemos uma consulta em uma View podemos fazer junções com uma tabela. IV. Quando
fazemos uma consulta em uma View podemos fazer subconsultas e utilizar operadores de conjunto. São
VERDADEIRAS: I, II, III e IV.
22. Analise as seguintes afirmações: "(1) A restrição de integridade referencial diz que chave primária em uma relação não
pode ter seu valor nulo PORQUE (2) esta chave identifica as tuplas da relação". Podemos afirmar: A primeira afirmação
é falsa e a segunda é verdadeira.
23. Analise as seguintes afirmações: "(1) O valor de uma chave estrangeira só pode ser inserido em uma tabela se já existe
na tabela onde é chave primária PORQUE (2) esta restrição garante a integridade referencial." Podemos afirmar: As
duas afirmações são verdadeiras e primeira justifica a segunda.
24. Analise as seguintes instruções abaixo: SELECT * FROM PAÍS; SELECT NOMEPOPULAR FROM NOME; SELECT * FROM
CAPTURA WHERE TEMPAGUA <25; SELECT * FROM ESPÉCIE. Nos comandos SELECT acima encontramos exemplos de:
uma seleção e uma projeção.
25. Ao contrário das linguagens tradicionais, que são procedimentais,SQL é uma linguagem declarativa, que integra três
sublinguagens: Data Manipulation Language (DML), Data Definition Language (DDL) e Data Control Language (DCL).
Um comando DML e outro DDL são, respectivamente: Upadate e Drop.
26. Ao selecionar os dados de uma tabela, para visualização ou outra necessidade podemos restringir o seu espectro de
visualização utilizando a cláusula: WHERE.
27. Ao tentar inserir um valor nulo em um campo que é chave primária estaremos violando a: Restrição de Entidade.
28. As abordagens clássicas utilizadas pelo otimizador de consultas são: regras e custo.
29. Assinale a alternativa correta sobre fragmento de comando a seguir: (select distinct nome_cliente from contas)
intersect (select distinct nome_cliente from empréstimos). Se um cliente tem diversas contas e empréstimos no banco,
aparecerá somente uma vez no resultado.
30. Assinale a alternativa que retorna corretamente o seguinte resultado: "Todos os alunos cujos nomes terminam em
Silva e começam por T ou B." SELECT * FROM alunos WHERE nome LIKE '[BT]%Silva'
31. Assinale a opção que possui o comando CREATE TABLE que cria corretamente a tabela “Alunos”, segundo o seguinte
esquema de banco de dados: Alunos(matricula, nome, endereço, cod_curso) Cursos(código, nome). Admitindo que os
campos “matricula” e “código” são chaves primárias de suas tabelas e que o campo “cod_curso” é chave estrangeira
da tabela “Cursos” na tabela “Alunos”. Create table Alunos (matricula int not null, nome varchar(50) not null, endereco
varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (matricula), constraint fk_alunos_cursos
foreign key (cod_curso) references Cursos(código)).
32. Com base nas tabelas empregado(mat, cpf, nome) e aluno(mat, cpf, nome), assinale a opção correta que corresponde
à consulta a seguir: select cpf from empregado intersect select cpf from aluno; A consulta exibirá o cpf dos empregados
que também são alunos.
33. Com relação a arquitetura distribuída de computadores utilizadas em SGBDs, marque a resposta correta: I.Divide o
processamento entre o cliente e o servidor. II.Comumente usada em aplicações web, na qual as camadas são: interface
com o usuário, lógica do negócio e banco de dados. III.A aplicação pode ser dividida em vários computadores em uma
rede distribuída. As características acima são, respectivamente, referentes as arquiteturas: Cliente/Servidor, 3
Camadas, Multicamadas (N Camadas).
34. Com relação a Chaves e índices de Banco de Dados: 1 ) Chave designa o conceito de item de busca, ou seja , um dado
que será empregado na consulta à base de dados. É um conceito lógico da aplicação; 2 ) Índice e um recurso físico
visando otimizar a recuperação de uma informação, via um método de acesso. Seu objetivo principal está relacionado
com a performance do sistema. 3 ) Uma chave pode ser utilizada como índice , mas um índice não e necessariamente
uma chave. 4) Podemos ter em um banco de dados quantos índices desejarmos, sem qualquer tipo de preocupação.
Escolha a alternativa correta: Apenas os itens 1, 2 e 3 estão corretos.
35. Como ficaria o comando SQL para criar a tabela a seguir? CREATE TABLE X_PROD (CODIGO NUMBER(5) PRIMARY KEY,
DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2)).
36. Conforme a relação de empregado abaixo, através da álgebra relacional, escolha a opção que selecione o nome e
endereço de cada empregado, que possua salário superior a R$5.000,00. Empregado (matrícula, nome, endereço,
salário, departamento, cargo). πnome, endereço (δ salario>5000 (Empregado)).
37. Considere a relação: ALUNO (matricula, nome, endereço, estado, cidade, cep, datadeingresso,
coeficiente_de_rendimento). A consulta SQL para listar os alunos com maior e menor coeficiente de rendimento nos
estados de SP, RJ e MG é: SELECT MAX(COEFICIENTE_DE_RENDIMENTO), MIN(COEFICIENTE_DE_RENDIMENTO) FROM
ALUNO WHERE ESTADO = ‘SP OR ESTADO = ‘RJ’ OR ESTADO = ‘MG’;
38. Considere a relação: FILME (nome, diretor, tempoduracao, genero, ano) A consulta em álgebra relacional que retorna
o nome e o ano de todos os filmes de ação com tempo de duração entre 120 e 180 minutos. nome, ano ((genero =
"ação" AND tempoduracao >= 120 AND tempoduracao <= 180) (FILME)).
39. Considere a relação: FUNCIONÁRIO (matricula, cargo, salario, admissão). A consulta SQL que mostra média dos salários
dos funcionários é: SELECT AVG(SALARIO) FROM FUNCIONARIO.
40. Considere a relação: FUNCIONÁRIO (matricula, cargo, salario, admissão). A consulta SQL que mostra o total dos salários
dos funcionários é: SELECT SUM (SALARIO) FROM FUNCIONARIO;
41. Considere a relação: PRODUTO (código, unidade, descrição, valor_unitário). A consulta em SQL para responder à
questão “Liste o código dos produtos com valores unitários entre R$500,00 e R$100,00” é: SELECT CODIGO FROM
PRODUTO WHERE VALOR_UNITARIO BETWEEN 500 AND 1000;
42. Considere a relação abaixo: AUTOMÓVEL (placa, fabricante, modelo, cor, data_de_fabricação). A consulta SQL que
responde a questão “Liste todos os automóveis (placa, modelo, cor) fabricados pela VW ou pela Fiat” é: SELECT PLACA,
MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE IN (‘VW’, ‘FIAT’);
43. Considere a relação abaixo: CLIENTE (cpf, nome, endereço, telefone). A consulta SQL que responde a pergunta “Quais
os clientes (cpf e nome) que não possuem endereço cadastrado” é: SELECT CPF, NOME FROM CLIENTE WHERE
ENDERECO IS NULL.
44. Considere a seguinte consulta SQL: SELECT nome, count(*) FROM ALUNO GROUP BY nome. Esta consulta tem como
resultado: o atributo nome e o número de registros existentes para cada nome, da tabela aluno.
45. Considere a seguinte tabela de um banco de dados: PESSOA {pes_codigo, pes_nome, pes_email, pes_rg, pes_idade,
pes_codigo_casado}. Qual das instruções abaixo permite recuperar os campos nome e e-mail da pessoa e o nome e e-
mail do seu cônjuge. Select p.pes_nome, p.pes_email, c.pes_nome, c.pes_email From pessoa p, pessoa c Where
p.pes_codigo = c.pes_codigo_conjuge.
46. Considere a tabela aluno mostrada abaixo: Qual o atributo poderia ser chave candidata da tabela acima? Cpf.
47. Considere as afirmações abaixo: 1. As relações podem ser manipuladas através de operadores relacionais. Embora não
seja utilizada frequentemente, devido à sua complexidade, ela ajuda a esclarecer a manipulação relacional e
estabelece os fundamentos para o aprendizado da SQL. 2. A Álgebra Relacional é um conjunto de operações usadas
para manipular relações e é oriunda da Teoria dos Conjuntos da matemática. 3. A Álgebra Relacional é fechada, o que
significa que os resultados de uma ou mais operações relacionais são sempre uma relação. São VERDADEIRAS: 1, 2 e
3.
48. Considere as relações: ALUNO (matriculaluno, nomealuno, endereço, telefone). CURSA (matricula, codigo). matricula
REFERENCIA matriculaluno em ALUNO. codigo REFERENCIA codigodisciplina em DISCIPLINA. DISCIPLINA
(codigodisciplina, nomedisciplina, creditos). A consulta em álgebra relacional que responde a questão "Quais os alunos
(nome e matrícula) que cursam a disciplina com código CCT0199" está corretamente representada em: π matriculaluno,
nomealuno (ALUNO matriculaluno = ⋈matricula (σ codigo = CCT0199 (CURSA)).
49. Considere as relações: PROFESSOR (matriculaprf, nomeprf, titulação, anoadmissao). MINISTRA (matricula, codigo).
matricula REFERENCIA matriculaprf em PROFESSOR. codigo REFERENCIA codigodisciplina em DISCIPLINA. DISCIPLINA
(codigodisciplina, nomedisciplina, creditos). A consulta em álgebra relacional que responde a questão "Quem são os
professores (nome e matrícula) que ministram a disciplina Implementação de Bancos de Dados" está corretamente
representada em: π matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (MINISTRAcodigo = ⋈codigodisciplina
(σ nomedisciplina = “Implementação de Banco de Dados” (DISCIPLINA))).50. 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 );
51. Considere o esquema: Aluno (matricula, cpf, nome, endereço). Assinale a alternativa que não representa uma super-
chave deste esquema: nome, endereço.
52. Considere o esquema abaixo: PROFESSOR (matriculaprf, nomeprf, titulação, anoadmissao). MINISTRA (matricula,
código). matricula REFERENCIA matriculaprf em PROFESSOR. Código REFERENCIA codigodisciplina em DISCIPLINA.
DISCIPLINA (codigodisciplina, nomedisciplina, créditos). Os comandos SQL apresentam todos os elementos necessários
para a sua criação estão representados em: CREATE TABLE PROFESSOR (MATRICULAPRF NUMBER(5) NOT NULL,
NOMEPRF VARCHAR(20) NOT NULL, TITULACAO VARCHAR (15) NOT NULL, ANOADMISSAO VARCHAR (4) NOT NULL,
PRIMARY KEY (MATRICULAPRF)); CREATE TABLE DISCIPLINA (CODIGODISCIPLINA VARCHAR (5) NOT NULL,
NOMEDISCIPLINA VARCHAR (20) NOT NULL, CREDITOS NUMBER (2) NOT NULL, PRIMARY KEY (CODIGODISCIPLINA));
CREATE TABLE MINISTRA (MATRICULA NUMBER (5) NOT NULL, CODIGO VARCHAR (5) NOT NULL, PRIMARY KEY
(MATRICULA, CODIGO), FOREIGN KEY MATRICULA REFERENCES PROFESSOR (MATRICULAPRF), FOREIGN KEY CODIGO
REFERENCES DISCIPLINA (CODIGODISCIPLINA));
53. Considere o esquema de banco de dados ilustrado na figura abaixo em que as chaves primárias estão sublinhadas.
Aluno (matricula, nome, período, cod_curso). Curso (cod_curso, nome). Podemos afirmar que a coluna cod_curso da
tabela Aluno é __________ da tabela Curso na coluna cod_curso. Assinale a alternativa que contém a sentença que
completa a frase acima: chave estrangeira.
54. Considere o script: CREATE TABLE PECA (CODIGO NUMERIC(5) NOT NULL, DESCRICAO VARCHAR(20) NOT NULL,
ESTOQUE NUMERIC (5) NOT NULL, PRIMARY KEY(CODIGO)); Após a criação desta tabela, o comando que inclui a tupla
(1234, “lápis de cor”, 500) está representado em: INSERT INTO PECA (1234, “lápis de cor”, 500);
55. Considere o texto a seguir e complete as lacunas, com as expressões constantes nas alternativas, respeitando a
correlação sequencial em que estão dispostas. Uma ..................... é uma coluna ou uma combinação de colunas cujos
valores distinguem uma linha das demais, dentro de uma tabela. Uma ...................... é uma coluna ou uma combinação
de colunas cujos valores aparecem, necessariamente, na ........................ de uma tabela. Em alguns casos, mais de uma
coluna ou combinações de colunas podem servir para distinguir uma linha das demais. Uma das colunas (ou
combinação de colunas) é escolhida como .................... As demais colunas ou combinações são denominadas
........................ A sequência correta encontra-se apenas em: chave primária, chave estrangeira, chave primária, chave
primária, chaves alternativas.
56. 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 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)).
57. 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 f
k_empregado_depto FOREIGN KEY (numDepto) REFERENCES Departamento(numDepto); INSERT INTO Departamento
VALUES (1, Vendas´); INSERT INTO Departamento VALUES (2, En≥nharia´); INSERT INTO Departamento VALUES (3,
Contabilidad e´); INSERT INTO Departamento VALUES (4, RH´); INSERT INTO Empregado VALUES (11111, ´Juliana´, 1);
INSERT INTO Empregado VALUES (22222´,Gabriela´, 3); INSERT INTO Empregado VALUES (33333´,Francisco´, 3); INSERT
INTO Empregado VALUES (44444´,Inácio´, 4); INSERT INTO Empregado VALUES (55555´ ,João´, 4); INSERT INTO
Empregado VALUES (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? Três.
58. CREATE TABLE PECAS (CODIGO NUMERIC(5 ) NOT NULL, DESCRICAO VARCHAR(20) NOT NULL, ESTOQUE NUMERIC(5)
NOT NULL, PRIMARY KEY(CODIGO)); CREATE TABLE FORNECEDORES (COD_FORN NUMERIC(3) NOT NULL, NOME
VARCHAR(30) NOT NULL, PRIMARY KEY(COD_FORN)); CREATE TABLE FORNECIMENTOS (COD_PECA NUMERIC(5) NOT
NULL, COD_FORN NUMERIC(3) NOT NULL, QUANTIDADE NUMERIC(4) NOT NULL, PRIMARY KEY(COD_PECA,
COD_FORN), FOREIGN KEY (COD_PECA) REFERENCES PECAS, FOREIGN KEY (COD_FORN) REFERENCES FORNECEDORES);
A partir desse script, assinale a opção que apresenta o comando SQL que permite obter uma lista que contenha o
código e a quantidade de peças fornecidas: SELECT COD_PECA, QUANTIDADE FROM FORNECIMENTOS.
59. CREATE TABLE PECAS (CODIGO NUMERIC(5 ) NOT NULL, DESCRICAO VARCHAR(20) NOT NULL, ESTOQUE NUMERIC(5)
NOT NULL, PRIMARY KEY(CODIGO)); CREATE TABLE FORNECEDORES (COD_FORN NUMERIC(3) NOT NULL, NOME
VARCHAR(30) NOT NULL, PRIMARY KEY(COD_FORN)); CREATE TABLE FORNECIMENTOS (COD_PECA NUMERIC(5) NOT
NULL, COD_FORN NUMERIC(3) NOT NULL, QUANTIDADE NUMERIC(4) NOT NULL, PRIMARY KEY(COD_PECA,
COD_FORN), FOREIGN KEY (COD_PECA) REFERENCES PECAS, FOREIGN KEY (COD_FORN) REFERENCES FORNECEDORES);
A partir desse script, assinale a opção que apresenta o comando SQL que permite obter uma lista que contenha o nome
de cada fornecedor: SELECT NOME FROM FORNECEDORES.
60. Create table Pessoa (Id int not null identity (1,1) primary key, Nome varchar(30), Idade int, Sexo char(1)) create table
Parentesco (PaiMaeint not null, FilhoFilhaint not null). Que commando SQL incluirá a informação de que João é pai de
Joana? INSERT INTO Parentesco SELECT P.Id, F.Id FROM Pessoa AS P, Pessoa AS F WHERE P.Nome=’João’ AND
F.Nome=’Joana’.
61. Dada a instrução SQL: SELECT * FROM Paciente WHERE endereço NOT LIKE “Avenida”; É correto afirmar que serão
selecionados: apenas os registros da tabela Paciente que não possuem como inicial do conteúdo do campo “endereço”
a palavra Avenida.
62. Dada a tabela de livros com os seguintes campos: cod_livro, título, descrição, ano_publicação, preço. Qual é o comando
correto para apresentar o título, a descrição do livro e simular no banco, um aumento de preço de 50% para livros
publicados em 2012? Select título, descrição, preço*1.50 from livros where ano_publicação=’2012’.
63. Dado o seguinte requisito funcional: É necessário cadastrar a matrícula, o nome e o curso dos alunos, e sabendo que
um aluno pode fazer mais de um curso e um curso ter mais de um aluno. Qual das questões representa a normalização
correta de um banco de dados relacional? CREATE TABLE CURSOS (CODIGO INTEGER, DESCRICAO VARCHAR(100),
PRIMARY KEY (CODIGO)); CREATE TABLE ALUNOS (MATRICULA INTEGER, NOME VARCHAR(100), PRIMARY KEY
(MATRICULA)); CREATE TABLE INSCRICAO (ALUNO INTEGER, CURSO INTEGER, PRIMARY KEY (ALUNO,CURSO), FOREIGN
KEY (ALUNO) REFERENCES ALUNOS (MATRICULA), FOREIGN KEY (CURSO) REFERENCES CURSOS(CODIGO));
64. De acordo com a tabela a seguir, como fica a instrução de seleção para recuperarmos os funcionários possuem ID maior
do que 102, trabalham no Departamento 10 e ganham mais de R$2.000,00 de Salário? σ ID > 102 E id_Depto = 10 E
Salario > 2000 (Empregado).
65. De acordo com o diagrama do esquema de banco de dados relacional, escolha a sentença SQL que melhor responda à
consulta Listar o número da conta de todas as contas que não tem empréstimo associado: SELECT c.num_conta FROM
CONTA AS c MINUS SELECT e.num_conta FROM EMPRESTIMO AS e.
66. De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para: apresentar
apenas os nomes completos dos Empregados que tem salario entre R$1000,00 e R$2000,00. SELECT PRIM_NOME || ‘ ‘
|| ULT_NOME FROM EMPREGADO WHERE SALARIO BETWEEN 1000 AND 2000.
67. De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para: apresentar
apenas os nomes completos dos Empregados que tenham no cargo a palavra “venda”. SELECT PRIM_NOME || ‘ ‘ ||
ULT_NOME FROM EMPREGADO WHERE UPPER(CARGO) LIKE ‘%VENDA%’.
68. De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para: apresentar
apenas os nomes completos dos Empregados que trabalhem nos Departamentos 11, 21, 22, 31, 42 ou 51. SELECT
PRIM_NOME || ‘ ‘ || ULT_NOME FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 51);
69. De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para: apresentar
o maior salário pago aos Empregados Agrupados por Departamento, para os Departamentos (11, 21, 22, 31, 42, 51).
SELECT MAX(SALARIO) FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 51) GROUP BY ID_DEPTO;
70. De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para: apresentar
o menor salário pago aos Empregados Agrupados por Departamento. SELECT MIN(SALARIO) FROM EMPREGADO
GROUP BY ID_DEPTO;
71. De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para: apresentar
os Ids e os nomes dos Departamentos ordenados por nome de forma Decrescente. SELECT ID, NOME FROM
DEPARTAMENTO ORDER BY NOME DESC;
72. De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para: apresentar
os primeiros nomes, o salário e a data de admissão dos Empregados que ganham acima de R$1.000,00 em ordem
Crescente de Salário e de Data de Admissão. SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE
SALARIO > 1000 ORDER BY SALARIO, DT_ADMISSAO.
73. De acordo com o processo de submissão de uma consulta no Oracle, identifique a ordem de execução as seguintes
etapas: 1 – Análise Semântica, 2 – Análise Sintática, 3 – Geração de Código, 4 – Otimização da Consulta, 5 – Reescrita
de Consulta. A ordem de execução CORRETA seria: 2, 1, 5, 4, 3.
74. De uma chave primária é certo afirmarmos: I. Pode ser simples ou composta. II. Não pode constar entre as chaves
candidatas da relação. III. O atributo da chave primária deve ser único. Estão corretas: I e III.
75. Dentre as opções a seguir, qual não é uma função de grupo? MED(x).
76. Dentre as propriedades de uma transação, qual delas é responsável por preservar a integridade do banco de dados?
Consistência.
77. Dentre as regras de utilização de NEXTVAL e CURRVAL, qual das opções abaixo NÃO pode ser usada? Na cláusula WHERE
de um comando DELETE.
78. Dentre as sub-linguagens definidas na Linguagem SQL, o comando SELECT faz parte de qual delas? DRL.
79. Dentre as vantagens da utilização dos SGBDs a seguir, qual NÃO é uma vantagem? Dependência entre programas e
dados.
80. Dentre os estados de transação, em qual estado se encontra uma transação após a execução da última operação? Em
efetivação parcial.
81. Dentre os objetivos da implementação de bancos de dados, um visa solucionar um problema que ocorre quando
aplicações diferentes operam sobre os mesmos dados, armazenados em arquivos diferentes. Esse problema é
conhecido por: Redundância de dados.
82. Durante a criação de uma tabela, é detectada a necessidade de se definir um atributo de texto que armazenará dados
com tamanhos entre 2000 e 3000 caracteres. Qual é o tipo adequado a ser usado este atributo neste caso?
VARCHAR2(tam).
83. É responsável por garantir a Integridade Referencial: chave estrangeira.
84. É sinônimo de uma instância de uma entidade em um banco de dados: tupla.
85. É uma vantagem de uso da linguagem SQL: definição dinâmica dos dados.
86. Em Banco de Dados, todo Método de Controle de Concorrência DEVE Evitar Anomalias de sincronização. Essas
Anomalias Relacionadas estão a: I – Perda de Consistência fazer banco. II – Acesso via ODBC. III – Acesso a Dados
inconsistentes. IV – Consulta recursiva. V – Perda de atualizações. Estão certos APENAS OS itens: I, III e V.
87. Em relação a álgebra linear é correto afirmar que: I – A operação de projeção é aplicada sobre apenas uma relação
visando selecionar um subconjunto de tuplas (com todos os seus atributos). II – O produto cartesiano é uma operação
binária que combina todas as tuplas de duas tabelas. III – A operação de seleção é aplicada sobre apenas uma relação
de visando projetar os atributos de uma relação de acordo com uma lista de atributos oferecida. Estão corretas:
Somente a II.
88. Em relação a álgebra relacional, o operador de __________ permite combinar seleções e um produto cartesiano em
uma só operação. Junção.
89. Em SQL, para contar linhas usamos: COUNT.
90. Em uma junção Cruzada entre três tabelas com respectivamente 10, 8 e 4 registros, gerará uma saída com quantos
registros? 320 registros.
91. Listar cpf e nome do cliente que possui o veículo placa BDQ2012. SELECT c.cf, c.nome FROM Veiculo v INNER JOIN Cliente
c ON v.Cliente_cpf WHERE v.placa = ‘BDQ2012’.
92. Listar placa, o ano do veículo e a descrição de seu modelo, se ele possuir ano a partir de 2010: SELECT v.placa, v.ano,
m.descricao FROM Veiculo v INNER JOIN Modelo m ON v.Modelo_codMod = m.codMod WHERE ano >=2010.
93. Na figura é exibida a estrutura da tabela TCC. Deseja-se realizar uma mudança nesta tabela que não permita o cadastro
de um TCC contendo o mesmo título que um TCC já cadastrado previamente. Assinale qual a alternativa abaixo realiza
esta mudança corretamente: ALTER TABLE TCC ADD UNIQUE(TITULO).
94. Na linguagem SQL, para totalizarmos os valores de uma coluna usamos o comando: SUM.
95. Na otimização de consultas em sistemas gerenciadores de bancos de dados, podem ser identificadas quatro etapas,
listadas a seguir: I. escolher procedimentos candidatos; II. Gerar planos de consulta e escolher o mais “econômico”; III.
Converter a consulta para a forma canônica; IV. converter a consulta para algum formato interno. A ordem correta
para a execução dessas quatro etapas é: IV, III, I e II.
96. Na sintaxe ANSI da junção Interior, na sua forma padrão é: select [colunas] from tabela1 INNER JOIN tabela2 ON;
97. No Modelo Relacional de Dados, o mecanismo fundamental para manter a consistência dos dados e evitar registros
órfãos é denominado: Integridade Referencial.
98. No Script SQL de criação da tabela pagamento aparece a palavra 'funcionario' 4 vezes. Sendo assim, é possível afirmar
que se referem, respectivamente: CREATE TABLE pagamento (reg serial NOT NULL, data date NOT NULL, valor double
precision NOT NULL, funcionário integer NOT NULL, CONSTRAINT pk_pagamento_reg PRIMARY KEY (reg), CONSTRAINT
fk_pagamento_funcionario FOREIGN KEY (funcionário) REFERENCES funcionário (reg)); atributo, apelido, campo,
tabela.
99. Nos SGBDs existem alguns tipos de integridade, dos quais o mais elementar funciona ao nível da coluna do banco de
dados. O valor do campo deve obedecerao tipo de dados e às restrições de valores admitidos para essa coluna. É o
tipo conhecido por integridade de: domínio.
100. O Administrador de Dados de uma loja virtual verifica que há um problema no sistema controlador do estoque. Alguns
produtos apresentam quantidades negativas, ou seja, houve mais vendas que a quantidade existente no estoque. O
programador do sistema mostra, em pseudocódigo, o trecho que realiza a verificação do estoque. BEGIN
TRANSACTION. SELECT quantidade FROM estoque WHERE idproduto = <ID>; IF quantidade > 0 THEN UPDATE estoque
SET quantidade = quantidade - <QTD> WHERE idproduto = <ID>; ELSE ERRO(“quantidade insuficiente no estoque”);
ROLLBACK TRANSACTION; END IF; COMMIT TRANSACTION. Qual opção descreve corretamente o problema e sua
solução? A transação não bloqueia o produto consultado. O SELECT T deverá ter, no final, a cláusula FOR UPDATE.
101. O comando para apagar um visão é: DROP VIEW.
102. O comando SELECT FROM corresponde a seguinte operação da álgebra relacional: projeção.
103. O comando SELECT FROM WHERE corresponde as seguintes operações da álgebra relacional: seleção e projeção
104. O comando SELECT*FROM [tabela] WHERE [condições]: lista todas as colunas de uma tabela.
105. O comando SQL para criar uma visão chamada Eye, abrangendo os atributos A1 e A2 da tabela Pen, é: CREATE VIEW
Eye AS SELECT A1, A2 FROM Pen.
106. O comando SQL para excluir os registros da tabela Aluno, cujo campo nome comece com a letra M, é: DELETE FROM
Aluno WHERE nome LIKE ‘M%’.
107. O Comando SQL para inserir todos os registros da tabela T1, na tabela T2, é: INSERT INTO T2 SELECT * FRM T1.
108. O comando SQL que apaga uma tabela é: DROP TABLE.
109. O comando SQL que garante a atomicidade de uma transação é: COMMIT.
110. O Diagrama acima representa a estrutura de um banco de dados de uma instituição de ensino específico para defesa
de Trabalhos de Conclusão de Curso (TCC). Esta estrutura já foi implementada e alguns dados já foram também
cadastrados: vinte professores, cinco alunos e cinco TCC. Na figura abaixo é exibido o resultado de uma consulta
realizada neste banco de dados; uma lista contendo o nome dos professores que, até o momento, orientaram alunos
em projetos de TCC. Analise-a: Assinale abaixo qual das alternativas resulta corretamente nos dados exibidos na figura
acima. SELECIONE NOMEP DISTINCT “Nome do Professor” do Professor P, TCC T, Aluno A ONDE P.MATP = A.MATP E
A.MATA = T.MATA OU SELECT DISTINCT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A WHERE
P.MATP = A.MATP AND A.MATA = T.MATA.
111. O entendimento dos modelos de banco de dados é fundamental para compreender as vantagens e desvantagens em
aspectos de estrutura e manipulação dos dados. Um destes modelos utiliza tabelas bidimensionais para o
armazenamento dos dados e a maneira como os dados são armazenados influencia na facilidade de acesso às
informações, existindo técnicas de normalização para aperfeiçoar a organização. Trata-se do modelo: relacional.
112. O esquema abaixo refere-se a um banco de dados criado para auxiliar na gerência de orientação de alunos por
professores e da defesa do Trabalho de Conclusão de Curso (TCC) pelos alunos. Analise-o: Professor (MatP, NomeP,
teIP, emailIP), Aluno (MatA, MatP, NomeA, emailA), TCC (IDTCC, MatA, Titulo, Resumo). Assinale a única alternativa
que retorna exatamente os dados exibidos na figura: SELECT NOMEP PROFESSOR, NOMEA ALUNO, TITULO “TÍTULO”
FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA=T.MATA.
113. O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de
dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser
baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-
statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263. Características do esquema: Chave primária sublinhada
e chave estrangeira em itálico. Seguem algumas tabelas do esquema: Espécie (IDEspécie, IDOrdem. Nome_Cientifico,
TamMaior, TamMenor, TamMédio). Nome (IDNome, IDEspécie, NomePopular). Tubarão (IDTubarão, IDEspécie,
Comprimento, Sexo). Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua). Assinale em qual das consultas
abaixo são selecionados nomes populares de tubarões, sem repetição, que foram capturados com temperatura da
água igual a 25 e 27 graus: SELECT DISTINCT NomePopular FROM NOME N, ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE
N.IDESPÉCIE = E.IDESPECIE AND E.IDESPECIE = T.IDESPECIE AND T.IDTUBARÃO = C.IDTUBARÃO AND TEMPAGUA
IN(25,27).
114. O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de
dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser
baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-
statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263. Características do esquema: Chave primária sublinhada
e chave estrangeira em itálico. Seguem algumas tabelas do esquema: Espécie (IDEspécie, IDOrdem. Nome_Cientifico,
TamMaior, TamMenor, TamMédio). Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo). Captura (NumCaptura,
IDTubarão, IDLocal, Data, TempAgua). Assinale a alternativa abaixo que retorna a média de comprimento dos tubarões
e a temperatura mínima e a máxima da água agrupadas pelo nome científico da Espécie: SELECT Nome_Científico,
AVG(Comprimento), MIN(TempAgua), MAX(TempAgua) FROM ESPÉCIE E, TUBARÃO T< CAPTURA C WHERE E.IDEspecie
= T.IDEspecie AND T.IDTubarão = C.IDTubarão GROUP BY (Nome_Científico).
115. O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de
dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser
baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-
statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263. Características do esquema: Chave primária sublinhada
e chave estrangeira em itálico. Seguem algumas tabelas do esquema: Espécie (IDEspécie, IDOrdem. Nome_Cientifico,
TamMaior, TamMenor, TamMédio). Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo). Captura (NumCaptura,
IDTubarão, IDLocal, Data, TempAgua). Local (IDLocal, CodArea, NomeLocal). Area (CodArea, NomeArea). Sabendo-se
que um metro possui 39,3700787 polegadas, assinale a alternativa correta abaixo que consulta a data da captura, a
temperatura da agua e o comprimento do tubarão convertido em polegadas com o título Polegadas: SELECT DATA,
TEMPAGUA, COMPRIMENTO * 39.3700787 Polegadas FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO =
T.IDTUBARÃO.
116. O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de
dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser
baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-
statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263. Características do esquema: Chave primária sublinhada
e chave estrangeira em itálico. Seguem algumas tabelas do esquema: Nome (IDNome, IDEspécie, NomePopular).
Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo). Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua).
Local (IDLocal, CodArea, NomeLocal). Area (CodArea, NomeArea). Deseja-se consultar a quantidade de tubarões do
sexo feminino que foram capturados entre os anos de 2002 e 2013. Assinale a opção abaixo eu realiza esta consulta:
SELECT COUNT (*) QTD FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO AND SEXO = ‘F’ AND DATA
BETWEEN ‘01/01/2002’ AND ‘31/12/2013’.
117. O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto dedados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser
baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-
statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263. Características do esquema: Chave primária sublinhada
e chave estrangeira em itálico. Seguem algumas tabelas do esquema: Nome (IDNome, IDEspécie, NomePopular).
Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo). Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua).
Local (IDLocal, CodArea, NomeLocal). Area (CodArea, NomeArea). Deseja-se realizar uma consulta da tabela Captura
exibindo-se a data e a temperatura da água apresentada em graus Celsius, convertida para graus Fahrenheit (Fórmula
°F=°C x 1,8 + 32). Assinale a alternativa que exibe os dados convertidos corretamente : SELECT DATA, TEMPAGUA * 1.8
+ 32 “°F” FROM CAPTURA.
118. O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de
dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser
baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-
statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263. Características do esquema: Chave primária sublinhada
e chave estrangeira em itálico. Seguem algumas tabelas do esquema: Nome (IDNome, IDEspécie, NomePopular).
Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo). Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua).
Local (IDLocal, CodArea, NomeLocal). Area (CodArea, NomeArea). Sabendo-se que a tabela nome contém nomes
populares de tubarões e deseja-se listar o comprimento e o sexo de todos os tubarões que tem nome popular
terminado com a letra k. Assinale a alternativa abaixo que retorna corretamente a consulta desejada: SELECT
Comprimento, Sexo FROM Tubarão T, Espécie E, Nome N WHERE T.IDEspecie = E.IDEspecie AND N.IDEspécie = E.IDEspécie
AND NomePopular like ‘%k’.
119. O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de
dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser
baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-
statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263. Características do esquema: Chave primária sublinhada
e chave estrangeira em itálico. Seguem algumas tabelas do esquema: Ordem (IDOrdem, NomeOrdem). Espécie
(IDEspécie, IDOrdem. Nome_Cientifico, TamMaior, TamMenor, TamMédio). Esp_País (IDEspécie, CodPaís). País
(CodPaís, NomePaís). Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo). Assinale qual das alternativas abaixo
representa uma consulta que retorna a quantidade de espécies de tubarões encontradas no Brasil cuja coluna é
nomeada de QTD: SELECT COUNT(*) QTD FROM ESPÉCIE E, ESP_PAÍS EP, PAÍS P WHERE E.IDESPECIE = EP.IDESPÉCIE AND
EP.CODPAÍS AND NOMEPAÍS = “Brasil”.
120. O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de
dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser
baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-
statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263. Características do esquema: Chave primária sublinhada
e chave estrangeira em itálico. Seguem algumas tabelas do esquema: Ordem (IDOrdem, NomeOrdem). Espécie
(IDEspécie, IDOrdem. Nome_Cientifico, TamMaior, TamMenor, TamMédio). Nome (IDNome, IDEspécie,
NomePopular). Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo). Captura (NumCaptura, IDTubarão, IDLocal, Data,
TempAgua). Deseja-se exibir os nomes das ordens das Espécies de Tubarões cadastradas até o identificador de espécie
de número 018103, sem que os nomes se repitam. Assinale a alternativa correta abaixo: SELECT DISTINCT nomeOrdem
FROM Ordem O, Espécie E WHERE O.IDOrdem = E.IDordem AND E.IDEspécie <= 018013.
121. O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de
dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser
baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-
statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263. Características do esquema: Chave primária sublinhada
e chave estrangeira em itálico. Seguem algumas tabelas do esquema: Tubarão (IDTubarão, IDEspécie, Comprimento,
Sexo). Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua). Local (IDLocal, CodArea, NomeLocal). Area
(CodArea, NomeArea). Deseja-se saber qual a quantidade de locais que foram utilizados na captura de tubarões
agrupados pelo nome de cada área. Assinale a alternativa que retorna corretamente esta consulta: SELECT NOMEAREA,
COUNT (L.CODAREA)"QTD DE LOCAIS" FROM AREA A, LOCAL L WHERE A.CODAREA = L.CODAREA GROUP BY NOMEAREA;
122. O operador que possibilita a seleção de uma faixa de valores sem a necessidade do uso dos operadores >=, <= e AND
é: BETWEEN.
123. O otimizador do Oracle transforma condições envolvendo certos operadores, no caso do operador BETWEEN, ao
usarmos como o exemplo a construção: Salario BETWEEN 1000 AND 3000. A sua otimização resultante será:
salário>=1000 AND salário <=3000.
124. O plano de execução é o roteiro que o SGBD segue para recuperar as linhas especificadas pela consulta. Uma serie de
detalhes sobre como a consulta deve ser processada é especificada no plano. Algumas operações são aplicadas para
resolver a consulta. Dentre as alternativas abaixo marque a alternativa que NÃO indica uma operação utilizada no
plano de execução. Prioridade das chaves primárias.
125. O SGBD realiza a execução de comandos em 5 etapas. Marque a alternativa que nomeia a etapa onde o SGBD verifica
a existência de tabelas, visões e colunas, bem como realiza verificações de tipos dos atributos e dados utilizados na
consulta. Análise semântica.
126. Observe a tabela abaixo, referente a um banco de dados empresa: Para gerar uma consulta SQL om todos os atributos,
classificados por NOME_PACIENTE, deve-se utilizar o seguinte comando: SELECT * FROM PACIENTE ORDER BY
NOME_PACIENTE.
127. Observe a tabela empregado: Qual a quantidade de registros retornados ao efetuarmos a consulta abaixo: SELECT *
FROM empregado WHERE nome like ‘Eduardo’: 2.
128. Observe a tabela empregado: Qual será o resultado se executarmos a consulta abaixo: SELECT DISTINCT cidade FROM
empregado ORDER BY cidade. Niterói, Rio de Janeiro, Santos, São Paulo.
129. Observe a tabela R: Qual será o resultado da consulta: SELECT X FROM R WHERE Y is null; 1 e 4.
130. Os atributos de uma tabela constituem: as colunas da tabela.
131. Os conceitos de banco de dados relacional refletem o nível de abstração dos dados. Desta forma, marque a alternativa
que se refere à instância da entidade. Pode ser considerado como o resultado da aplicação do SELECT.
132. Os conceitos de banco de dados relacional refletem o nível de abstração dos dados. Desta forma, marque a alternativa
que se refere à integridade referencial. Uma chave estrangeira é sempre uma chave primária em outra tabela.
133. Os conceitos que envolvem os termos restrição de integridade de entidade e restrição de integridade referencial são,
respectivamente: nenhum atributo pertencente à chave primária poderá receber valor NULL / os valores dos atributos
que formam a chave estrangeira deverá existir na tabela onde a chave estrangeira é chave primária, quando for diferente
de NULL.
134. Os operadores aritméticos, lógicos e de comparação são usados em consultas SQL para? Realizar tarefas como somar
ou agrupar valores, comparar valores.
135. Os SGBD’s possuem abordagens para otimizar as consultas em umbando de dados. Quando o SGBD não possui no
dicionário de dados estatísticas sobre o objeto referenciado, o otimizador aplica regras baseadas na sintaxe dos
comandos e define o melhor caminho com o menor número de ranking da análise dos possíveis caminhos. Marque a
alternativa que indica a abordagem denominada para este procedimento. Baseada em regras.
136. Os SGBD’s possuem abordagens para otimizar as consultas em um bando de dados. Se o dicionário de dados mantém
estatísticas sobre o objeto referenciado, o otimizador utilizará estas estatísticas para fazer a seleção dos caminhos.
Marque a alternativa que indica a abordagem denominada para este procedimento. Baseada em custo.
137. Para as técnicas de controle de concorrência em Bancos de Dados, assinale a afirmativa INCORRETA: Diz-se que uma
transação segue o protocolo de bloqueio de duas fases se todas as operações (read_lock, write_lock) precedem a última
operação de desbloqueio na transação.
138. Para criarmos um índice para a tabela Fornecedor pelo Bairro e Cidade devemos dar o seguinte comando: Create Index
Forn_Bairro_Cidade ON Fornecedor(Bairro, Cidade).
139. Para excluir tuplas de uma tabela devemos utilizar? DELETE.
140. Para gerar estatísticas em uma tabela cada SGBD disponibiliza comandos. Dentre os tipos de estatísticas apresentados
identifique aquele que NÃO é considerado como tal: de linhas: número de linhas distintas, histograma de linhas.
141. Para incluir a tupla mostrada abaixo na tabela PACIENTE executaríamos o seguinte comando: INSERT INTO paciente
VALUES (5430005, ‘Beatriz Ferro’, ‘1970-05-28’, ‘feminino’, ‘casada’).
142. Para iniciar uma transação no Oracle, basta usarmos um comando SQL executável e para encerrar, podemos usar
qualquer dos comandos abaixo, com Exceção de: SELECT.
143. Para sabermos o valor atual em uma sequência, devemos usar: Select NomeSequencia.CURRVAL from Dual.
144. Para se obter a quantidade de empregados por cargo deve-se digitar qual o select abaixo: SELECT C.DESCRICAO AS
CARGO, COUNT(E.MATRICULA) AS QTDE FROM CARGO C INNER JOIN EMPREGADO E ON C.CODIGO = E.CARGO GROUP
BY C.DESCRICAO.
145. Para se obter todas as matrículas, nomes e descrições dos departamentos de todos empregados independente de
terem ou não códigos de departamento atribuídos (entenda-se por nulo os departamentos não atribuídos) deve-se
escrever qual o select: SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, D.VC_DEP_NOME
AS DEPARTAMENTO FROM EMPREGADO E LEFT JOIN DEPARTAMENTO D ON E.NU_EMP_DEPARTAMENTO =
D.ID_DEP_CODIGO.
146. Partindo da tabela a seguir, considerando que a mesma já foi criada de acordo com essa ordem de atributos, como
ficaria o comando SQL para aumentar em 10% o valor unitário de cada produto? UPDATE X_PROD SET VALOR_UNIT =
VALOR_UNIT + VALOR_UNIT*10/100.
147. Partindo da tabela a seguir, considerando que a mesma já foi criada de acordo com essa ordem de atributos, como
ficaria o comando SQL para inserir um registro na tabela? INSERT INTO X_PROD VALUES (20, ‘TV Led 40 polegadas’, 400,
3000).
148. Qual a Ordem Correta dos Argumentos DQL-SELECT: SELECT – FROM – Cadastre – ONDE – GROUP BY – Tendo – ORDER
BY OU SELECT – FROM – JOIN – WHERE – GROPU BY – HAVING – ORDER BY.
149. Qual a sintaxe abaixo gera um produto cartesiano entre as duas tabelas: SELECT E.ID_EMP_MATRÍCULA AS MATRÍCULA,
E.VC_EMP_NOME AS NOME, C.VC_CAR_NOME AS CARGO FROM EMPREGADO E, CARGO C.
150. Qual a sintaxe SQL-SELECT correta? SELECT ALL * FROM TABELA1 WHERE COLUNA1 IN (SELECT MAX(COLUNA2) FROM
TABELA2).
151. Qual a sintaxe SQL-SELECT errada? SELECT COLUNA1, COLUNA2 FROM TABELA1 WHERE COLUNA3 LIKE (‘%X%’) ORDER
BY 3.
152. Qual comando: I. Garante que os dados sejam persistidos com sucesso no banco. II. Descarta a transação. I. Commit;
II. Rollback.
153. Qual comando representa a especificação abaixo? Especifica a junção entre duas tabelas com uma cláusula de junção
explícita. INNER JOIN.
154. Qual comando SQL é utilizado para obter um conjunto de dados em uma tabela em um banco de dados? SELECT.
155. Qual das consultas a seguir responde a seguinte pergunta: quais os nomes dos alunos que possuem média maior que
6 e idade não superior a 30 anos? SELECT nome FROM alunos WHERE media > 6 AND idade <=30.
156. Qual das consultas abaixo retorna o nome e a placa de todos os veículos? SELECT v.placa, c.nome FROM Veiculo v INNER
JOIN Cliente c ON v.Cliente_cpf = c.cpf;
157. Qual das opções abaixo NÃO é uma propriedade desejável das transações (Propriedade ACID)? Integridade.
158. Qual dos operadores de comparação de consultas Multi-Linhas a seguir NÃO é válido? =.
159. 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? MINUS.
160. Qual dos tipos de sub-consulta que faz referência a uma coluna da tabela da consulta externa? Sub-Consulta Correlata.
161. Qual o efeito da seguinte instrução no banco de dados? DELETE FROM tabela. Exclui todas as linhas da tabela.
162. Qual o efeito da seguinte instrução no banco de dados? UPDATE Funcionarios SET salario = salario *1.1. Todos os
funcionários recebem um aumento de 10%.
163. Qual o resultado da consulta SELECT COUNT (DISTINCT X) FROM R? 3.
164. Qual opção abaixo representa uma sequência de operadores de conjunto? Union, union all, intersect e except.
165. Qual será o resultado da consulta SELECT COUNT(*) FROM pecas WHERE cor=’Vermelho’ ao ser aplicada na tabela
peças? 3.
166. Qual será o resultado da consulta SELECT COUNT(DISTINCT salario) FROM funcionário? 7.
167. Quando desejamos selecionar o maior e o menor valor de um atributo numérico usamos: MIN, MAX.
168. Quando dois conjuntos de dados são concatenados de acordo com uma determinada condição, representa o resultado
da operação relacional: junção.
169. Quanto a visões, é correto afirmar: I – Pode-se fazer uma consulta a uma view com as clausulas 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. Todas as afirmações estão corretas.
170. Quantos acessos a disco são necessários para encontrar uma linha de uma tabela utilizando um índice hash, admitindo
que não há a ocorrência de overflow de buckets? 2.
171. Relacione as colunas abaixo: (1) Tabela bidimensional, composta por linhas e colunas de dados. (2) Coluna. (3) Linha.
(4) Conjunto de valores de um atributo. (5) Nomes das relações seguidas pelos nomes dos atributos, com chaves
primárias e estrangeiras identificadas. ( ) Esquema. ( ) Atributo. ( ) Tupla. ( ) Relação. ( ) Domínio. A sequência correta
está representada na opção: 5, 2, 3, 1, 4.
172. Representa a linguagem de manipulação de dados: DML.
173. Sabemos que a Linguagem SQL é utilizada para acesso a banco de dados e é dividida em comandos DDL, DQL, DML,
DCL e DTL. São comandos da DML (Data Manipulation Language): INSERT, UPDATE e DELETE.
174. Sabendo que a estrutura da tabela é: ID_EMP_MATRICULA, VC_EMP_NOME, NU_EMP_CARGO, NU_EMP_SALARIO,
NU_EMP_GRATIIFICACAO, 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 IN (SELECT MAX(X.NU_EMP_SALARIO) FROM EMPREGADO X)).
175. 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, apenas dos que sejam do cargo de código
99 e que o salário líquido seja maior que 3000. Para se resolver essa consulta deve-se obrigatoriamente usar além dos
argumentos SELECT e FROM, usar: WHERE e SUBQUERY.
176. Sabendo-se que existem dados de TCC cadastrados com datas de defesa que variam de 20/11/2012 até a data de hoje,
assinale qual das alternativas abaixo retornaria o mesmo resultado que o comando “SELECT * FROM TCC WHERE
DTDEFESA BETWEEN ‘15/11/2014’ AND ‘16/11/2014’”. SELECT * FROM TCC WHERE DTDEFESA IN (‘15/11/2014’,
‘16/11/2014’).
177. Sabendo-se que existem dados de TCC cadastrados com datas de defesa que variam de 20/11/2012 até a data de hoje,
assinale qual das alternativas abaixo retornaria o mesmo resultado que o comando “SELECT * FROM TCC WHERE
DTDEFESA IN ‘21/11/2013’ AND ‘22/11/2014’”. SELECT * FROM TCC WHERE DTDEFESA BETWEEN (‘21/11/2013’ AND
‘22/11/2014’).
178. São comandos da categoria de Definição de Dados (DDL): CREATE / ALTER / DROP.
179. São restrições para manipular (INSERT, DELETE ou UPDATE) os dados de uma tabela no banco dados através de uma
visão, EXCETO: a chave primária estar contida na consulta que originou a visão.
180. São tipos de JOIN: INNER JOIN, LEFT JOIN e RIGHT JOIN.
181. São tipos de visões: simples e complexas.
182. Sejam as relações: T1 = nome ( (sexo="FEMININO") and (salário>1500) (EMPREGADO)). T2 = nome ( dept=5
(EMPREGADO)). A relação T3 = T1 - T 2 conterá: Nome de todas mulheres que ganham mais do que 1500 e não estão
lotadas no departamento 5.
183. Sobre a cláusula WHERE do comando SELECT, é correto afirmar que: filtra as linhas a serem exibidas no resultado.
184. Sobre algoritmos para o processamento de junções, assinale a alternativa verdadeira: O algoritmo Nested-Loop Join
pode produzir o menor curso de execução possível, desde que uma das duas tabelas possa ser armazenada por inteiro
na memória.
185. SQL é uma linguagem? Para manipulação de banco de dados.
186. Um atributo de uma tabela que é chave primária em alguma outra tabela é denominado: chave estrangeira.
187. Um recurso do comando SELECT é a possibilidade de agruparmos nossos dados. Para isso usamos a cláusula: GROUP
BY.
188. 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: O nome de todos os artistas, a descrição de todos os
eventos e, caso eles se relacionem, os dois combinados.
189. Uma chave candidata é: uma ou mais colunas que identificam univocamente a relação, porém não fazem parte da chave
primária.
190. Uma consulta que ocorre dentro de outro comando SQL é denominada: subconsulta.
191. Uma instrução Select usada na cláusula Where ou Having de outra instrução Select é: uma subconsulta.
192. Uma linguagem de consulta procedural, onde o objetivo fundamental é permitir a escrita de expressões relacionais é
denominada de álgebra relacional. Com suas operações fundamentais é possível exprimir qualquer consulta nesta
linguagem. Sendo assim, para apresentar os dados de acordo com a tabela abaixo, marque a alternativa correta que
descreve a álgebra a ser utilizada. πNome, Qualidade, Qtde(σProduto.Cod_Prod = Estoque.Cod_Prod(Produto X
Estoque)).
193. Uma operação de junção pode ser considerada uma sequência de duas operações. São elas: PRODUTO CARTESIANO E
SELEÇÃO.
194. Uma unidade de execução de programa delimitada pelos comandos BEGIN TRANSACTION e END TRANSACTION é
denominada uma: Transação.
195. Uma visão pode ser: simples ou complexa.
196. Uma visão quando aplicada a uma base de dados, é capaz de: Permitir a criação de um conjunto de dados virtual para
ser usados em consultas.