Logo Passei Direto
Buscar
Material

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

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

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

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

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

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

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

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

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

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

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

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

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

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

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

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

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

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

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

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

Prévia do material em texto

IMPLEMENTAÇÃO DE BANCO DE DADOS 
Banco de Questões 
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) podem 
 (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) currval (3) nextval e nextval (4) não podem (5) não podem 
2) A linguagem SQL pode ter vários enfoques, EXCETO: 
 Linguagem interativa de consulta (query AdHoc) 
 Linguagem para acesso às bases de dados 
 Linguagem para a programação de sistemas de informação 
 Linguagem de administração de banco de dados 
 Linguagem de consulta em ambiente cliente/servidor 
3) A operação da álgebra relacional que recupera linhas em uma tabela é denominada: 
 Junção 
 Seleção 
 Produto cartesiano 
 Projeção 
 Diferença 
4) 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: 
 
 σ setor = "Projetos" (Funcionarios_ste) 
 σ matricula (π setor = "Projetos" (Funcionarios_ste)) 
 π Funcionarios_ste (σ matricula, setor = "Projetos") 
 π setor = "Projetos" (σ matricula (Funcionarios_ste)) 
 π matricula (σ setor = "Projetos" (Funcionarios_ste)) 
5) Acerca do conjunto de operações para manipulação de dados, marque a alternativa correta: 
 O predicado IS NULL faz a checagem de valores zerados. 
 O Predicado BETWEEN retorna resultados entre dois valores fornecidos pelo usuário. 
 Nenhuma das respostas anteriores. 
 O predicado LIKE é um predicado com operações de booleanos. 
 A cláusula ORDER BY possibilita ordenar a filtragem feita por GROUP BY. 
6) 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 I e II são falsas. 
 Todas as afirmações são verdadeiras. 
 Apenas as afirmações II e III são verdadeiras. 
 As afirmações II e III são falsas. 
 Apenas as afirmações I e III são verdadeiras. 
7) Analise as afirmações abaixo: 
I. Quando fazemos uma consulta em uma View podemos usar todos 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, e IV. 
 I, III e IV. 
 I e II. 
 I, II, III e IV. 
 I, II e III. 
8) 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: 
 As duas afirmações são falsas. 
 A primeira afirmação é falsa e a segunda é verdadeira. 
 As duas afirmações são verdadeiras e a primeira justifica a segunda. 
 A primeira afirmação é verdadeira e a segunda é falsa. 
 As duas afirmações são verdadeiras e a primeira não justifica a segunda. 
9) 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. 
 As duas afirmações são falsas. 
 As duas afirmações são verdadeiras e a primeira não justifica a segunda 
 A primeira afirmação é verdadeira e a segunda é falsa. 
 A primeira afirmação é falsa e a segunda é verdadeira. 
10) 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: 
 UNTIL 
 FROM 
 UP 
 WHERE 
 ORDER 
11) Ao tentar inserir um valor nulo em um campo que é chave primária estaremos violando a: 
 Restrição de Domínio 
 Restrição de Entidade 
 Restrição de Chave Primária 
 Restrição de Referência 
 Restrições Semântica 
12) As abordagens clássicas utilizadas pelo otimizador de consultas são: 
 Custo e tempo 
 Regras e tempo 
 Regras e custo 
 Custo 
 Regras 
13) (CESGRANRIO - 2006 - EPE - Área Tecnologia da Informação) 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 
 Uma forma para detectar um estado de deadlock consiste em construir um grafo wait-for. 
 O deadlock ocorre quando cada transação em um conjunto de duas ou mais transações espera por algum 
item que esteja bloqueado por alguma outra transação T no conjunto. 
 As técnicas de controle de concorrência baseadas em ordenação por timestamp não usam bloqueios, 
portanto, deadlocks nunca podem ocorrer. 
 O problema de espera indefinida (starvation) pode ocorrer se o esquema de espera para itens bloqueados for 
parcial, dando prioridade a algumas transações sobre as outras. 
14) (CESGRANRIO - 2008 - BNDES - Análise de Sistemas - Desenvolvimento) 
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. 
 
Qual opção descreve corretamente o problema e sua solução? 
 Está havendo um problema de deadlock e a solução é colocar a cláusula FOR UPDATE ao final do BEGIN 
TRANSAC TION. 
 A transação não bloqueia o produto consultado. O SELEC T deverá ter, no final, a cláusula FOR UPDATE. 
 Está havendo um problema de leitura suja e a solução é mover o C OMMIT TRANSAC TION para dentro do 
THEN, logo abaixo do UPDATE. 
 Está havendo um problema de registro fantasma e a solução é alterar o nível de isolamento para serializável. 
 Está havendo um problema de concorrência e a solução é retirar a transação, eliminando os comandos 
BEGIN TRANSAC TION, ROLLBAC K TRANSAC TION e C OMMIT TRANSAC TION. 
15) Considere a relação: 
PRODUTO (codigo, unidade, descrição, valor_unitário) 
A consulta em SQL para reponder a questão "Liste o código dos produtos com valores unitários entre R$ 500,00 
e R$ 1000,00" é: 
 SELECT CODIGO FROM PRODUTO WHERE VALOR_UNITARIO > 500; 
 SELECT CODIGO FROM PRODUTO WHERE VALOR_UNITARIO IN [500, 1000]; 
 SELECT CODIGO FROM PRODUTO WHERE VALOR_UNITARIO LIKE 500 AND 1000; 
 SELECT CODIGO FROM PRODUTO WHERE VALOR_UNITARIO BETWEEN 500 AND 1000; 
 Nenhuma das consultas acima. 
16) 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 BETWEEN 'VW AND FIAT'; 
 SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE IS ('VW', 'FIAT'); 
 SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE IN ('VW', 'FIAT'); 
 Nenhuma das respostas acima. 
 SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE = 'VW' AND FABRICANTE = 
'FIAT'; 
17) 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 * FROM CLIENTE WHERE ENDERECO IS NULL; 
 SELECT CPF, NOME FROM CLIENTE WHERE ENDERECO IS NOT NULL; 
 SELECT CPF, NOME FROM CLIENTE; 
 Nenhuma das respostas acima. 
 SELECT CPF, NOME FROM CLIENTE WHERE ENDERECO IS NULL; 
18) Considere a tabela aluno abaixo: 
 
Qual o atributo poderia ser chave candidata da tabela acima? 
 cidade 
 cpf 
 Não existe atributo que poderia ser chave candidata 
 endereço 
 nome 
19) 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: 
 π matriculaaluno, nomealuno (ALUNOmatriculaluno = ⋈matricula (σ codigo = CCT0199 (DISCIPLINA))) 
 Não existe consulta que reponda a questão 
 π matriculaaluno, nomealuno (CURSA matriculaluno = ⋈matricula DISCIPLINA) 
 π matriculaluno, nomealuno (ALUNO matriculaluno = ⋈matricula (σ codigo = CCT0199 (CURSA))) 
 π matriculaaluno, nomealuno (ALUNO matriculaluno = ⋈matricula DISCIPLINA) 
20) Considere as relações: 
PROFESSOR (matriculaprf, nomeprf, titulacao, anoadmissao) 
MINISTRA (matricula, codigo) 
matricula REFERENCIA matriculaprf em PROFESSOR 
codigo REFERENCIA codigo disciplina 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 (PROFESSORmatriculaprf = ⋈ matricula(MINISTRAcodigo = ⋈ codigodisciplina(DISCIPLINA))) 
 πmatriculaprf, nomeprf (PROFESSORmatriculaprf = ⋈ matricula(σnomedisciplina = "Implementação de Banco de Dados"(DISCIPLINA)) 
 Não existe consulta que responda a esta questão. 
 πmatriculaprf, nomeprf (PROFESSORmatriculaprf = ⋈ matricula(MINISTRAcodigo = ⋈ codigodisciplina(σnomedisciplina = "Implementação de 
Banco de Dados"(DISCIPLINA))) 
 πmatriculaprf, nomeprf (PROFESSORmatriculaprf = ⋈ matricula(MINISTRA) 
21) Considere o esquema abaixo: 
PROFESSOR (matriculaprf, nomeprf, titulacao, anoadmissao) 
MINISTRA (matricula, codigo) 
matricula REFERENCIA matriculaprf em PROFESSOR 
codigo REFERENCIA codigodisciplina em DISCIPLINA 
DISCIPLINA (codigodisciplina, nomedisciplina, creditos) 
Os comandos SQL apresentam todos os elementos necessários para a sua criação estão representados em: 
 CREATE TABLE PROFESSOR ( MATRICULAPRF NOT NULL,NOMEPRF NOT NULL, TITULACAO NOT 
NULL, ANOADMISSAO NOT NULL, PRIMARY KEY (MATRICULAPRF)); 
CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA NOT NULL,NOMEDISCIPLINA NOT NULL, 
CREDITOS NOT NULL, PRIMARY KEY (CODIGODISCIPLINA)); 
CREATE TABLE MINISTRA (MATRICULA NOT NULL, CODIGO NOT NULL, PRIMARY KEY (MATRICULA, 
CODIGO), FOREIGN KEY MATRICULA REFERENCES PROFESSOR (MATRICULAPRF), FOREIGN KEY 
CODIGO REFERENCES DISCIPLINA (CODIGODISCIPLINA)); 
 CREATE TABLE PROFESSOR ( MATRICULAPRF NUMBER (5) NOT NULL, NOMEPRF VARCHAR(20) 
NOT NULL, TITULACAO VARCHAR (15) NOT NULL, ANOADMISSAO VARCHAR (4) NOT NULL); 
CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA VARCHAR (5) NOT NULL,NOMEDISCIPLINA 
VARCHAR(20) NOT NULL, CREDITOS NUMBER (2) NOT NULL); 
CREATE TABLE MINISTRA (MATRICULA NUMBER (5) NOT NULL, CODIGO VARCHAR (5) NOT NULL); 
 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), PRIMARY 
KEY (MATRICULA, CODIGO)); 
 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)); 
 CREATE TABLE PROFESSOR ( MATRICULAPRF NUMBER (5) NOT NULL,NOMEPRF VARCHAR(20) NOT 
NULL, TITULACAO VARCHAR (15) NOT NULL, ANOADMISSAO VARCHAR (4) NOT NULL); 
CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA VARCHAR (5) NOT NULL,NOMEDISCIPLINA 
VARCHAR(20) NOT NULL, CREDITOS NUMBER (2) NOT NULL); 
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)); 
22) 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); 
 INCLUDE INTO PECA (1234, "lápis de cor", 500); 
 INSERT INTO PECAS ("1234", "lápis de cor", 500); 
 INSERT INTO PECAS (1234, "lápis de cor", 500); 
 INSERT PECAS (1234, "lápis de cor", 500); 
23) Considere o texto a seguir e complete as lacunas, comas 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 estrangeiras. 
 Chave primária; chave estrangeira; chave primária; chave secundária; chaves alternativas. 
 Chave primária; chave estrangeira; chave primária; chave primária; chaves alternativas. 
 Chave primária; super-chave; chave primária; chave candidata; chaves secundárias. 
 Chave primária; chave primária; chave primária; super-chave; chaves secundárias. 
24) (CONSULPLAN - 2012) 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: 
 Update e Grant. 
 Update e Drop. 
 Grant e Delete. 
 Delete e Update. 
 Drop e Grant. 
25) (CONSULPLAN - 2012) 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: 
 Dependência de dados. 
 Integridade de dados. 
 Redundância de dados. 
 Consistência de dados. 
 Replicação de dados. 
26) 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 OU id_Depto = 10 E Salario > 2000 (Empregado) 
 σ ID = 102 OU id_Depto = OU E Salario > 2000 (Empregado) 
 σ ID > 102 OU id_Depto = 10 OU Salario > 2000(Empregado) 
 σ ID > 102 E id_Depto = 10 E Salario > 2000 (Empregado) 
 σ ID = 102 E id_Depto = 10 E Salario > 2000 (Empregado) 
27) 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); 
 SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 51); 
 SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE ID_DEPTO =11 AND ID_DEPTO 
=21 AND ID_DEPTO =22 AND ID_DEPTO =31 AND ID_DEPTO =42 AND ID_DEPTO =51; 
 SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 
51); 
 SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 
51); 
28) 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 =11 AND ID_DEPTO =21 AND 
ID_DEPTO =22 AND ID_DEPTO =31 AND ID_DEPTO =42 AND ID_DEPTO =51; 
 SELECT MAXIMO(SALARIO) FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 51) GROUP 
BY ID_DEPTO; 
 SELECT MAX(SALARIO) FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 51) GROUP BY 
ID_DEPTO; 
 SELECT MAXIMO(SALARIO) FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 51) GROUP 
BY ID_DEPTO; 
 SELECT MAX(SALARIO) FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 51) GROUP BY 
ID_DEPTO; 
29) 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 DESC NOME; 
 SELECT ID, NOME FROM DEPARTAMENTO ORDER BY ASC NOME; 
 SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME DESC; 
 SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME ASC; 
 SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME; 
30) 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, 4, 5, 3 
 2, 1, 5, 4, 3 
 1, 2, 4, 5, 3 
 1, 2, 3, 4, 5 
 1, 2, 5, 4, 3 
31) 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. 
 II e III. 
 I e II. 
 Somente I. 
 I, II e III. 
32) Dentre as opções a seguir, qual não é uma função de grupo? 
 SUM(x) 
 CONT(*) 
 AVG(x) 
 MAX(x) 
 MED(x) 
33) Dentre as propriedades de uma transação, qual delas é responsável por preservar a integridade do banco de 
dados? 
 Consistência 
 Atomicidade 
 Isonomia 
 Durabilidade 
 Isolamento 
34) Dentre as sub-linguagens definidas na Linguagem SQL, o comando SELECT faz parte de qual delas? 
 Controle de transações 
 DRL 
 DCL 
 DML 
 DDL 
35) Dentre as vantagens da utilização dos SGBDs a seguir, qual NÃO é uma vantagem? 
 Redução ou Eliminação de redundâncias. 
 Padronização dos dados. 
 Independência dos dados. 
 Dependência entre programas e dados. 
 Compartilhamento de Dados. 
36) 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? 
 RAW(tam) 
 VARCHAR2(tam) 
 LONG RAW 
 LONG 
 CHAR(tam) 
37) É uma vantagem de uso da linguagem SQL: 
 Visão única dos dados 
 Dependência de fabricante 
 Definição dinâmica dos dados 
 Dependência de plataforma 
 Alto custo de treinamento 
38) Em relação à álgebra relacional, o operador de _____________ permite combinar seleções e um produto 
cartesiano em uma só operação. 
 Projeção 
 Diferença 
 União 
 Junção 
 Interseção 
39) Em SQL, para contar linhas usamos: 
 GROUP BY 
 SUM 
 AVG 
 SELECT 
 COUNT 
40) 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 
 220 registros 
 160 registros 
 22 registros 
 20 registros 
41) (ENADE 2011 - Adaptado) 
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 CODIGO, ESTOQUE FROM PECAS 
 SELECT COD_PECA, QUANTIDADE FROM FORNECIMENTO; 
 Nenhuma das respostas acima 
 SELECT CODIGO, ESTOQUE FROM FORNECIMENTOS; 
 SELECT COD_PECA, QUANTIDADE FROM FORNECIMENTOS; 
42) (ENADE 2011 - Adaptado) 
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_FORNECEDOR FROM FORNECEDORES; 
 SELECT * FROM FORNECEDOR; 
 SELECT * FROM FORNECEDORES; 
 SELECT NOME FROM FORNECEDOR; 
 SELECT NOME FROM FORNECEDORES; 
43) (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_clientefrom 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 possui conta mas não possui empréstimos no banco, aparecerá 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. 
44) (FUMARC - 2011 - BDMG - Analista de Sistemas) 
 
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 
 SELECT c.num_conta FROM CONTA AS c 
WHERE c.num_conta NOT IN 
(SELECT e.num_conta FROM EMPRESTIMO AS e) 
 SELECT c.num_conta FROM CONTA AS c 
WHERE c.num_conta NOT EXISTS 
(SELECT e.num_conta FROM EMPRESTIMO AS e) 
 SELECT c.num_conta FROM CONTA AS c 
WHERE c.num_emprestimo NOT 
(SELECT e.num_emprestimo FROM EMPRESTIMO AS e) 
 SELECT c.num_conta FROM CONTA AS c 
WHERE c.num_conta NOT IN 
(SELECT e.num_emprestimo FROM EMPRESTIMO AS e) 
45) Listar cpf e nome do cliente que possui o veículo placa BDQ2012. 
 
 SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa = 
'BDQ2012'; 
 SELECT c.cpf, c.cliente FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa = 
'BDQ2012'; 
 SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf ; 
 Nenhuma das consultas acima. 
 SELECT c.cpf, v.veiculo FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa = 
'BDQ2012'; 
46) Listar placa, o ano do veículo e a descrição de seu modelo, se ele possuir ano a partir de 2010 
 
 Nenhuma das respostas acima. 
 SELECT v.placa, v.ano, m.descricao FROM Veiculo v INNER JOIN Modelo m ON v.Modelo_codMod = 
m.codMod WHERE ano >= 2010; 
 SELECT v.placa, v.ano, m.descricao FROM Veiculo v INNER JOIN Modelo m ON v.Modelo_codMod = 
m.codMod WHERE ano > 2010; 
 SELECT v.placa, m.descricao FROM Veiculo v INNER JOIN Modelo m ON v.Modelo_codMod = m.codMod 
WHERE ano = 2010; 
 SELECT v.placa, v.veiculo, m.modelo FROM Veiculo v INNER JOIN Modelo m ON v.Modelo_codMod = 
m.codMod WHERE ano >= 2010; 
47) Na linguagem SQL, para totalizarmos os valores de uma coluna usamos o comando: 
 COUNT 
 SUM 
 EQUAL 
 AVG 
 GROUP BY 
48) Na sintaxe ANSI da junção Interior, na sua forma padrão é: 
 select [colunas] from tabela1 LEFT JOIN tabela2 ON ; 
 select * from tabela1 LEFT JOIN tabela2; 
 select [colunas] from tabela1 RIGHT JOIN tabela2 ON ; 
 select * from tabela1 C ROSS JOIN tabela2; 
 select [colunas] from tabela1 INNER JOIN tabela2 ON ; 
49) (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 
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 
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 
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 
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)) 
50) No Modelo Relacional de Dados, o mecanismo fundamental para manter a consistência dos dados e evitar 
registros órfãos é denominado. 
 Normalização. 
 Integridade Relacional. 
 Integridade Referencial. 
 Integridade de Chave. 
 Dependência Funcional. 
51) O comando SELECT * FROM [tabela] WHERE [condições]: 
 Lista todas as colunas de uma tabela 
 Nenhuma das respostas acima 
 Não é um comando da linguagem SQL 
 Lista tanto as linhas quanto as colunas de uma tabela 
 Lista todas as linhas de uma tabela 
52) O comando SELECT FROM corresponde a seguinte operação da álgebra relacional: 
 Projeção 
 Seleção 
 Junção 
 Interseção 
 União 
53) O comando SELECT FROM WHERE corresponde as seguintes operações da álgebra relacional: 
 Projeção e União. 
 Seleção e Projeção. 
 Seleção e Diferença. 
 Seleção e Junção. 
 União e Interseção. 
54) O comando SQL para excluir os registros da tabela Aluno, cujo campo nome comece com a letra M, é: 
 DELETE FROM Aluno. 
 DELETE FROM Aluno WHERE nome LIKE 'G%'. 
 DELETE FROM Aluno WHERE nome SUCH '%M'. 
 DELETE FROM Aluno WHERE nome LIKE 'M%'. 
 DELETE FROM Aluno WHERE nome='M'. 
55) O comando SQL que apaga uma tabela é: 
 DELETE TABLE 
 INSERT INTO 
 REMOVE TABLE 
 DROP TABLE 
 UPDATE 
56) O operador que possibilita a seleção de uma faixa de valores sem a necessidade do uso dos operadores >=, <= 
e AND é: 
 GROUP BY 
 LIKE 
 BETWEEN 
 IN 
 HAVING 
57) 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 OR salário <= 3000 
 salário > 1000 AND salário < 3000 
 salário >= 1000 AND salário <= 3000 
 salário < 1000 OR salário > 3000 
 salário > 1000 OR salário < 3000 
58) Observe a tabela abaixo, referente a um banco de dados empresa: 
 
Para gerar uma consulta SQL com todos os atributos, classificados por NOME_PACIENTE, deve-se utilizar o 
seguinte comando: 
 SELECT * FROM PACIENTE ASC NOME_PACIENTE; 
 SELECT * FROM PACIENTE ORDER BY NOME_PACIENTE; 
 SELECT * OVER PACIENTE ORDER BY NOME_PACIENTE; 
 SELECT * FROM PACIENTE DESC NOME_PACIENTE; 
 SELECT * OVER PACIENTE ASC NOME_PACIENTE; 
59) Os atributos de uma tabela constituem: 
 Os nomes das tabelas. 
 As colunas da tabela. 
 Os índices da tabela. 
 As linhas da tabela. 
 As tuplas da tabela. 
60) Os conceitos que envolvem os termos restrição de integridade de entidade e restrição de integridade referencial 
são, respectivamente: 
 os valores dos atributos que formam a chave estrangeira deverá existir na tabela onde a chave estrangeira é 
chave primária, somente quando for igual a NULL / nenhum atributopertencente à 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 / nenhum atributo pertencente à chave primária poderá receber 
valor NULL. 
 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. 
 os atributos pertencentes à chave primária deverão conter sempre valores diferentes de NULL / os valores 
dos atributos que formam a chave estrangeira deverá existir na tabela onde a chave estrangeira é chave 
primária, somente quando for igual a NULL. 
 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, somente 
quando for igual a NULL. 
61) 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) 
 Create Index Fornecedor BY Bairro, Cidade 
 Create Index Forn_Bairro_Cidade ON Fornecedor BY Bairro, Cidade 
 Create Index Fornecedor ON Forn_Bairro_Cidade(Bairro, Cidade) 
 Create Index Forn_Bairro_Cidade From Fornecedor BY Bairro, Cidade 
62) 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 sistema: utilização típica de I/O e de CPU. 
 de tabelas: número de linhas, blocos, tamanho de registro médio 
 de colunas: número de valores distintos, número de NULLs, histograma de valores 
 de índices: número de folhas, níveis, clustering. 
 de linhas: número de linhas distintas, histograma de linhas 
63) 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'); 
 ADD INTO paciente SET (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 
 INSERT INTO paciente (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 
 ADD INTO paciente VALUES (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 
 INSERT INTO paciente SET (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 
64) 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 
 GRANT 
 COMMIT 
 CREATE 
 ROLLBACK 
65) Para sabermos o valor atual em uma sequência, devemos usar: 
 Select NomeSequencia.CURRVAL from NomeTabela 
 Select NomeSequencia.NEXTVAL from NomeTabela 
 Select NomeSequencia.CURRVAL from Dual 
 Select NomeSequencia.NEXTVAL from Dual 
 Nenhuma das demais respostas 
66) 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'); 
 INSERT INTO X_PROD VALUES ( TV Led 40 polegadas, 20, 400, 3000); 
 INSERT INTO X_PROD VALUES ('TV Led 40 polegadas', 20, 400, 3000); 
 INSERT INTO X_PROD VALUES ( 20, 'TV Led 40 polegadas', 400, 3000); 
 INSERT INTO X_PROD VALUES (20, TV Led 40 polegadas, 400, 3000); 
67) Qual comando SQL é utilizado para obter um conjunto de dados em uma tabela em um banco de dados? 
 GET 
 UPDATE 
 SELECT 
 INSERT 
 JOIN 
68) Qual das consultas abaixo retorna o nome e a placa de todos os veículos? 
 
 SELECT c.nome FROM Veiculo v INNER JOIN Cliente c ON cpf = cpf; 
 SELECT placa FROM Veiculo INNER JOIN Cliente ON Cliente_cpf = cpf; 
 SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa; 
 SELECT v.placa, c.nome FROM Cliente INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf; 
 SELECT v.placa, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf; 
69) 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 
 MINUS ALL 
 UNION 
 MINUS 
 INTERSEC T 
70) Qual dos tipos de sub-consulta que faz referência a uma coluna da tabela da consulta externa? 
 Sub-Consulta Principal 
 Sub-Consulta Correlata 
 Sub-Consulta Simple 
 Sub-Consulta Multi-Linhas 
 Sub-Consulta Multi-Valorada 
71) Qual o resultado da consulta SELECT COUNT(DISTINCT X) FROM R? 
 
 4 
 2 
 1 
 0 
 3 
72) Qual será o resultado da consulta SELECT COUNT(DISTINCT salario) FROM funcionario? 
 
 7 
 6 
 9 
 5 
 8 
73) 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. 
 Apenas as afirmações I 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. 
74) 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ária e estrangeiras identificadas 
( ) Esquema 
( ) Atributo 
( ) Tupla 
( ) Relação 
( ) Domínio 
A sequência correta está representada na opção: 
 4,2,3,1,5 
 5,3,2,1,4 
 5,2,3,4,1 
 5,2,1,3,4 
 5,2,3,1,4 
75) Sejam as relações: 
T1 =  nome ((sexo="FEMININO") and (salário>1500) (EMPREGADO)) 
T2 =  nome (dept=5 (EMPREGADO)) 
A relação T3 = T1 - T2 conterá: 
 Nome de todas mulheres que ganham mais do que 1500 e estão lotadas no departamento 5. 
 Nome de todas mulheres que ganham mais do que 1500 e não estão lotadas no departamento 5. 
 Nome de todas mulheres que ganham mais do 1500 
 Nome de todas mulheres que ganham mais do que 1500 ou estão lotadas no departamento 5. 
 Nome de todas mulheres que ganham 1500 e estão lotados no departamento 5. 
76) Uma chave candidata é: 
 um conjunto de valores que cada atributo, definido no esquema, assume em um determinado instante, 
formando o conjunto de tuplas. 
 um conjunto de atributos que descrevem as características dos elementos a serem modelados. 
 um grupo de valores atômicos a partir dos quais um ou mais atributos (ou colunas) retiram seus valores reais. 
 uma ou mais colunas que identificam univocamente a relação, porém não fazem parte da chave primária. 
 uma coluna ou uma combinação de colunas, cujos valores aparecem necessariamente na chave primária de 
uma tabela. 
77) Uma consulta que ocorre dentro de outro comando SQL é denominada: 
 Consulta interna 
 Não é possível uma consulta deste tipo 
 Consulta externa 
 Operação 
 Subconsulta 
78) (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, 
nomeDeptovarchar(30) 
); 
ALTER TABLE Empregado ADD CONSTRAINT fk_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, Contabilidade´); 
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? 
 Cinco 
 Três 
 Quatro 
 Sete 
 Seis 
79) (VUNESP – 2009 – CETESB – Analista de Tecnologia da Informação – Banco de Dados) 
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 é: 
 III, II, IV e I. 
 I, III, II e IV. 
 II, IV, I e III. 
 IV, III, I e II. 
 II, I, III e IV. 
80) 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. 
 
Sugestão: 
SELECT count(*) total_dep 
FROM departamento 
81) Baseado na tabela dependente mostrada a seguir, escreva uma consulta SQL que recupere o parentesco dos 
dependentes. Elimine as linhas duplicadas. 
 
Sugestão: 
SELECT DISTINCT parentesco 
FROM dependente 
82) 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. 
 
Sugestão: 
SELECT SUM(salario), MAX(salario), MIN(salario), AVG(salario) 
FROM empregado 
83) Baseado na tabela empregado mostrada a seguir, escreva uma consulta SQL que recupere todas as informações 
de empregado ordenando pelos empregados que possuem o maior salário. 
 
Sugestão: 
SELECT * 
FROM empregado 
ORDER BY salario DESC 
84) 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. 
 
 
Sugestão: 
SELECT numero_emprestimo 
FROM emprestimo e, agencia a 
WHERE e.numero_agencia = a.numero_agencia AND a.nome_agencia = 'Metropolitana' AND quantia > 300; 
85) 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. 
 
 
Sugestão: 
SELECT nome, count(*) 
FROM empregado e, dependente d 
WHERE e.codigo_empregado = d.codigo_empregado 
GROUP BY nome 
HAVING count(*)>2 
86) 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. 
 
 
Sugestão: 
SELECT a.nome, sexo 
FROM atleta a, esporte e 
WHERE a.idesporte = e.idesporte AND e.nome = 'natação' 
ORDER BY a.nome 
87) Considere as tabelas abaixo: 
 
Queremos executar o seguinte comando SQL: 
 
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. 
88) 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 
89) CONSIDERE O BANCO DE DADOS CRIADO PELOS 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 DISCIPLNA 
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'); 
90) 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. 
91) 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 (codigo_empregado NUMBER(6), nome_dependente VARCHAR(50), sexo 
CHAR(1), data_nasc DATE, parentesco VARCHAR(15)); 
92) Escreva o comando SQL para eliminar a tabela ATLETA do banco de dados. A tabela ATLETA está ilustrada na 
figura abaixo. 
 
DROP TABLE atleta 
93) 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'. 
94) 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 codigo_empregado, nome 
FROM empregado. 
95) Escreva uma consulta SQL que recupere todas as informações da peça que possui o maior preço. A tabelapecas 
está ilustrada na figura a seguir. 
 
Sugestão: 
SELECT * 
FROM pecas 
WHERE preco = (SELECT MAX(preco) FROM pecas) 
96) Escreva uma consulta SQL que recupere todas as informações do empregado mais velho. A tabela empregado 
está ilustrada na figura a seguir. 
 
Sugestão: 
SELECT * 
FROM empregado 
WHERE data_nasc = (SELECT MIN(data_nasc) FROM empregado) 
97) 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. 
 
Sugestão: 
SELECT num_peca, pnome,preco 
FROM pecas 
WHERE preco>=3 
98) 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Avaliação: CCT0199_AV_201101005807 » IMPLEMENTAÇÃO DE BANCO DE DADOS 
Tipo de Avaliação: AV 
Aluno: 201101005807 - CLÁUDIA CRISTINA DA SILVA GONÇALVES 
Professor: PATRICIA FIUZA DE CASTRO Turma: 9001/AA 
Nota da Prova: 6,4 Nota de Partic.: 2 Data: 12/11/2013 14:10:19 
 
 
1a Questão (Ref.: 201101113278) Pontos: 0,8 / 0,8 
Dentre as vantagens da utilização dos SGBDs a seguir, qual NÃO é uma vantagem? 
 
 
Dependência entre programas e dados. 
 
Compartilhamento de Dados. 
 
Independência dos dados. 
 
Redução ou Eliminação de redundâncias. 
 
Padronização dos dados. 
 
 
 
2a Questão (Ref.: 201101113488) Pontos: 0,8 / 0,8 
O comando SQL que apaga um tabela é: 
 
 
DROP TABLE 
 
DELETE TABLE 
 
INSERT INTO 
 
UPDATE 
 
REMOVE TABLE 
 
 
 
3a Questão (Ref.: 201101116781) Pontos: 0,0 / 0,8 
(CONSULPLAN - 2012) 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: 
 
 
Replicação de dados. 
 
Redundância de dados. 
 
Dependência de dados. 
 
Integridade de dados. 
 
Consistência de dados. 
 
 
 
4a Questão (Ref.: 201101112780) DESCARTADA 
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) 
 
 
Apenas as afirmações II e III são verdadeiras. 
 
Todas as afirmações são verdadeiras. 
 
As afirmações I e II são falsas. 
 
As afirmações II e III são falsas. 
 
Apenas as afirmações I e III são verdadeiras. 
 
 
 
5a Questão (Ref.: 201101121919) Pontos: 0,8 / 0,8 
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. 
 
 
 
Resposta: SELECT cor, count(*) FROM Pecas GROUP BY cor 
 
 
Gabarito: 
SELECT cor, count(*) 
FROM pecas 
GROUP BY cor 
 
 
 
6a Questão (Ref.: 201101121908) Pontos: 0,8 / 0,8 
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. 
 
 
 
Resposta: SELECT num_peca, pnome, preco FROM Pecas WHERE preco >=3 
 
 
Gabarito: 
Sugestão: 
SELECT num_peca, pnome, preco 
FROM pecas 
WHERE preco>=3 
 
 
 
7a Questão (Ref.: 201101113570) Pontos: 0,8 / 0,8 
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 =11 AND ID_DEPTO =21 AND ID_DEPTO 
=22 AND ID_DEPTO =31 AND ID_DEPTO =42 AND ID_DEPTO =51; 
 
SELECT MAX(SALARIO) FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 51) GROUP BY 
ID_DEPTO; 
 
SELECT MAXIMO(SALARIO) FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 51) GROUP 
BY ID_DEPTO; 
 
SELECT MAXIMO(SALARIO) FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 51) GROUP BY 
ID_DEPTO; 
 
SELECT MAX(SALARIO) FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 51) GROUP BY 
ID_DEPTO; 
 
 
 
8a Questão (Ref.: 201101113632) Pontos: 0,8 / 0,8 
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 OU id_Depto = 10 OU Salario > 2000 
(Empregado) 
 
 ID > 102 E id_Depto = 10 E Salario > 2000 
(Empregado)
 
 
 ID > 102 OU id_Depto = 10 E Salario > 2000 
(Empregado) 
 
 ID = 102 E id_Depto = 10 E Salario > 2000 
(Empregado) 
 
 ID = 102 OU id_Depto = OU E Salario > 2000 
(Empregado) 
 
 
 
9a Questão (Ref.: 201101126361) Pontos: 0,8 / 0,8 
 
Listar cpf e nome do cliente que possui o veículo placa BDQ2012. 
 
 
SELECT c.cpf, c.cliente FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa = 
'BDQ2012'; 
 
SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf ; 
 
Nenhuma das consultas acima. 
 
SELECT c.cpf, v.veiculo FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa = 
'BDQ2012'; 
 
SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa = 
'BDQ2012'; 
 
 
 
10a Questão (Ref.: 201101114473) Pontos: 0,8 / 0,8 
Os conceitos que envolvem os termos restrição de integridade de entidade e restrição de integridade referencial 
são, respectivamente: 
 
 
os atributos pertencentes à chave primária deverão conter sempre valores diferentes de NULL / os 
valores dos atributos que formam a chave estrangeira deverá existir na tabela onde a chave estrangeira 
é chave primária, somente quando for igual a NULL. 
 
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, somente 
quando for igual a NULL. 
 
os valores dos atributos que formam a chave estrangeira deverá existir na tabela onde a chave 
estrangeira é chave primária, somente quando for igual a NULL / nenhum atributo pertencente à chave 
primária poderá receber valor NULL. 
 
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. 
 
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 / nenhum atributo pertencente à chave 
primária poderá receber valor NULL. 
 
 
 
11a Questão (Ref.: 201101130602) Pontos: 0,0 / 0,8 
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 as afirmações II e III são corretas. 
 
Todas as afirmações estão corretas. 
 
Apenas a afirmação III é correta. 
 
Apenas as afirmações I e II são corretas. 
 
 
 
Período de não visualizaçãoda prova: desde 04/11/2013 até 22/11/2013. 
 
 
 
Avaliação: CCT0199_AV_201102137715 » IMPLEMENTAÇÃO DE BANCO DE DADOS
Tipo de Avaliação: AV
Aluno: 201102137715 - SUMMERSON DE SOUZA GONCALVES 
Professor: PATRICIA FIUZA DE CASTRO Turma: 9001/AA
Nota da Prova: 5,6 Nota de Partic.: 2 Data: 14/11/2013 11:12:47
1a Questão (Ref.: 201102272390) Pontos: 0,8 / 0,8
Analise as afirmações abaixo:
I. Quando fazemos uma consulta em uma View podemos usar todos 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 e III.
I, III e IV.
I, II, III e IV.
I e II.
I, II, e IV.
2a Questão (Ref.: 201102261880) DESCARTADA
(CONSULPLAN - 2012) 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:
Dependência de dados.
Replicação de dados.
Redundância de dados.
Integridade de dados.
Consistência de dados.
3a Questão (Ref.: 201102258733) Pontos: 0,8 / 0,8
Em relação a álgebra linear é correto afirmar que: 
Página 1 de 6BDQ Prova
25/11/2013http://bquestoes.estacio.br/bdq_prova_resultado_preview_aluno.asp
 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: 
I e III
Somente III
II e III
Somente I
Somente a II
4a Questão (Ref.: 201102267018) Pontos: 0,8 / 0,8
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.
Resposta: SELECT COR,COUNT * FROM PECAS GROUP BY COR
Gabarito:
SELECT cor, count(*)
FROM pecas
GROUP BY cor
5a Questão (Ref.: 201102271775) Pontos: 0,0 / 0,8
(NCE-UFRJ - 2005 - BNDES - Análise de Sistemas - Desenvolvimento - ADAPTADA)
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));
Página 2 de 6BDQ Prova
25/11/2013http://bquestoes.estacio.br/bdq_prova_resultado_preview_aluno.asp
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 ci1 
foreign 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 inscrevese 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 é:
Resposta:
Gabarito:
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
6a Questão (Ref.: 201102271465) Pontos: 0,8 / 0,8
Página 3 de 6BDQ Prova
25/11/2013http://bquestoes.estacio.br/bdq_prova_resultado_preview_aluno.asp
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.veiculo, m.modelo FROM Veiculo v INNER JOIN Modelo m ON v.Modelo_codMod = 
m.codMod WHERE ano >= 2010; 
SELECT v.placa, v.ano, m.descricao FROM Veiculo v INNER JOIN Modelo m ON v.Modelo_codMod = 
m.codMod WHERE ano >= 2010; 
SELECT v.placa, m.descricao FROM Veiculo v INNER JOIN Modelo m ON v.Modelo_codMod = m.codMod 
WHERE ano = 2010; 
SELECT v.placa, v.ano, m.descricao FROM Veiculo v INNER JOIN Modelo m ON v.Modelo_codMod = 
m.codMod WHERE ano > 2010; 
Nenhuma das respostas acima.
7a Questão (Ref.: 201102259288) Pontos: 0,0 / 0,8
Ao tentar inserir um valor nulo em um campo que é chave primária estaremos violando a:
Restrição de Entidade
Restrições Semântica
Restrição de Chave Primária
Restrição de Domínio
Restrição de Referência
8a Questão (Ref.: 201102258634) Pontos: 0,8 / 0,8
De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL 
adequada para:
Página 4 de 6BDQ Prova
25/11/2013http://bquestoes.estacio.br/bdq_prova_resultado_preview_aluno.asp
Apresentar os Ids e os nomes dos Departamentos ordenados por nome de forma Decrescente.
SELECT ID, NOME FROM DEPARTAMENTO ORDER BY ASC NOME;
SELECT ID, NOME FROM DEPARTAMENTO ORDER BY DESC NOME;
SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME DESC;
SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME;
SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME ASC;
9a Questão (Ref.: 201102257918) Pontos: 0,0 / 0,8
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:
� matriculaaluno, nomealuno (ALUNOmatriculaluno =
⋈
matricula (�codigo = CCT0199 (DISCIPLINA)))
� matriculaaluno, nomealuno (CURSA matriculaluno =
⋈
matricula DISCIPLINA)
� matriculaaluno, nomealuno (ALUNO matriculaluno =
⋈
matricula DISCIPLINA)
� matriculaluno, nomealuno (ALUNO matriculaluno =
⋈
matricula
(�codigo = CCT0199 (CURSA)))
Não existe consulta que reponda a questão
10
a
 Questão (Ref.: 201102258425) Pontos: 0,8 / 0,8
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?
Página 5 de 6BDQ Prova
25/11/2013http://bquestoes.estacio.br/bdq_prova_resultado_preview_aluno.asp
LONG
LONG RAW 
RAW(tam)
VARCHAR2(tam)
CHAR(tam)
11
a
 Questão (Ref.: 201102257892) Pontos: 0,8 / 0,8
A relação T1 abaixo conterá:
T1 = � nome, sexo,salário,dept (�(sexo="MASCULINO") and (salário<5000) (EMPREGADO)) 
Nome e depto de todos os empregados homens que ganham menos que 5000
Nome, sexo, salário e depto de todos os empregados homens que ganham 5000
Esta não é uma consulta válida
Nome, sexo, salário e depto de todos os empregadoshomens que ganham menos que 5000
Nome, sexo, salário e depto de todos os empregados que ganham menos que 5000
Período de não visualização da prova: desde 04/11/2013 até 22/11/2013.
Página 6 de 6BDQ Prova
25/11/2013http://bquestoes.estacio.br/bdq_prova_resultado_preview_aluno.asp
Avaliação: » IMPLEMENTAÇÃO DE BANCO DE DADOS 
Tipo de Avaliação: AVS 
Aluno: 
Professor: PATRICIA FIUZA DE CASTRO Turma: 9001/AA 
Nota da Prova: 6,4 Nota de Partic.: Data: 10/12/2013 16:21:25 
 
 
 1a Questão (Ref.: 201202284703) Pontos: 0,8 / 0,8 
Dentre as opções a seguir, qual não é uma função de grupo? 
 
 
CONT(*) 
 MED(X) 
 
SUM(x) 
 
MAX(x) 
 
AVG (x) 
 
 
 
 2a Questão (Ref.: 201202285332) Pontos: 0,8 / 0,8 
Ao tentar inserir um valor nulo em um campo que é chave primária estaremos violando a: 
 
 
Restrições Semântica 
 
Restrição de Domínio 
 
Restrição de Chave Primária 
 Restrição de Entidade 
 
Restrição de Referência 
 
 
 
 3a Questão (Ref.: 201202291346) Pontos: Sem Correç. / 0,8 
Defina chave estrangeira. Qual a utilidade deste conceito? 
 
 
Resposta: Chave estrangeira é a chave primária de outra tabela, a chave estrangeira é comumente utilizada 
para realizar ligação entre tabelas. 
 
 
Gabarito: Chave estrangeira é um atributo da tabela que é chave primária em outra tabela. É utilizada para 
representar os relacionamentos existentes no modelo conceitual. 
 
 
 
 4a Questão (Ref.: 201202285289) Pontos: 0,8 / 0,8 
Qual comando SQL é utilizado para obter um conjunto de dados em uma tabela em um banco de dados? 
 
 
INSERT 
 SELECT 
 
JOIN 
 
GET 
 
UPDATE 
 
 
 
 5a Questão (Ref.: 201202287924) Pontos: 0,8 / 0,8 
(CONSULPLAN - 2012) 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: 
 
 
Dependência de dados. 
 Redundância de dados. 
 
Consistência de dados. 
 
Integridade de dados. 
 
Replicação de dados. 
 
 
 
 6a Questão (Ref.: 201202292623) Pontos: Sem Correç. / 0,8 
CONSIDERE O BANCO DE DADOS ABAIXO: 
DISCIPLINA (COD_DISCIPLINA, NOME_DISC, CARGA_HORÁRIA) 
 
TURMA (COD_TURMA, ANO, SEMESTRE, COD_DISC) 
COD_DISC REFERENCIA COD_DISCIPLINA EM DISCIPLINA 
APRESENTE O COMANDO SQL PARA A CRAÇÃO DE SUAS TABELAS. CRIE OS TIPOS DE DADOS QUE VOCÊ JULGAR MAI 
APROPRIDOS. NENHUM VALOR DE ATRIBUTO PODE DEIXAR DE SER INFORMADO. 
 
 
Resposta: CREATE TABLE DISCIPLINA(COD_DISCIPLINA NUMBER (5) PRIMARY KEY , NOME_DISC 
VARCHAR(40), CARGA_HORARIA NUMBER (5) CREATE TABLE TURMA ( COD_ TURMA NUMBER (5) PRIMARY 
KEY, ANO NUMBER (6), SEMESTRE NUMBER (4,2 ) , COD_DISC FK) 
 
 
Gabarito: 
SUGESTÃO: 
 
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)); 
 
 
 
 
 7a Questão (Ref.: 201202285391) Pontos: 0,8 / 0,8 
Qual será o resultado da consulta SELECT COUNT(DISTINCT salario) FROM funcionario? 
 
 
 
8 
 7 
 
6 
 
9 
 
5 
 
 
 
 8a Questão (Ref.: 201202284509) Pontos: 0,8 / 0,8 
Como ficaria o comando SQL para criar a tabela a seguir? 
 
 
 
CREATE TABLE X_EMPR ( CODIGO NUMBER(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL 
UNIQUE, QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) ) 
 
CREATE TABLE X_PROD ( CODIGO NUMBER(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL, 
QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) ) 
 
CREATE TABLE X_EMPR ( CODIGO NUMBER(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL, 
QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) ) 
 
CREATE TABLE X_PROD ( CODIGO VARCHAR2(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL 
UNIQUE, QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) ) 
 CREATE TABLE X_PROD ( CODIGO NUMBER(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL 
UNIQUE, QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) ) 
 
 
 
 9a Questão (Ref.: 201202295082) Pontos: 0,8 / 0,8 
 
Qual das consultas abaixo retorna o nome e a placa de todos os veículos? 
 
 
SELECT v.placa, c.nome FROM Cliente INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf; 
 
SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa; 
 
SELECT c.nome FROM Veiculo v INNER JOIN Cliente c ON cpf = cpf; 
 SELECT v.placa, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf; 
 
SELECT placa FROM Veiculo INNER JOIN Cliente ON Cliente_cpf = cpf; 
 
 
 
 10a Questão (Ref.: 201202298693) Pontos: 0,0 / 0,8 
(CESGRANRIO - 2006 - EPE - Área Tecnologia da Informação) 
Para as técnicas de controle de concorrência em Bancos de Dados, assinale a afirmativa INCORRETA. 
 
 
O problema de espera indefinida (starvation) pode ocorrer se o esquema de espera para itens 
bloqueados for parcial, dando prioridade a algumas transações sobre as outras. 
 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 
 
O deadlock ocorre quando cada transação em um conjunto de duas ou mais transações espera por algum 
item que esteja bloqueado por alguma outra transação T no conjunto. 
 
Uma forma para detectar um estado de deadlock consiste em construir um grafo wait-for. 
 As técnicas de controle de concorrência baseadas em ordenação por timestamp não usam bloqueios, 
portanto, deadlocks nunca podem ocorrer. 
 
 
 
 11a Questão (Ref.: 201202283923) Pontos: 0,8 / 0,8 
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 I e II são falsas. 
 
Apenas as afirmações II e III são verdadeiras. 
 
Apenas as afirmações I e III são verdadeiras. 
 
 As afirmações II e III são falsas. 
 
 Todas as afirmações são verdadeiras. 
 
 
 
 
 
Avaliação: CCT0199_AV_201102058769 » IMPLEMENTAÇÃO DE BANCO DE DADOS 
Tipo de Avaliação: AV 
Aluno: 201102058769 - EMILIANO SOUSA LEITE 
Professor: PATRICIA FIUZA DE CASTRO Turma: 9001/AA 
Nota da Prova: 6,4 Nota de Partic.: 1 Data: 07/11/2013 13:30:58 
 
 
 1a Questão (Ref.: 201102188849) Pontos: 0,8 / 0,8 
Qual dos tipos de sub-consulta que faz referência a uma coluna da tabela da consulta externa? 
 
 
Sub-Consulta Multi-Linhas 
 
Sub-Consulta Principal 
 Sub-Consulta Correlata 
 
Sub-Consulta Simple 
 
Sub-Consulta Multi-Valorada 
 
 
 2a Questão (Ref.: 201102185565) Pontos: 0,0 / 0,8 
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) 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) não podem 
 
(1) sequences (2) currval (3) nextval e nextval (4) não podem (5) não podem 
 
 
 3a Questão (Ref.: 201102188840) Pontos: 0,8 / 0,8 
Na sintaxe ANSI da junção Interior, na sua forma padrão é: 
 
 
select * from tabela1 LEFT JOIN tabela2; 
 
select * from tabela1 CROSS JOIN tabela2; 
 select [colunas] from tabela1 INNER JOIN tabela2 ON ; 
 
select [colunas] from tabela1 RIGHT JOIN tabela2 ON ; 
 
select [colunas] from tabela1 LEFT JOIN tabela2 ON ; 
 
 
 
 4a Questão (Ref.: 201102188875) DESCARTADA 
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: 
 
 CREATE 
 
ROLLBACK 
 SELECT 
 
COMMIT 
 
GRANT 
 
 
 
 5a Questão (Ref.: 201102188919) Pontos: 0,8 / 0,8 
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. 
 
 
 
Resposta: SELECT CARGO, SALARIO FROM EMPREGADO BETWEEN ID_DEPTO 10 AND 20 
 
 
Gabarito: 
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 
 
 
 
 6a Questão (Ref.: 201102171828) Pontos: 0,8 / 0,8 
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 MAXIMO(SALARIO) FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 51) GROUP 
BY ID_DEPTO; 
 
SELECT MAXIMO(SALARIO) FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 51) GROUP BY 
ID_DEPTO; 
 
SELECT MAX(SALARIO) FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 51) GROUP BY 
ID_DEPTO; 
 
SELECT MAX(SALARIO) FROM EMPREGADO WHERE ID_DEPTO =11 AND ID_DEPTO =21 AND ID_DEPTO 
=22 AND ID_DEPTO =31 AND ID_DEPTO =42 AND ID_DEPTO =51; 
 SELECT MAX(SALARIO) FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 51) GROUP BY 
ID_DEPTO; 
 
 
 
 7a Questão (Ref.: 201102172475) Pontos: 0,8 / 0,8 
Observe a tabela empregado: 
 
Qual a quantidade de registros retornados ao efetuarmos a consulta abaixo: 
 
 
 
3 
 2 
 
4 
 
1 
 
0 
 
 
 
 8a Questão (Ref.: 201102188920) Pontos: 0,8 / 0,8 
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. 
 
 
 
Resposta: SELECT D.NOME FROM DEPARTAMENTO D INNER JOIN EMPREGADO E ON E.ID = 165 
 
 
Gabarito: 
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 
 
 
 
 9a Questão (Ref.: 201102172447) Pontos: 0,8 / 0,8 
Ao tentar inserir um valor nulo em um campo que é chave primária estaremos violando a: 
 
 
Restrições Semântica 
 
Restrição de Referência 
 
Restrição de Chave Primária 
 
Restrição de Domínio 
 Restrição de Entidade 
 
 
 
 10a Questão (Ref.: 201102182197) Pontos: 0,0 / 0,8 
 
Qual das consultas abaixo retorna o nome e a placa de todos os veículos? 
 
 
SELECT v.placa, c.nome FROM Cliente INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf; 
 SELECT placa FROM Veiculo INNER JOIN Cliente ON Cliente_cpf = cpf; 
 SELECT v.placa, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf; 
 
SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa; 
 
SELECT c.nome FROM Veiculo v INNER JOIN Cliente c ON cpf = cpf; 
 
 
 11a Questão (Ref.: 201102171408) Pontos: 0,8 / 0,8 
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); 
 
INCLUDE INTO PECA (1234, "lápis de cor", 500); 
 
INSERT PECAS (1234, "lápis de cor", 500); 
 
INSERT INTO PECAS ("1234", "lápis de cor", 500); 
 
INSERT INTO PECAS (1234, "lápis de cor", 500); 
 
 
 
 
 
 
 
 
14/12/12 Estácio
1/4bquestoes.estacio.br/entrada.asp?p0=136964520&p1=201001509341&p2=1135304&p3=CCT0199&…
Avaliação: CCT0199_AV3_201001509341 » IMPLEMENTAÇÃO DE BANCO DE DADOS
Tipo de Avaliação: AV3
Aluno: 201001509341 - RAPHAEL DA SILVA ROMA
Professor: PATRICIA FIUZA DE CASTRO Turma: 9001/AA
Nota da Prova: 8,0 de 10,0 Nota do Trabalho: 0 Nota de Participação: 0 Data: 07/12/2012
 1a Questão (Cód.: 106891) Pontos: 1,0 / 1,0
Dentre as vantagens da utilização dos SGBDs a seguir, qual NÃO é uma vantagem?
Independência dos dados.
Compartilhamento de Dados.
Padronização dos dados.
Redução ou Eliminação de redundâncias.
 Dependência entre programas e dados.
 2a Questão (Cód.: 110395) Pontos: 1,0 / 1,0
(CONSULPLAN - 2012) 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:
Grant e Delete.
Delete e Update.
 Update e Drop.
Drop e Grant.
Update e Grant.
 3a Questão (Cód.: 120904) Pontos: 0,0 / 1,0
Analise as afirmações abaixo:
 
I. Quando fazemos uma consulta em uma View podemos usar todos 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:
 
 
14/12/12 Estácio
2/4bquestoes.estacio.br/entrada.asp?p0=136964520&p1=201001509341&p2=1135304&p3=CCT0199&…
 I, II, III e IV.
I, III e IV.
I e II.
I, II e III.
 I, II, e IV.
 4a Questão (Cód.: 106404) Pontos: 0,0 / 1,0
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.
A primeira afirmação é verdadeira e a segunda é falsa.
 As duas afirmações são verdadeiras e primeira não justifica a segunda
A primeira afirmação é falsa e a segunda é verdadeira.
As duas afirmações são falsas.
 5a Questão (Cód.: 124217) Pontos:1,0 / 1,0
Para sabermos o valor atual em uma sequência, devemos usar:
 Select NomeSequencia.CURRVAL from Dual
Select NomeSequencia.NEXTVAL from NomeTabela
Nenhuma das demais respostas
Select NomeSequencia.NEXTVAL from Dual
Select NomeSequencia.CURRVAL from NomeTabela
 6a Questão (Cód.: 120302) Pontos: 1,0 / 1,0
(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 índice.
Um join.
 Uma subconsulta.
Um crosstab.
 7a Questão (Cód.: 124224) Pontos: 1,0 / 1,0
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
3/4bquestoes.estacio.br/entrada.asp?p0=136964520&p1=201001509341&p2=1135304&p3=CCT0199&…
Efetivada
 Em efetivação parcial
Em falha
Abortada
 8a Questão (Cód.: 107177) Pontos: 1,0 / 1,0
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 MINIMO(SALARIO) FROM EMPREGADO GROUP BY ID_DEPTO;
SELECT MINUS(SALARIO) FROM EMPREGADO GROUP BY ID_DEPTO;
SELECT MIN(SALARIO) FROM EMPREGADO GROUP BY ID;
 SELECT MIN(SALARIO) FROM EMPREGADO GROUP BY ID_DEPTO;
SELECT MINUS(SALARIO) FROM EMPREGADO GROUP BY ID;
 9a Questão (Cód.: 107134) Pontos: 1,0 / 1,0
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);
14/12/12 Estácio
4/4
 
SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 51);
SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 51);
SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE ID_DEPTO =11 AND ID_DEPTO =21
AND ID_DEPTO =22 AND ID_DEPTO =31 AND ID_DEPTO =42 AND ID_DEPTO =51;
SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42,
51);
 10a Questão (Cód.: 107076) Pontos: 1,0 / 1,0
Considere a relação:
ALUNO (matrícula, nome, endereço, estado, cidade, cep, datadeingresso, coeficiente_de_rendimento)
A consulta SQL para listar os alunos com maior e menor coefiente de rendimento nos estado de SP, RJ e MG é:
 
 
Nenhuma das respostas acima
SELECT MAX(COEFICIENTE_DE_RENDIMENTO), MIN(COEFICIENTE_DE_RENDIMENTO) FROM ALUNO
WHERE ESTADO = 'SP' AND ESTADO = 'RJ' AND ESTADO = 'MG';
SELECT MAX(COEFICIENTE_DE_RENDIMENTO), MIN(COEFICIENTE_DE_RENDIMENTO) FROM ALUNO;
 SELECT MAX(COEFICIENTE_DE_RENDIMENTO), MIN(COEFICIENTE_DE_RENDIMENTO) FROM ALUNO
WHERE ESTADO = 'SP' OR ESTADO = 'RJ' OR ESTADO = 'MG';
SELECT MAX, MIN(COEFICIENTE_DE_RENDIMENTO) FROM ALUNO WHERE ESTADO = 'SP' OR ESTADO =
'RJ' OR ESTADO = 'MG';
 
 
Avaliação: CCT0199_AV2_201002133882 » IMPLEMENTAÇÃO DE BANCO DE DADOS 
Tipo de Avaliação: AV2 
Aluno: 201002133882 - JOÃO PAULO FERNANDES BRAGA 
Professor: PATRICIA FIUZA DE CASTRO Turma: 9001/AA 
Nota da Prova: 5,5 de 8,0 Nota do Trabalho: 0 Nota de Participação: 2 Data: 19/11/2012 
 
 
 1a Questão (Cód.: 115590) 
Pontos: 1,5 / 1,5 
Baseado na tabela dependente mostrada a seguir, escreva uma consulta SQL que recupere o parentesco dos dependentes. Elimine as linhas duplicadas. 
 
 
 
Resposta: select distict parentesco from dependente; 
 
 
 
 2a Questão (Cód.: 119974) 
Pontos: 1,0 / 1,0 
 
Listar cpf e nome do cliente que possui o veículo placa BDQ2012. 
 
 
SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa = 'BDQ2012'; 
 
SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf ; 
 
Nenhuma das consultas acima. 
 
SELECT c.cpf, v.veiculo FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa = 'BDQ2012'; 
 
SELECT c.cpf, c.cliente FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa = 'BDQ2012'; 
 
 
 
 3a Questão (Cód.: 120920) 
Pontos: 0,0 / 0,5 
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) 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) não podem 
 
(1) sequences (2) currval (3) nextval e nextval (4) não podem (5) não podem 
 
(1) sequences (2) currval - (3) nextval e nextval (4) não podem (5) podem 
 
 
 
 4a Questão (Cód.: 106773) 
Pontos: 0,0 / 0,5 
O operador que possibilita a seleção de uma faixa de valores sem a necessidade do 
uso dos operadores >=, <= e AND é: 
 
 
HAVING 
 
BETWEEN 
 
LIKE 
 
GROUP BY 
 
IN 
 
 
 
 5a Questão (Cód.: 115594) 
Pontos: 1,5 / 1,5 
Baseado na tabela dependente ilustrada na figura a seguir, escreva uma consulta SQL que recupere a quantidade de dependentes de cada empregado 
agrupados pelo codigo do empregado. 
 
 
 
Resposta: select count(nome_dependente) from dependente group by (codigo_empregado); 
 
 
 
 6a Questão (Cód.: 107183) 
Pontos: 0,5 / 0,5 
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 ON (11, 21, 22, 31, 42, 51) GROUP BY ID_DEPTO; 
 
SELECT MAXIMO(SALARIO) FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 51) GROUP BY ID_DEPTO; 
 
SELECT MAX(SALARIO) FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 51) GROUP BY ID_DEPTO; 
 
SELECT MAX(SALARIO) FROM EMPREGADO WHERE ID_DEPTO =11 AND ID_DEPTO =21 AND ID_DEPTO =22 AND ID_DEPTO =31 AND ID_DEPTO 
=42 AND ID_DEPTO =51; 
 
SELECT MAXIMO(SALARIO) FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 51) GROUP BY ID_DEPTO; 
 
 
 
 7a Questão (Cód.: 107747) 
Pontos: 0,5 / 0,5 
Para incluir a tupla mostrada abaixo na tabela PACIENTE executaríamos o seguinte comando: 
 
 
 
ADD INTO paciente SET (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 
 
INSERT INTO paciente (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 
 
INSERT INTO paciente VALUES (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 
 
ADD INTO paciente VALUES (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 
 
INSERT INTO paciente SET (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 
 
 
 
 8a Questão (Cód.: 120253) 
Pontos: 0,0 / 1,0 
(FUMARC - 2011 - BDMG - Analista de Sistemas) 
 
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: 
 
 ELECT c.num_conta FROM CONTA AS c 
MINUS 
SELECT e.num_conta FROM EMPRESTIMO AS e 
 
SELECTc.num_conta FROM CONTA AS c 
WHERE c.num_conta NOT EXISTS 
(SELECT e.num_conta FROM EMPRESTIMO AS e) 
 
SELECT c.num_conta FROM CONTA AS c 
WHERE c.num_emprestimo NOT 
(SELECT e.num_emprestimo FROM EMPRESTIMO AS e) 
 
SELECT c.num_conta FROM CONTA AS c 
WHERE c.num_conta NOT IN 
(SELECT e.num_emprestimo FROM EMPRESTIMO AS e) 
 SELECT c.num_conta FROM CONTA AS c 
WHERE c.num_conta NOT IN 
(SELECT e.num_conta FROM EMPRESTIMO AS e) 
 
 
 
 9a Questão (Cód.: 124224) 
Pontos: 0,0 / 0,5 
Dentre os estados de transação, em qual estado se encontra uma transação após a execução da última operação? 
 
 
Ativa 
 
Abortada 
 
Em falha 
 
Em efetivação parcial 
 
Efetivada 
 
 
 
 10a Questão (Cód.: 121650) 
Pontos: 0,5 / 0,5 
 (CESGRANRIO - 2010 - IBGE - Analista de Sistemas - Desenvolvimento de Aplicações) 
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 em sistemas 
gerenciadores de bancos de dados para a implementação de 
 
 
controle de concorrência. 
 
otimização de consultas. 
 
recuperação de dados após falhas. 
 
 índices do tipo bit map. 
 
chaves primárias e estrangeiras. 
 
1/5bquestoes.estacio.br/entrada.asp?p0=136964520&p1=201001509341&p2=1135304&p3=CCT0199&…
Avaliação: CCT0199_AV2_201001509341 » IMPLEMENTAÇÃO DE BANCO DE DADOS
Tipo de Avaliação: AV2
Aluno: 201001509341 - RAPHAEL DA SILVA ROMA
Professor: PATRICIA FIUZA DE CASTRO Turma: 9001/AA
Nota da Prova: 6,0 de 8,0 Nota do Trabalho: 0 Nota de Participação: 2 Data: 13/11/2012
 1a Questão (Cód.: 115593) Pontos: 1,5 / 1,5
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.
Resposta: Select SOMA(salario), MAX(salario), MIN(salario), AVG(salario) from empregado;
Gabarito:
Sugestão:
SELECT SUM(salario), MAX(salario), MIN(salario), AVG(salario)
FROM empregado
 2a Questão (Cód.: 117552) Pontos: 1,0 / 1,0
14/12/12 Estácio
2/5bquestoes.estacio.br/entrada.asp?p0=136964520&p1=201001509341&p2=1135304&p3=CCT0199&…
Qual das consultas abaixo retorna o nome e a placa de todos os veículos?
SELECT c.nome FROM Veiculo v INNER JOIN Cliente c ON cpf = cpf;
SELECT placa FROM Veiculo INNER JOIN Cliente ON Cliente_cpf = cpf;
 SELECT v.placa, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf;
SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa;
SELECT v.placa, c.nome FROM Cliente INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf;
 3a Questão (Cód.: 120920) Pontos: 0,5 / 0,5
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) podem
(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) 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
 4a Questão (Cód.: 106753) Pontos: 0,0 / 0,5
O comando SELECT * FROM [tabela] WHERE [condições] :
14/12/12 Estácio
3/5bquestoes.estacio.br/entrada.asp?p0=136964520&p1=201001509341&p2=1135304&p3=CCT0199&…
 Lista tanto as linhas quanto as colunas de uma tabela
Lista todas as linhas de uma tabela
Não é um comando da linguagem SQL
Nenhuma das respostas acima
 Lista todas as colunas de uma tabela
 5a Questão (Cód.: 115532) Pontos: 1,0 / 1,5
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.
Resposta: Select cor, SOMA(pnome) from pecas group by cor;
Gabarito:
SELECT cor, count(*)
FROM pecas
GROUP BY cor
 6a Questão (Cód.: 107183) Pontos: 0,5 / 0,5
De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para:
14/12/12 Estácio
4/5bquestoes.estacio.br/entrada.asp?p0=136964520&p1=201001509341&p2=1135304&p3=CCT0199&…
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 ON (11, 21, 22, 31, 42, 51) GROUP BY
ID_DEPTO;
 SELECT MAX(SALARIO) FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 51) GROUP BY
ID_DEPTO;
SELECT MAXIMO(SALARIO) FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 51) GROUP BY
ID_DEPTO;
SELECT MAXIMO(SALARIO) FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 51) GROUP BY
ID_DEPTO;
SELECT MAX(SALARIO) FROM EMPREGADO WHERE ID_DEPTO =11 AND ID_DEPTO =21 AND ID_DEPTO
=22 AND ID_DEPTO =31 AND ID_DEPTO =42 AND ID_DEPTO =51;
 7a Questão (Cód.: 107747) Pontos: 0,5 / 0,5
Para incluir a tupla mostrada abaixo na tabela PACIENTE executaríamos o seguinte comando:
INSERT INTO paciente (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada');
ADD INTO paciente VALUES (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada');
 INSERT INTO paciente VALUES (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada');
ADD INTO paciente SET (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada');
INSERT INTO paciente SET (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada');
 8a Questão (Cód.: 124208) Pontos: 1,0 / 1,0
Qual dos operadores de comparação de consultas Multi-Linhas a seguir NÃO é válido?
 =
<> ALL
= ANY
< ALL
> ALL
 9a Questão (Cód.: 124224) Pontos: 0,0 / 0,5
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
 Em efetivação parcial
14/12/12 Estácio
5/5bquestoes.estacio.br/entrada.asp?p0=136964520&p1=201001509341&p2=1135304&p3=CCT0199&…
 Em efetivação parcial
Abortada
Em falha
 10a Questão (Cód.: 121637) Pontos: 0,0 / 0,5
(VUNESP - 2009 - CETESB - Analista de Tecnologia da Informação - Banco de Dados)
 
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 é:
 II, I, III e IV.
 III, II, IV e I.
II, IV, I e III
 IV, III, I e II.
I, III, II e IV.
 
 
 Detalhes
Avaliação: CCT0199_AV2_201001483171
Tipo de Avaliação: AV2
Aluno: 201001483171 - CLEBERSON VARGAS CASADIO
Professor: ADRIANA APARICIO SICSU A DO NASCIMENTO Turma: 9001/AA
Nota da Prova: 6,0 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 25/08/2012
1.) SQL PARTE 3 5a sem. Pontos: 0,5 / 1,5
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.
Resposta:SELECT E.NOME FROM EMPREGADO E, DEPENDENTE D WHERE E.CODIGO_EMPREGADO =
D.CODIGO_EMPREGADO
2.) SQL PARTE 3 5a sem. Pontos: 1,5 / 1,5
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.
BDQ Prova http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_his...
1 de 4 05/09/2012 09:46
Resposta: SELECT COR, COUNT* FROM PECAS GROUP BY COR
3.) SQL 6a sem. Pontos: 1,0 / 1,0
Qual das consultas abaixo retorna o nome e a placa de todos os veículos?
SELECT c.nome FROM Veiculo v INNER JOIN Cliente c ON cpf = cpf;
SELECT v.placa, c.nome FROM Cliente INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf;
SELECT placa FROM Veiculo INNER JOIN Cliente ON Cliente_cpf = cpf;
 SELECT v.placa, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf;
SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa;
4.) SQL PARTE 5 - SUBCONSULTA E OPERADORES DE CONJUNTO 7a sem. Pontos: 1,0 / 1,0
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
BDQ Prova http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_his...
2 de 4 05/09/2012 09:46
 MINUS
UNION ALL
INTERSECT
MINUS ALL
5.) SQL 8a sem. Pontos: 0,5 / 0,5
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) 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) não podem
(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) podem
6.) TRANSAÇÕES 9a sem. Pontos: 0,0 / 0,5
Dentre os estados de transação, em qual estado se encontra uma transação após a execução da última operação?
Abortada
 Efetivada
 Em efetivação parcial
Ativa
Em falha
7.) EXECUÇÃO DE COMANDOS E OTIMIZAÇÃO 10a sem. Pontos: 0,0 / 0,5
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 sistema: utilização típica de I/O e de CPU.
 de linhas: número de linhas distintas, histograma de linhas
de tabelas: número de linhas, blocos, tamanho de registro médio
de índices: número de folhas, níveis, clustering.
de colunas: número de valores distintos, número de NULLs, histograma de valores
8.) SQL 5a sem. Pontos: 0,5 / 0,5
BDQ Prova http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_his...
3 de 4 05/09/2012 09:46
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 * FROM CLIENTE WHERE ENDERECO IS NULL;
 SELECT CPF, NOME FROM CLIENTE WHERE ENDERECO IS NULL;
SELECT CPF, NOME FROM CLIENTE;
Nenhuma das respostas acima.
SELECT CPF, NOME FROM CLIENTE WHERE ENDERECO IS NOT NULL;
9.) SQL 4a sem. Pontos: 0,5 / 0,5
O comando SQL que apaga um tabela é:
 
INSERT INTO
 DROP TABLE
REMOVE TABLE
UPDATE
DELETE TABLE
10.) SQL PARTE 1 - CREATE TABLE E DML 3a sem. Pontos: 0,5 / 0,5
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 ('TV Led 40 polegadas', 20, 400, 3000);
INSERT INTO X_PROD VALUES ( TV Led 40 polegadas, 20, 400, 3000);
INSERT INTO X_PROD VALUES ('20', 'TV Led 40 polegadas', '400', '3000');
 INSERT INTO X_PROD VALUES ( 20, 'TV Led 40 polegadas', 400, 3000);
INSERT INTO X_PROD VALUES (20, TV Led 40 polegadas, 400, 3000);
 
 
BDQ Prova http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_his...
4 de 4 05/09/2012 09:46
 
 
 Fechar 
 
Avaliação: CCT0199_AV1_201101121149 » IMPLEMENTAÇÃO DE BANCO DE DADOS 
Tipo de Avaliação: AV1 
Aluno: 201101121149 - RICARDO SODRÉ GOMES DE MAGALHÃES 
Professor: PATRICIA FIUZA DE CASTRO Turma: 9002/AB 
Nota da Prova: 8,0 de 8,0 Nota do Trabalho: 0 Nota de Participação: 2 Data: 20/04/2013 09:10:31 
 
 
 1a Questão (Cód.: 107830) 
Pontos: 1,0 / 1,0 
Observe a tabela empregado: 
 
Qual a quantidade de registros retornados ao efetuarmos a consulta abaixo: 
 
 
 
1 
 
2 
 
0 
 
3 
 
4 
 
 
 
 2a Questão (Cód.: 106382) 
Pontos: 0,5 / 0,5 
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ária e estrangeiras identificadas 
 
( ) Esquema 
( ) Atributo 
( ) Tupla 
( ) Relação 
( ) Domínio 
 
A sequência correta está representada na opção: 
 
 
 
5,2,3,4,1 
 
5,2,3,1,4 
 
5,2,1,3,4 
 
4,2,3,1,5 
 
5,3,2,1,4 
 
 
 
 3a Questão (Cód.: 107101) 
Pontos: 0,5 / 0,5 
O comando SQL que apaga um tabela é: 
 
 
 
DROP TABLE 
 
INSERT INTO 
 
REMOVE TABLE 
 
DELETE TABLE 
 
UPDATE 
 
 
 
 4a Questão (Cód.: 106773) 
Pontos: 0,5 / 0,5 
O operador que possibilita a seleção de uma faixa de valores sem a necessidade do 
uso dos operadores >=, <= e AND é: 
 
 
BETWEEN 
 
GROUP BY 
 
IN 
 
LIKE 
 
HAVING 
 
 
 
 5a Questão (Cód.: 106787) 
Pontos: 0,5 / 0,5 
Na linguagem SQL, para totalizarmos os valores de uma coluna usamos o comando: 
 
 
AVG 
 
SUM 
 
GROUP BY 
 
COUNT 
 
EQUAL 
 
 
 
 6a Questão (Cód.: 106402) 
Pontos: 1,0 / 1,0 
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. 
 
A primeira afirmação é verdadeira e a segunda é falsa. 
 
As duas afirmações são verdadeiras e a primeira justifica a segunda. 
 
As duas afirmações são falsas. 
 
As duas afirmações são verdadeiras e a primeira não justifica a segunda. 
 
 
 
 7a Questão (Cód.: 106939) 
Pontos: 1,0 / 1,0 
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? 
 
 
LONG 
 
CHAR(tam) 
 
VARCHAR2(tam) 
 
RAW(tam) 
 
LONG RAW 
 
 
 
 8a Questão (Cód.: 106751) 
Pontos: 1,0 / 1,0 
O comando SELECT FROM corresponde a seguinte operação da álgebra relacional: 
 
 
Projeção 
 
Seleção 
 
JunçãoUnião 
 
Interseção 
 
 
 
 9a Questão (Cód.: 107156) 
Pontos: 1,0 / 1,0 
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 ASC SALARIO, DESC DT_ADMISSAO; 
 
SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY SALARIO, DT_ADMISSAO; 
 
SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY ASC SALARIO, ASC DT_ADMISSAO; 
 
SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY DESC SALARIO, ASC DT_ADMISSAO; 
 
SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY SALARIO DESC, DT_ADMISSAO DESC; 
 
 
 
 10a Questão (Cód.: 106758) 
Pontos: 1,0 / 1,0 
Considere o esquema abaixo: 
PROFESSOR (matriculaprf, nomeprf, titulacao, anoadmissao) 
MINISTRA (matricula, codigo) 
matricula REFERENCIA matriculaprf em PROFESSOR 
codigo REFERENCIA codigodisciplina em DISCIPLINA 
DISCIPLINA (codigodisciplina, nomedisciplina, creditos) 
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); 
CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA VARCHAR (5) NOT NULL,NOMEDISCIPLINA VARCHAR(20) NOT NULL, CREDITOS NUMBER (2) NOT NULL); 
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)); 
 
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)); 
 
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), PRIMARY KEY (MATRICULA, CODIGO)); 
 
CREATE TABLE PROFESSOR ( MATRICULAPRF NOT NULL,NOMEPRF NOT NULL, TITULACAO NOT NULL, ANOADMISSAO NOT NULL, PRIMARY KEY (MATRICULAPRF)); 
CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA NOT NULL,NOMEDISCIPLINA NOT NULL, CREDITOS NOT NULL, PRIMARY KEY (CODIGODISCIPLINA)); 
CREATE TABLE MINISTRA (MATRICULA NOT NULL, CODIGO NOT NULL, PRIMARY KEY (MATRICULA, CODIGO), FOREIGN KEY MATRICULA REFERENCES PROFESSOR 
(MATRICULAPRF), FOREIGN KEY CODIGO REFERENCES DISCIPLINA (CODIGODISCIPLINA)); 
 
CREATE TABLE PROFESSOR ( MATRICULAPRF NUMBER (5) NOT NULL, NOMEPRF VARCHAR(20) NOT NULL, TITULACAO VARCHAR (15) NOT NULL, ANOADMISSAO VARCHAR (4) 
NOT NULL); 
CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA VARCHAR (5) NOT NULL,NOMEDISCIPLINA VARCHAR(20) NOT NULL, CREDITOS NUMBER (2) NOT NULL); 
CREATE TABLE MINISTRA (MATRICULA NUMBER (5) NOT NULL, CODIGO VARCHAR (5) NOT NULL); 
 
 
 
Período de não visualização da prova: desde 16/04/2013 até 03/05/2013. 
 
 
 
 
 
Fechar
Avaliação: CCT0199_AV1_201002141011 » IMPLEMENTAÇÃO DE BANCO DE DADOS
Tipo de Avaliação: AV1
Aluno: 201002141011 - WELLINGTON PEREIRA DE OLIVEIRA
Professor: PATR ICIA FIUZA DE CASTRO Turma: 9002/AB
Nota da Prova: 5,0 de 8,0 Nota do Trabalho: 0 Nota de Participação: 2 Data: 
22/04/2013 09:15:17
 1a Questão (Cód.: 107023) Pontos: 1,0 / 
1,0
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 IS ('VW', 'FIAT');
 SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE IN ('VW', 'FIAT');
SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE BETWEEN 'VW AND 
'FIAT';
SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE = 'VW' AND 
FABRICANTE = 'FIAT';
Nenhuma das resposta acima.
 2a Questão (Cód.: 110396) Pontos: 0,5 / 
0,5
(CONSULPLAN - 2012) 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 obedecer ao tipo de dados 
e às restrições de valores admitidos para essa coluna. É o tipo conhecido por integridade de:
Entidade.
Atributo.
Referência.
 Domínio.
Tabela.
 3a Questão (Cód.: 106922) Pontos: 0,0 / 
0,5
Dentre as sub-linguagens definidas na Linguagem SQL, o comando SELECT faz parte de qual delas?
 DML
 DRL
DDL
DCL
Controle de transações
 4a Questão (Cód.: 106773) Pontos: 0,5 / 
0,5
O operador que possibilita a seleção de uma faixa de valores sem a necessidade do uso 
dos operadores >=, <= e AND é:
HAVING
GROUP BY
 BETWEEN
IN
LIKE
 5a Questão (Cód.: 107173) Pontos: 0,0 / 
0,5Dentre	as	opções	a	seguir,	qual	não	é	uma	função	de	grupo?
AVG (x)
 MED(X)
SUM(x)
 CONT(*)
MAX(x)
 6a Questão (Cód.: 106909) Pontos: 1,0 / 
1,0
De uma chave primária é certo afirmarmos:
I Pode ser simples ou composta
IINão pode constar entre as chaves candidatas da relação
 III O atributo da chave primária deve ser único
Estão corretas:
II e III
I e II
Somente I
 I e III
I, II e III
 7a Questão (Cód.: 106406) Pontos: 1,0 / 
1,0
A relação T1 abaixo conterá:
T1 =  nome, sexo,salário,dept ((sexo="MASCULINO") and (salário<5000) (EMPREGADO)) 
 
Nome e depto de todos os empregados homens que ganham menos que 5000
 Nome, sexo, salário e depto de todos os empregados homens que ganham menos que 5000
Nome, sexo, salário e depto de todos os empregados que ganham menos que 5000
Esta não é uma consulta válida
Nome, sexo, salário e depto de todos os empregados homens que ganham 5000
 8a Questão (Cód.: 106751) Pontos: 0,0 / 
1,0
O comando SELECT FROM corresponde a seguinte operação da álgebra relacional:
Junção
Interseção
 Projeção
 Projeção
 Seleção
União
 9a Questão (Cód.: 107113) Pontos: 1,0 / 
1,0
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$ 1.000,00 e R$ 
2.000,00.
SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE SALARIO BETWEEN 1000 TO 
2000;
SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE SALARIO BETWEEN 1000 
TO 2000;
SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE SALARIO BETWEEN 1000 AND 
2000;
SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE SALARIO 1000 BETWEEN 
2000;
 SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE SALARIO BETWEEN 1000 
AND 2000;
 10a Questão (Cód.: 106430) Pontos: 0,0 / 
1,0
Considere as relações:
PROFESSOR (matriculaprf, nomeprf, titulacao, anoadmissao)
MINISTRA (matricula, codigo)
MINISTRA(matricula, codigo)
matricula REFERENCIA matriculaprf em PROFESSOR
codigo REFERENCIA codigodisciplina em DISCIPLINA
DISC IPLINA (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 
(DISCIPLINA)))
 matriculaprf, nomeprf (PROFESSORmatriculaprf = ⋈matriculaMINISTRA)
 
 matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (MINISTRA codigo = ⋈codigodisciplina 
(nomedisciplina = "Implementação de Bancos de Dados" (DISCIPLINA)))
 matriculaprf, nomeprf (PROFESSOR matriculaprf = 
⋈matricula 
(nomedisciplina = "Implementação de 
Bancos de Dados" (DISCIPLINA))
 Não existe consulta que responda a esta questão.
Período de não visualização da prova: desde 16/04/2013 até 03/05/2013.
 
 
 Detalhes
Avaliação: CCT0199_AV1_201001483171
Tipo de Avaliação: AV1
Aluno: 201001483171 - CLEBERSON VARGAS CASADIO
Professor: ADRIANA APARICIO SICSU A DO NASCIMENTO Turma: 9001/AA
Nota da Prova: 8,0 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 30/06/2012
1.) SQL 4a sem. Pontos: 0,5 / 0,5
Na linguagem SQL, para totalizarmos os valores de uma coluna usamos o comando:
AVG
COUNT
EQUAL
GROUP BY
 SUM
2.) MODELO RELACIONAL 2a sem. Pontos: 0,5 / 0,5
(CONSULPLAN - 2012) 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 obedecer ao tipo de dados e às restrições de valores
admitidos para essa coluna. É o tipo conhecido por integridade de:
Tabela.
Entidade.
Atributo.
Referência.
 Domínio.
3.) SQL - CONCEITOS 3a sem. Pontos: 0,5 / 0,5
A linguagem SQL pode ter vários enfoques, EXCETO:
Linguagem de administração de banco de dados
Linguagem de consulta em ambiente cliente/servidor
Linguagem para acesso às bases de dados
Linguagem interativa de consulta (query AdHoc)
 
 Linguagem para a programação de sistemas de informação
4.) MODELO RELACIONAL 1a sem. Pontos: 0,5 / 0,5
BDQ Prova http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_his...
1 de 4 20/08/2012 21:04
Os atributos de uma tabela constituem:
As tuplas da tabela.
Os índices da tabela.
 As colunas da tabela.
Os nomes das tabelas.
As linhas da tabela.
5.) SQL - CONCEITOS 3a sem. Pontos: 1,0 / 1,0
O comando SELECT FROM WHERE corresponde as seguintes operações da álgebra
relacional:
 Seleção e Projeção
Seleção e Junção
União e Interseção
Seleção e Diferença 
Projeção e União
6.) SQL - CONCEITOS 3a sem. Pontos: 1,0 / 1,0
O comando SELECT FROM corresponde a seguinte operação da álgebra relacional:
Seleção
Interseção
União
 Projeção
Junção
7.) SQL 4a sem. Pontos: 1,0 / 1,0
(ENADE 2011 - Adaptado)
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:
BDQ Prova http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_his...
2 de 4 20/08/2012 21:04
SELECT * FROM FORNECEDOR;
 SELECT NOME FROM FORNECEDORES;
SELECT NOME_FORNECEDOR FROM FORNECEDORES;
SELECT NOME FROM FORNECEDOR;
SELECT * FROM FORNECEDORES;
8.) SQL PARTE 3 - FUNÇÕES DE GRUPO E ORDENAÇÃO 5a sem. Pontos: 1,0 / 1,0
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 DESC NOME;
SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME ASC;
 SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME DESC;
SELECT ID, NOME FROM DEPARTAMENTO ORDER BY ASC NOME;
SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME;
9.) SQL 5a sem. Pontos: 1,0 / 1,0
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 IS ('VW', 'FIAT');
Nenhuma das resposta acima.
SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE BETWEEN 'VW AND 'FIAT';
 SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE IN ('VW', 'FIAT');
SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE = 'VW' AND FABRICANTE = 'FIAT';
10.) SQL PARTE 3 - FUNÇÕES DE GRUPO E ORDENAÇÃO 5a sem. Pontos: 1,0 / 1,0
De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL
BDQ Prova http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_his...
3 de 4 20/08/2012 21:04
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;
SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY
ASC SALARIO, ASC DT_ADMISSAO;
SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY
ASC SALARIO, DESC DT_ADMISSAO;
SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY
DESC SALARIO, ASC DT_ADMISSAO;
SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY
SALARIO DESC, DT_ADMISSAO DESC;
 
 
BDQ Prova http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_his...
4 de 4 20/08/2012 21:04
 IMPLEMENTAÇÃO DE BANCO DE DADOS
Simulado: CCT0199_SM_201102137715 V.2 VOLTAR
Aluno(a): SUMMERSON DE SOUZA GONCALVES Matrícula: 201102137715
Desempenho: 7,0 de 8,0 Data: 05/10/2013 14:13:17 (Finalizada)
 1a Questão (Ref.: 200617058660) Pontos: 1,0 / 1,0
(ENADE 2011 - Adaptado)
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_FORNECEDOR FROM FORNECEDORES;
SELECT NOME FROM FORNECEDOR;
 SELECT NOME FROM FORNECEDORES;
SELECT * FROM FORNECEDOR;
SELECT * FROM FORNECEDORES;
 2a Questão (Ref.: 200617058281) Pontos: 0,0 / 1,0
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);
SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 51);
SELECTPRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE ID_DEPTO =11 AND ID_DEPTO =21 AND
ID_DEPTO =22 AND ID_DEPTO =31 AND ID_DEPTO =42 AND ID_DEPTO =51;
SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 51);
SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 51);
BDQ Prova http://simulado.estacio.br/bdq_simulados_prova_preview.asp?hist=19...
1 de 4 05/10/2013 14:17
 3a Questão (Ref.: 200617057548) Pontos: 1,0 / 1,0
Qual o resultado da consulta SELECT COUNT(DISTINCT X) FROM R?
 3
1
4
2
0
 4a Questão (Ref.: 200617057567) Pontos: 1,0 / 1,0
Acerca do conjunto de operações para manipulação de dados, marque a alternativa correta:
Nenhuma das respostas anteriores.
 O Predicado BETWEEN retorna resultados entre dois valores fornecidos pelo usuário.
O predicado LIKE é um predicado com operações de boleanos.
A cláusula ORDER BY possibilita ordenar a filtragem feita por GROUP BY.
O predicado IS NULL faz a checagem de valores zerados.
 5a Questão (Ref.: 200617057613) Pontos: 1,0 / 1,0
Ao tentar inserir um valor nulo em um campo que é chave primária estaremos violando a:
Restrição de Referência
Restrições Semântica
Restrição de Domínio
Restrição de Chave Primária
 Restrição de Entidade
 6a Questão (Ref.: 200617058659) Pontos: 1,0 / 1,0
(ENADE 2011 - Adaptado)
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,
BDQ Prova http://simulado.estacio.br/bdq_simulados_prova_preview.asp?hist=19...
2 de 4 05/10/2013 14:17
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 CODIGO, ESTOQUE FROM FORNECIMENTOS;
Nenhuma das respostas acima
SELECT COD_PECA, QUANTIDADE FROM FORNECIMENTO;
SELECT CODIGO, ESTOQUE FROM PECAS
 SELECT COD_PECA, QUANTIDADE FROM FORNECIMENTOS;
 7a Questão (Ref.: 200617058516) Pontos: 1,0 / 1,0
Os atributos de uma tabela constituem:
As linhas da tabela.
Os nomes das tabelas.
 As colunas da tabela.
As tuplas da tabela.
Os índices da tabela.
 8a Questão (Ref.: 200617058664) Pontos: 1,0 / 1,0
O comando SELECT FROM corresponde a seguinte operação da álgebra relacional:
 Projeção
Junção
Interseção
Seleção
União
 9a Questão (Ref.: 200617049888)
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.
Sua Resposta:
Compare com a sua resposta: SELECT codigo_empregado, nome
FROM empregado.
BDQ Prova http://simulado.estacio.br/bdq_simulados_prova_preview.asp?hist=19...
3 de 4 05/10/2013 14:17
 10a Questão (Ref.: 200617057606)
Considere as tabelas abaixo:
Queremos executar o seguinte comando SQL:
O que acontecerá ?Justifique sua resposta.
 
Sua Resposta:
Compare com a 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.
VOLTAR 
Período de não visualização da prova: desde até .
 
 
BDQ Prova http://simulado.estacio.br/bdq_simulados_prova_preview.asp?hist=19...
4 de 4 05/10/2013 14:17
Simulado: CCT0199_SM_201210079161 V.1 VOLTAR 
Aluno(a): Matrícula: 
Desempenho: 8,0 de 8,0 Data: 03/12/2013 22:54:04 (Finalizada) 
 
 
 1
a
 Questão (Ref.: 200591633127) Pontos: 1,0 / 1,0 
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 =11 AND 
ID_DEPTO =21 AND ID_DEPTO =22 AND ID_DEPTO =31 AND ID_DEPTO =42 AND 
ID_DEPTO =51; 
 SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 
31, 42, 51); 
 SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 
31, 42, 51); 
 SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 
22, 31, 42, 51); 
 SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE ID_DEPTO ON (11, 
21, 22, 31, 42, 51); 
 
 
 
 2
a
 Questão (Ref.: 200591633503) Pontos: 1,0 / 1,0 
Considere o esquema abaixo: 
PROFESSOR (matriculaprf, nomeprf, titulacao, anoadmissao) 
MINISTRA (matricula, codigo) 
matricula REFERENCIA matriculaprf em PROFESSOR 
codigo REFERENCIA codigodisciplina em DISCIPLINA 
DISCIPLINA (codigodisciplina, nomedisciplina, creditos) 
Os comandos SQL apresentam todos os elementos necessários para a sua criação estão representados em: 
 
 CREATE TABLE PROFESSOR ( MATRICULAPRF NOT NULL,NOMEPRF NOT NULL, 
TITULACAO NOT NULL, ANOADMISSAO NOT NULL, PRIMARY KEY 
(MATRICULAPRF)); 
CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA NOT NULL,NOMEDISCIPLINA NOT 
NULL, CREDITOS NOT NULL, PRIMARY KEY (CODIGODISCIPLINA)); 
CREATE TABLE MINISTRA (MATRICULA NOT NULL, CODIGO NOT NULL, PRIMARY 
KEY (MATRICULA, CODIGO), FOREIGN KEY MATRICULA REFERENCES PROFESSOR 
(MATRICULAPRF), FOREIGN KEY CODIGO REFERENCES DISCIPLINA 
(CODIGODISCIPLINA)); 
 CREATE TABLE PROFESSOR ( MATRICULAPRF NUMBER (5) NOT NULL, NOMEPRF 
VARCHAR(20) NOT NULL, TITULACAO VARCHAR (15) NOT NULL, ANOADMISSAO 
VARCHAR (4) NOT NULL); 
CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA VARCHAR (5) NOT 
NULL,NOMEDISCIPLINA VARCHAR(20) NOT NULL, CREDITOS NUMBER (2) NOT NULL); 
CREATE TABLE MINISTRA (MATRICULA NUMBER (5) NOT NULL, CODIGO VARCHAR 
(5) NOT NULL); 
 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), PRIMARY KEY (MATRICULA, CODIGO)); 
 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)); 
 CREATE TABLE PROFESSOR ( MATRICULAPRF NUMBER (5) NOT NULL,NOMEPRF 
VARCHAR(20) NOT NULL, TITULACAO VARCHAR (15) NOT NULL, ANOADMISSAO 
VARCHAR (4) NOT NULL); 
CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA VARCHAR (5) NOT 
NULL,NOMEDISCIPLINA VARCHAR(20) NOT NULL, CREDITOS NUMBER (2) NOT NULL); 
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)); 
 
 
 
 3
a
 Questão (Ref.: 200591632394) Pontos: 1,0 / 1,0 
Qual o resultado da consulta SELECT COUNT(DISTINCT X) FROM R? 
 
 
 3 
 0 
 2 
 4 
 1 
 
 
 
 4
a
 Questão (Ref.: 200591633012) Pontos: 1,0 / 1,0 
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: 
 
 
 π Funcionarios_ste (σ matricula, setor = "Projetos") 
 σ matricula (π setor = "Projetos" (Funcionarios_ste)) 
 σ setor = "Projetos" (Funcionarios_ste) 
 
 π setor = "Projetos" (σ matricula (Funcionarios_ste)) 
 π matricula (σ setor = "Projetos" (Funcionarios_ste)) 
 
 
 
 5
a
 Questão (Ref.: 200591633509) Pontos: 1,0 / 1,0 
O comando SELECT FROM WHERE corresponde as seguintes operações da álgebra relacional: 
 
 Seleção e Diferença 
 Seleção e Projeção 
 Projeção e União 
 Seleção e Junção 
 União e Interseção 
 
 
 
 6
a
 Questão (Ref.: 200591633214) Pontos: 1,0 / 1,0 
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 * FROM CLIENTE WHERE ENDERECO IS NULL; 
 SELECT CPF, NOME FROM CLIENTE WHERE ENDERECO IS NULL; 
 SELECT CPF, NOME FROM CLIENTE; 
 Nenhuma das respostas acima. 
 SELECT CPF, NOME FROM CLIENTE WHERE ENDERECO IS NOT NULL; 
 
 
 
 7
a
 Questão (Ref.: 200591633505) Pontos: 1,0 / 1,0 
(ENADE 2011 - Adaptado) 
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 FORNECIMENTO; 
 Nenhuma das respostas acima 
 SELECT COD_PECA, QUANTIDADE FROM FORNECIMENTOS; 
 SELECT CODIGO, ESTOQUE FROM FORNECIMENTOS; 
 SELECT CODIGO, ESTOQUE FROM PECAS 
 
 
 
 8
a
 Questão (Ref.: 200591633506) Pontos: 1,0 / 1,0 
(ENADE 2011 - Adaptado) 
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 * FROM FORNECEDORES; 
 SELECT NOME FROM FORNECEDORES; 
 SELECT * FROM FORNECEDOR; 
 SELECT NOME_FORNECEDOR FROM FORNECEDORES; 
 SELECT NOME FROM FORNECEDOR; 
 
 
 
 9
a
 Questão (Ref.: 200591624734) 
 
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. 
 
 
 
Sua Resposta: SELECT codigo_empregado, nome FROM empregado. 
 
 
Compare com a sua resposta: SELECT codigo_empregado, nome 
FROM empregado. 
 
 
 
 10
a
 Questão (Ref.: 200591632452) 
 
Considere as tabelas abaixo: 
 
Queremos executar o seguinte comando SQL: 
 
O que acontecerá ?Justifique sua resposta. 
 
 
 
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. 
 
 
Compare com a 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. 
 
Considere o esquema abaixo:
PROFESSOR (matriculaprf, nomeprf, titulacao, anoadmissao)
MINISTRA (matricula, codigo)
matricula REFERENCIA matriculaprf em PROFESSOR
codigo REFERENCIA codigodisciplina em DISCIPLINA
DISCIPLINA (codigodisciplina, nomedisciplina, creditos)
Os comandos SQL apresentam todos os elementos necessários para a sua criação estão representados
em:
Quest.: 1
 
CCT0199_SM_201002006538 V.1 » 01:07 de 50 min. FINALIZAR
Aluno: ANDRE DA SILVA BITENCOURT Matrícula: 201002006538
Disciplina: CCT0199 - IMPL. BANCO DE DADOS Período Acad.: 2013.3-EAD (G) / SM
Prezado (a) Aluno(a),
Você fará agora seu SIMULADO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O
mesmo será composto de questões de múltipla escolha (8) e discursivas (2), correspondendo às aulas 01 a 05. E apenas as
questões objetivas serão pontuadas.
Após a finalização do simulado, você terá acesso ao gabarito (questões de múltipla escolha) e ao padrão de resposta das
questões discursivas. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS.
Atenção: você terá três oportunidades para realizar o simulado em cada disciplina!
1.
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)); 
CREATE TABLE PROFESSOR ( MATRICULAPRF NUMBER (5) NOT NULL, NOMEPRF VARCHAR(20) NOT NULL,
TITULACAO VARCHAR (15) NOT NULL, ANOADMISSAO VARCHAR (4) NOT NULL);
CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA VARCHAR (5) NOT NULL,NOMEDISCIPLINA VARCHAR(20)
NOT NULL, CREDITOS NUMBER (2) NOT NULL);
CREATE TABLE MINISTRA (MATRICULA NUMBER (5) NOT NULL, CODIGO VARCHAR (5) NOT NULL);
CREATE TABLE PROFESSOR ( MATRICULAPRF NOT NULL,NOMEPRF NOT NULL, TITULACAO NOT NULL,
ANOADMISSAO NOT NULL, PRIMARY KEY (MATRICULAPRF));
CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA NOT NULL,NOMEDISCIPLINA NOT NULL, CREDITOS NOT
NULL, PRIMARY KEY (CODIGODISCIPLINA));
CREATE TABLE MINISTRA (MATRICULA NOT NULL, CODIGO NOT NULL, PRIMARY KEY (MATRICULA, CODIGO),
FOREIGN KEY MATRICULA REFERENCES PROFESSOR (MATRICULAPRF), FOREIGN KEY CODIGO REFERENCES
DISCIPLINA (CODIGODISCIPLINA));
CREATE TABLE PROFESSOR ( MATRICULAPRF NUMBER (5) NOT NULL,NOMEPRF VARCHAR(20) NOT NULL,
TITULACAO VARCHAR (15) NOT NULL, ANOADMISSAO VARCHAR (4) NOT NULL);
CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA VARCHAR (5) NOT NULL,NOMEDISCIPLINA VARCHAR(20)
NOT NULL, CREDITOS NUMBER (2) NOT NULL);
CREATE TABLE MINISTRA (MATRICULA NUMBER(5) NOT NULL, CODIGOVARCHAR (5) NOT NULL, PRIMARY
KEY (MATRICULA, CODIGO), FOREIGN KEY MATRICULA REFERENCES PROFESSOR (MATRICULAPRF), FOREIGN
KEY CODIGO REFERENCES DISCIPLINA (CODIGODISCIPLINA));
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), PRIMARY KEY
(MATRICULA, CODIGO));
 
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:
 
Quest.: 2
Acerca do conjunto de operações para manipulação de dados, marque a alternativa correta: Quest.: 3
Dentre as sub-linguagens definidas na Linguagem SQL, o comando SELECT faz parte de qual delas? Quest.: 4
O comando SQL que apaga um tabela é:
 
Quest.: 5
O comando SELECT FROM WHERE corresponde as seguintes operações da álgebra
relacional:
Quest.: 6
2.
σ setor = "Projetos" (Funcionarios_ste)
 
π setor = "Projetos" (σ matricula (Funcionarios_ste))
π matricula (σ setor = "Projetos" (Funcionarios_ste))
π Funcionarios_ste (σ matricula, setor = "Projetos")
σ matricula (π setor = "Projetos" (Funcionarios_ste))
3.
Nenhuma das respostas anteriores.
A cláusula ORDER BY possibilita ordenar a filtragem feita por GROUP BY.
O Predicado BETWEEN retorna resultados entre dois valores fornecidos pelo usuário.
O predicado IS NULL faz a checagem de valores zerados.
O predicado LIKE é um predicado com operações de boleanos.
4.
Controle de transações
DDL
DCL
DML
DRL
5.
DELETE TABLE
DROP TABLE
INSERT INTO
UPDATE
REMOVE TABLE
6.
Seleção e Projeção
Seleção e Junção
Projeção e União
União e Interseção
Seleção e Diferença 
A linguagem SQL pode ter vários enfoques, EXCETO: Quest.: 7
O comando SELECT FROM corresponde a seguinte operação da álgebra relacional: Quest.: 8
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.
Quest.: 9
Considere as tabelas abaixo: Quest.: 10
Seleção e Diferença 
7.
Linguagem de consulta em ambiente cliente/servidor
Linguagem de administração de banco de dados
Linguagem interativa de consulta (query AdHoc)
 
Linguagem para a programação de sistemas de informação
Linguagem para acesso às bases de dados
8.
Interseção
União
Projeção
Seleção
Junção
9.
10.
Queremos executar o seguinte comando SQL:
O que acontecerá ?Justifique sua resposta.
 
 FINALIZAR O SIMULADO 
Q uestão: Não Respondida Não Salva Salva
 IMPLEMENTAÇÃO DE BANCO DE DADOS
Simulado: CCT0199_SM_201002006538 V.1 VOLTAR
Aluno(a): ANDRE DA SILVA BITENCOURT Matrícula: 201002006538
Desempenho: 6,0 de 8,0 Data: 08/10/2013 11:12:58 (Finalizada)
 1a Questão (Ref.: 200514196680) Pontos: 1,0 / 1,0
Considere o esquema abaixo:
PROFESSOR (matriculaprf, nomeprf, titulacao, anoadmissao)
MINISTRA (matricula, codigo)
matricula REFERENCIA matriculaprf em PROFESSOR
codigo REFERENCIA codigodisciplina em DISCIPLINA
DISCIPLINA (codigodisciplina, nomedisciplina, creditos)
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)); 
CREATE TABLE PROFESSOR ( MATRICULAPRF NUMBER (5) NOT NULL, NOMEPRF VARCHAR(20) NOT NULL,
TITULACAO VARCHAR (15) NOT NULL, ANOADMISSAO VARCHAR (4) NOT NULL);
CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA VARCHAR (5) NOT NULL,NOMEDISCIPLINA VARCHAR(20)
NOT NULL, CREDITOS NUMBER (2) NOT NULL);
CREATE TABLE MINISTRA (MATRICULA NUMBER (5) NOT NULL, CODIGO VARCHAR (5) NOT NULL);
CREATE TABLE PROFESSOR ( MATRICULAPRF NOT NULL,NOMEPRF NOT NULL, TITULACAO NOT NULL,
ANOADMISSAO NOT NULL, PRIMARY KEY (MATRICULAPRF));
CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA NOT NULL,NOMEDISCIPLINA NOT NULL, CREDITOS NOT
NULL, PRIMARY KEY (CODIGODISCIPLINA));
CREATE TABLE MINISTRA (MATRICULA NOT NULL, CODIGO NOT NULL, PRIMARY KEY (MATRICULA, CODIGO),
FOREIGN KEY MATRICULA REFERENCES PROFESSOR (MATRICULAPRF), FOREIGN KEY CODIGO REFERENCES
DISCIPLINA (CODIGODISCIPLINA));
CREATE TABLE PROFESSOR ( MATRICULAPRF NUMBER (5) NOT NULL,NOMEPRF VARCHAR(20) NOT NULL,
TITULACAO VARCHAR (15) NOT NULL, ANOADMISSAO VARCHAR (4) NOT NULL);
CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA VARCHAR (5) NOT NULL,NOMEDISCIPLINA VARCHAR(20)
NOT NULL, CREDITOS NUMBER (2) NOT NULL);
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));
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), PRIMARY KEY
(MATRICULA, CODIGO));
 2a Questão (Ref.: 200514196189) Pontos: 1,0 / 1,0
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:
 
 
σ setor = "Projetos" (Funcionarios_ste)
 
π setor = "Projetos" (σ matricula (Funcionarios_ste))
 π matricula (σ setor = "Projetos" (Funcionarios_ste))
π Funcionarios_ste (σ matricula, setor = "Projetos")
σ matricula (π setor = "Projetos" (Funcionarios_ste))
 3a Questão (Ref.: 200514195590) Pontos: 1,0 / 1,0
Acerca do conjunto de operações para manipulação de dados, marque a alternativa correta:
Nenhuma das respostas anteriores.
A cláusula ORDER BY possibilita ordenar a filtragem feita por GROUP BY.
 O Predicado BETWEEN retorna resultados entre dois valores fornecidos pelo usuário.
O predicado IS NULL faz a checagem de valores zerados.
O predicado LIKE é um predicado com operações de boleanos.
 4a Questão (Ref.: 200514196516) Pontos: 0,0 / 1,0
Dentre as sub-linguagens definidas na Linguagem SQL, o comando SELECT faz parte de qual delas?
Controle de transações
DDL
 DCL
DML
 DRL
 5a Questão (Ref.: 200514196337) Pontos: 1,0 / 1,0
O comando SQL que apaga um tabela é:
 
DELETE TABLE
 DROP TABLE
INSERT INTO
UPDATE
REMOVE TABLE
 6a Questão (Ref.: 200514196686) Pontos: 1,0 / 1,0
O comando SELECT FROM WHERE corresponde as seguintes operações da álgebra relacional:
 Seleção e Projeção
Seleção e Junção
Projeção e União
União e Interseção
Seleção e Diferença 
 7a Questão (Ref.: 200514196689) Pontos: 1,0 / 1,0
A linguagem SQL pode ter vários enfoques, EXCETO:
Linguagem de consulta em ambiente cliente/servidor
Linguagem de administração de banco de dados
Linguagem interativa de consulta (query AdHoc)
 
 Linguagem para a programação de sistemas de informaçãoLinguagem para acesso às bases de dados
 8a Questão (Ref.: 200514196687) Pontos: 0,0 / 1,0
O comando SELECT FROM corresponde a seguinte operação da álgebra relacional:
Interseção
União
 Projeção
 Seleção
Junção
 9a Questão (Ref.: 200514187911)
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.
Sua Resposta: SELECT NOME, CODIGO_EMPREGADO FROM EMPREGADO
Compare com a sua resposta: SELECT codigo_empregado, nome
FROM empregado.
 10a Questão (Ref.: 200514195629)
Considere as tabelas abaixo:
Queremos executar o seguinte comando SQL:
O que acontecerá ?Justifique sua resposta.
 
Sua Resposta: OCORRERÁ UM ERRO, POIS A DISCIPLINA ENG FAZ REFERENCIA POR MEIO DE CHAVE ESTRANGEIRA A
TABELA CURSO, PORÉM A MESMA NAO ENCONTRA-SE DISPONÍVEL NA TABELA DE CURSO.
Compare com a 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.
 
 
 
 
 
Avaliação: CCT0199_AV1_201001029518
Tipo de Avaliação: AV1 
Aluno: 201001029518 - ANTONIO RICARDO DE SOUZA CIRIO 
Nota da Prova: 6.0 de 8.0 Data da Prova: 3/31/2012
1.) SQL - CONCEITOS Pontos: 0.0 / 0.5
É uma vantagem de uso da linguagem SQL:
 Dependência de fabricante 
 Dependência de plataforma 
 Alto custo de treinamento 
 Visão única dos dados 
 
 Definição dinâmica dos dados 
2.) SQL - CONCEITOS Pontos: 0.0 / 0.5
O comando SELECT * FROM TABELA: 
 Lista todas as linhas de uma tabela 
 Lista todas as colunas de uma tabela 
 Lista tanto as linhas quanto as colunas de uma tabela 
 Não é um comando da linguagem SQL
 Nenhuma das respostas acima
3.) SQL Pontos: 0.5 / 0.5
Quando desejamos selecionar o maior e o menor valor de um atributo numérico 
usamos: 
 MIN, MAX 
 MAIOR, MENOR 
 SUM
 COUNT
 AVG
4.) SQL Pontos: 0.5 / 0.5
Página 1 de 4CÓPIA IMPRESSA DE PROVA
11/04/2012http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=63205...
funcionarios
Typewriter
funcionarios
Typewriter
funcionarios
Typewriter
funcionarios
Typewriter
funcionarios
Typewriter
funcionarios
Highlight
funcionarios
Typewriter
funcionarios
Typewriter
funcionarios
Highlight
funcionarios
Highlight
 
 
 
Na linguagem SQL, para totalizarmos os valores de uma coluna usamos o comando: 
 GROUP BY
 EQUAL
 AVG
 COUNT
 SUM
5.) SQL - CONCEITOS Pontos: 0.0 / 1.0
O comando SELECT FROM corresponde a seguinte operação da álgebra relacional: 
 Projeção 
 Seleção
 União
 Interseção
 Junção
6.) SQL Pontos: 1.0 / 1.0
(ENADE 2011 - Adaptado) 
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;
 SELECT * FROM FORNECEDORES;
 SELECT NOME FROM FORNECEDOR;
 SELECT NOME_FORNECEDOR FROM FORNECEDORES;
 SELECT * FROM FORNECEDOR;
7.) SQL PARTE 2 Pontos: 1.0 / 1.0
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?
Página 2 de 4CÓPIA IMPRESSA DE PROVA
11/04/2012http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=63205...
 
 
 
 Select título, descrição, preço*1.50 from livros where ano_publicação='2012'
 Select título, descrição, preço*0.50 from livros where ano_publicação='2012'
 Select título, descrição, preço*1,50 from livros where ano_publicação='2012'
 Select título, descrição, preço*0,50 from livros where ano_publicação='2012'
 Select título, descrição, preço*1.50 from livros
8.) SQL Pontos: 1.0 / 1.0
Dada a instrução SQL: 
SELECT * FROM Paciente WHERE endereço NOT LIKE "Avenida%"; 
É correto afirmar que serão selecionados 
 todos os registros da tabela Paciente que possuem em alguma parte do conteúdo do campo "endereço" a palavra 
Avenida.
 todos os registros da tabela Paciente que possuem no início do conteúdo do campo "endereço" a palavra Avenida.
 todos os registros da tabela Paciente que não possuem em alguma parte do conteúdo do campo "endereço" a palavra 
Avenida.
 todos os registros da tabela Paciente que possuem no final do conteúdo do campo "endereço" a palavra Avenida.
 apenas os registros da tabela Paciente que não possuem como inicial do conteúdo do campo "endereço" a palavra 
Avenida.
9.) ÁLGEBRA RELACIONAL Pontos: 1.0 / 1.0
Considere as relações: 
PROFESSOR (matriculaprf, nomeprf, titulacao, 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: 
 
pi 
matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula  (σnomedisciplina = "Implementação 
de Bancos de Dados" (DISCIPLINA)) 
 
pi 
matriculaprf, nomeprf (PROFESSORmatriculaprf =
 ⋈
matricula
 MINISTRA)
 
 
pi 
matriculaprf, nomeprf (PROFESSOR matriculaprf =
 ⋈
matricula
 (MINISTRA 
codigo = 
 ⋈
codigodisciplina
(σ
nomedisciplina = "Implementação de Bancos de Dados" (DISCIPLINA))) 
 
pi 
matriculaprf, nomeprf (PROFESSOR matriculaprf =
 ⋈
matricula
 (MINISTRAcodigo =
 ⋈
codigodisciplina
(DISCIPLINA)))
 
 
 Não existe consulta que responda a esta questão. 
Página 3 de 4CÓPIA IMPRESSA DE PROVA
11/04/2012http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=63205...
 
 
 
10.) SQL PARTE 1 - CREATE TABLE E DML Pontos: 1.0 / 1.0
Como ficaria o comando SQL para criar a tabela a seguir? 
 
 CREATE TABLE X_EMPR ( CODIGO NUMBER(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL, QUANTIDADE 
NUMBER(8), VALOR_UNIT NUMBER(9,2) )
 CREATE TABLE X_EMPR ( CODIGO NUMBER(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, 
QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) )
 CREATE TABLE X_PROD ( CODIGO NUMBER(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, 
QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) )
 CREATE TABLE X_PROD ( CODIGO NUMBER(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL, QUANTIDADE 
NUMBER(8), VALOR_UNIT NUMBER(9,2) )
 CREATE TABLE X_PROD ( CODIGO VARCHAR2(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, 
QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) )
Página 4 de 4CÓPIA IMPRESSA DE PROVA
11/04/2012http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=63205...
 
 
 
 
 
Avaliação: CCT0199_AV1_201001315634 
Tipo de Avaliação: AV1 
Implementação Banco de Dados 
Nota da Prova: 6.0 de 8.0 Data da Prova: 3/30/2012 
 
 
1.) SQL PARTE 3 -FUNÇÕES DE GRUPO E ORDENAÇÃO Pontos: 0.5 / 0.5 
Dentre as opções a seguir, qual não é uma função de grupo? 
 
 AVG (x) 
 MAX(x) 
 MED(X) 
 SUM(x) 
 CONT(*) 
 
 
 
2.) MODELO RELACIONAL Pontos: 0.5 / 0.5 
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ária e estrangeiras 
identificadas 
 
( ) Esquema 
( ) Atributo 
( ) Tupla 
( ) Relação 
( ) Domínio 
 
A sequência correta está representada na opção: 
 
 
 5,2,1,3,4 
 5,2,3,4,1 
 4,2,3,1,5 
 5,2,3,1,4 
 5,3,2,1,4 
 
 
 
3.) SQL PARTE 2 Pontos: 0.5 / 0.5 
Qual comando SQL é utilizado para obter um conjunto de dados em uma tabela em um banco de 
dados? 
 
 INSERT 
 UPDATE 
 JOIN 
 SELECT 
 GET 
 
 
 
4.) ÁLGEBRA RELACIONAL Pontos: 0.5 / 0.5 
Em relação a álgebra relacional, o operador de _____________ permite combinar seleções e um 
produto cartesiano em uma só operação. 
 
 Junção 
 União 
 Interseção 
 Diferença 
 Projeção 
 
 
 
5.) SQL Pontos: 1.0 / 1.0 
Considere a relação: 
PRODUTO (codigo, unidade, descrição, valor_unitário) 
A consulta em SQL para responder a questão "Liste o código dos produtos com valores unitários 
entre R$ 500,00 e R$ 1000,00" é: 
 
 SELECT CODIGO FROM PRODUTO WHERE VALOR_UNITARIO IN [500, 1000]; 
 SELECT CODIGO FROM PRODUTO WHERE VALOR_UNITARIO LIKE 500 AND 
1000; 
 SELECT CODIGO FROM PRODUTO WHERE VALOR_UNITARIO BETWEEN 500 
AND 1000; 
 SELECT CODIGO FROM PRODUTO WHERE VALOR_UNITARIO > 500; 
 Nenhuma das consultas acima. 
 
 
 
6.) MODELO RELACIONAL Pontos: 1.0 / 1.0 
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: 
 
 Somente I 
 I e II 
 I e III 
 II e III 
 I, II e III 
 
 
 
7.) MODELO RELACIONAL Pontos: 1.0 / 1.0 
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) 
 
 Apenas as afirmações I e III são verdadeiras. 
 As afirmações I e II são falsas. 
 Apenas as afirmações II e III são verdadeiras. 
 As afirmações II e III são falsas. 
 Todas as afirmações são verdadeiras. 
 
 
 
8.) ÁLGEBRA RELACIONAL Pontos: 0.0 / 1.0 
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))) 
 
 matriculaaluno, nomealuno (ALUNOmatriculaluno = ⋈matricula (codigo = CCT0199 (DISCIPLINA))) 
 
 matriculaaluno, nomealuno (ALUNO matriculaluno = ⋈matricula DISCIPLINA) 
 
 matriculaaluno, nomealuno (CURSA matriculaluno = ⋈matricula DISCIPLINA) 
 Não existe consulta que responda a questão 
 
 
 
9.) SQL PARTE 2 - SELECT UMA TABELA Pontos: 1.0 / 1.0 
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%' ; 
 SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE UPPER(CARGO) 
LIKE '%VENDA%' ; 
 SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE CARGO LIKE 
'%VENDA%' ; 
 SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE CARGO LIKE 
'%VENDA%' ; 
 SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE 
UPPER(CARGO) LIKE '%venda%' ; 
 
 
 
 
 
 
 
 
 
10.) SQL PARTE 2 - SELECT UMA TABELA Pontos: 0.0 / 1.0 
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); 
 SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE ID_DEPTO IN 
(11, 21, 22, 31, 42, 51); 
 SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE ID_DEPTO ON (11, 
21, 22, 31, 42, 51); 
 SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE ID_DEPTO ON 
(11, 21, 22, 31, 42, 51); 
 SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE ID_DEPTO =11 
AND ID_DEPTO =21 AND ID_DEPTO =22 AND ID_DEPTO =31 AND ID_DEPTO =42 
AND ID_DEPTO =51; 
 
 
 
 
 
 
 
1 
 
Implantação de Banco de Dados 
Av2 
 
 
 Detalhes Fechar 
 
Avaliação: 
Tipo de Avaliação: AV2 
Aluno: 
Professor: PATRICIA FIUZA DE CASTRO Turma: 
Nota da Prova: Nota do Trabalho: Nota de Participação: Data 
 
 
1.) SQL PARTE 3 Pontos: 1,5 / 1,5 
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. 
 
 
 
Resposta: select cor, count (*) from pecas group by cor 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2 
 
2.) SQL PARTE 3 Pontos: 1,5 / 1,5 
Baseado nas tabelas emprestimo 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. 
 
 
 
 
Resposta: select a.nome_agencia, e.quantia from emprestimo e, agencia a as qtde_emprestimos where 
a.numero_agencia = e.numero_agencia group by 1 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3 
 
 
3.) JUNÇÕES Pontos: 1,0 / 1,0 
 
Listar cpf e nome do cliente que possui o veículo placa BDQ2012. 
 
 SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf ; 
 Nenhuma das consultas acima. 
 SELECT c.cpf, v.veiculo FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE 
v.placa = 'BDQ2012'; 
 SELECT c.cpf, c.cliente FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE 
v.placa = 'BDQ2012'; 
 SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE 
v.placa = 'BDQ2012'; 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4.) SQL Pontos: 0,0 / 1,0 
 
4 
 
(FUMARC - 2011 - BDMG - Analista de Sistemas) 
 
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: 
 
 
 
ELECT c.num_conta FROM CONTA AS c 
MINUS 
SELECT e.num_conta FROM EMPRESTIMO AS e 
 SELECTc.num_conta FROM CONTA AS c 
WHERE c.num_conta NOT IN 
(SELECT e.num_conta FROM EMPRESTIMO AS e) 
 SELECT c.num_conta FROM CONTA AS c 
WHERE c.num_conta NOT IN 
(SELECT e.num_emprestimo FROM EMPRESTIMO AS e) 
 SELECT c.num_conta FROM CONTA AS c 
WHERE c.num_emprestimo NOT 
(SELECT e.num_emprestimo FROM EMPRESTIMO AS e) 
 SELECT c.num_conta FROM CONTA AS c 
WHERE c.num_conta NOT EXISTS 
(SELECT e.num_conta FROM EMPRESTIMO AS e) 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5 
 
5.) SQL Pontos: 0,0 / 0,5 
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) 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) indices (2) nextval (3) currval e nextval (4) podem (5) não podem 
 
 
 
6.) TRANSAÇÕES Pontos: 0,0 / 0,5 
Dentre as propriedades de uma transação, qual delas é responsável por preservar a integridade do banco 
de dados? 
 
 Isolamento 
 Isonomia 
 Durabilidade 
 Consistência 
 Atomicidade 
 
7.) OTIMIZAÇÃO DE CONSULTAS Pontos: 0,5 / 0,5 
 (CESGRANRIO - 2010 - IBGE - Analista de Sistemas - Desenvolvimento de Aplicações) 
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 em sistemas 
gerenciadores de bancos de dados para a implementação de 
 
 controle de concorrência. 
 chaves primárias e estrangeiras. 
 recuperação de dados após falhas. 
 índices do tipo bit map. 
 otimização de consultas. 
 
 
 
 
 
 
 
8.) SQL PARTE 3 Pontos: 0,5 / 0,5 
Qual será o resultado da consulta SQL SELECT COUNT(*) FROM pecas WHERE cor='Vermelho' ao ser aplicada 
 
6 
 
na tabela peças? 
 
 
 0 
 4 
 3 
 1 
 2 
 
 
9.) SQL Pontos: 0,5 / 0,5 
O comando SQL que apaga um tabela é: 
 
 
 UPDATE 
 DROP TABLE 
 INSERT INTO 
 DELETE TABLE 
 REMOVE TABLE 
 
 
10.) SQL PARTE 1 - CREATE TABLE E DML Pontos: 0,5 / 0,5 
Para incluir a tupla mostrada abaixo na tabela PACIENTE executaríamos o seguinte comando: 
 
 ADD INTO paciente SET (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 
 INSERT INTO paciente (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 
 INSERT INTO paciente SET (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 
 ADD INTO paciente VALUES (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 
 INSERT INTO paciente VALUES (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 
 
 
 Detalhes
Avaliação: CCT0199_AV2_201001029518
Tipo de Avaliação: AV2
Aluno: 201001029518 - ANTONIO RICARDO DE SOUZA CIRIO 
Professor: PATRICIA FIUZA DE CASTRO Turma: 9001/AA
Nota da Prova: 3,5 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 16/06/2012
1.) SQL PARTE 3 115579 / 5a sem. Pontos:0,0 / 1,5
Baseado nas tabelas emprestimo 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.
Resposta:
2.) SQL PARTE 3 115534 / 5a sem. Pontos: / 1,5
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.
Página 1 de 5BDQ Prova
20/06/2012http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=1941393&tipo_prova=...
Resposta:
3.) SQL 119979 / 6a sem. Pontos:1,0 / 1,0
Página 2 de 5BDQ Prova
20/06/2012http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=1941393&tipo_prova=...
Listar placa, o ano do veículo e a descrição de seu modelo, se ele possuir ano a partir de 2010 
Nenhuma das respostas acima.
SELECT v.placa, v.ano, m.descricao FROM Veiculo v INNER JOIN Modelo m ON v.Modelo_codMod = 
m.codMod WHERE ano > 2010; 
SELECT v.placa, v.veiculo, m.modelo FROM Veiculo v INNER JOIN Modelo m ON v.Modelo_codMod = 
m.codMod WHERE ano >= 2010; 
SELECT v.placa, v.ano, m.descricao FROM Veiculo v INNER JOIN Modelo m ON v.Modelo_codMod = 
m.codMod WHERE ano >= 2010; 
SELECT v.placa, m.descricao FROM Veiculo v INNER JOIN Modelo m ON v.Modelo_codMod = m.codMod 
WHERE ano = 2010; 
4.) SQL PARTE 5 - SUBCONSULTA E OPERADORES DE CONJUNTO 124208 / 7a sem. Pontos:1,0 / 1,0
Qual dos operadores de comparação de consultas Multi-Linhas a seguir NÃO é válido?
<> ALL 
=
> ALL
< ALL
= ANY
5.) SQL 120920 / 8a sem. Pontos:0,0 / 0,5
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) 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) podem
(1) sequences (2) currval (3) nextval e nextval (4) não podem (5) não podem
6.) TRANSAÇÕES 124230 / 9a sem. Pontos:0,0 / 0,5
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:
COMMIT
CREATE 
SELECT
GRANT
ROLLBACK
Página 3 de 5BDQ Prova
20/06/2012http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=1941393&tipo_prova=...
7.) OTIMIZAÇÃO DE CONSULTAS 121650 / 10a sem. Pontos:0,5 / 0,5
(CESGRANRIO - 2010 - IBGE - Analista de Sistemas - Desenvolvimento de Aplicações)
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 em sistemas 
gerenciadores de bancos de dados para a implementação de 
chaves primárias e estrangeiras. 
recuperação de dados após falhas. 
otimização de consultas. 
 índices do tipo bit map.
controle de concorrência. 
8.) SQL PARTE 3 - FUNÇÕES DE GRUPO E ORDENAÇÃO 107156 / 5a sem. Pontos:0,5 / 0,5
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 WHERESALARIO > 1000 ORDER BY 
DESC SALARIO, ASC DT_ADMISSAO;
SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY 
SALARIO, DT_ADMISSAO;
SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY 
SALARIO DESC, DT_ADMISSAO DESC;
SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY ASC 
SALARIO, ASC DT_ADMISSAO;
SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY ASC 
SALARIO, DESC DT_ADMISSAO;
9.) SQL 107101 / 4a sem. Pontos:0,0 / 0,5
O comando SQL que apaga um tabela é:
DROP TABLE
DELETE TABLE
INSERT INTO
UPDATE
REMOVE TABLE
Página 4 de 5BDQ Prova
20/06/2012http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=1941393&tipo_prova=...
10.) SQL PARTE 1 - CREATE TABLE E DML 106993 / 3a sem. Pontos:0,5 / 0,5
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 ('TV Led 40 polegadas', 20, 400, 3000);
INSERT INTO X_PROD VALUES ('20', 'TV Led 40 polegadas', '400', '3000');
INSERT INTO X_PROD VALUES (20, TV Led 40 polegadas, 400, 3000);
INSERT INTO X_PROD VALUES ( 20, 'TV Led 40 polegadas', 400, 3000);
INSERT INTO X_PROD VALUES ( TV Led 40 polegadas, 20, 400, 3000);
Página 5 de 5BDQ Prova
20/06/2012http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=1941393&tipo_prova=...
21/06/12 Estácio
1/4www.bquestoes.estacio.br/entrada.asp?p0=prova_preview&p1=201001141113&p2=1085196&p3=…
 Detalhes
Avaliação: CCT0199_AV2_201001141113
Tipo de Avaliação: AV2
Aluno: 201001141113 - ALYSSON DE ALMEIDA
Professor: PATRICIA FIUZA DE CASTRO Turma: 9001/AA
Nota da Prova: 4,8 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 13/06/2012
1.) SQL PARTE 3 Pontos: 1,3 / 1,5
Baseado na tabela dependente ilustrada na figura a seguir, escreva uma consulta SQL que recupere a
quantidade de dependentes de cada empregado agrupados pelo codigo do empregado.
Resposta: SELECT COUNT(nome_dependente) FROM DEPENDENTE GROUP BY codigo_empregado
2.) SQL PARTE 3 Pontos: 0,0 / 1,5
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.
Resposta: SELECT dnumero AS "total_dep" FROM DEPARTAMENTO
3.) SQL Pontos: 1,0 / 1,0
21/06/12 Estácio
2/4www.bquestoes.estacio.br/entrada.asp?p0=prova_preview&p1=201001141113&p2=1085196&p3=…
Qual das consultas abaixo retorna o nome e a placa de todos os veículos?
SELECT c.nome FROM Veiculo v INNER JOIN Cliente c ON cpf = cpf;
SELECT v.placa, c.nome FROM Cliente INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf;
SELECT placa FROM Veiculo INNER JOIN Cliente ON Cliente_cpf = cpf;
SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa;
 SELECT v.placa, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf;
4.) SQL PARTE 5 - SUBCONSULTA E OPERADORES DE CONJUNTO Pontos: 1,0 / 1,0
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 ALL
UNION ALL
 MINUS
INTERSECT
UNION
5.) SQL Pontos: 0,5 / 0,5
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:
21/06/12 Estácio
3/4www.bquestoes.estacio.br/entrada.asp?p0=prova_preview&p1=201001141113&p2=1085196&p3=…
As palavras que preenchem as lacunas corretamente estão representadas em:
(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
 (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) currval - (3) nextval e nextval (4) não podem (5) podem
6.) TRANSAÇÕES Pontos: 0,0 / 0,5
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:
 COMMIT
 SELECT
ROLLBACK
GRANT
CREATE
7.) EXECUÇÃO DE COMANDOS E OTIMIZAÇÃO Pontos: 0,0 / 0,5
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 colunas: número de valores distintos, número de NULLs, histograma de valores
 de índices: número de folhas, níveis, clustering.
de tabelas: número de linhas, blocos, tamanho de registro médio
de sistema: utilização típica de I/O e de CPU.
 de linhas: número de linhas distintas, histograma de linhas
8.) SQL PARTE 3 Pontos: 0,5 / 0,5
Observe a tabela R:
Qual será o resultado da consulta:
SELECT X FROM R WHERE Y is null;
1 e 5
4 e null
null e 5
5
 1 e 4
21/06/12 Estácio
4/4www.bquestoes.estacio.br/entrada.asp?p0=prova_preview&p1=201001141113&p2=1085196&p3=…
9.) SQL Pontos: 0,5 / 0,5
Em SQL, para contar linhas usamos:
 COUNT
SUM
GROUP BY
SELECT
AVG
10.) SQL PARTE 1 - CREATE TABLE E DML Pontos: 0,0 / 0,5
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 * 10 /100;
UPDATE X_PROD SET VALOR_UNIT = VALOR_UNIT + 10 /100;
UPDATE X_PROD SET VALOR_UNIT + 10 /100;
 UPDATE X_PROD SET VALOR_UNIT = VALOR_UNIT + VALOR_UNIT * 10 /100;
 UPDATE X_PROD SET VALOR_UNIT = VALOR_UNIT * 10 /100;
 
 
22/06/12 Estácio
1/4www.bquestoes.estacio.br/entrada.asp?p0=prova_preview&p1=201001260741&p2=1098331&p3=…
 Detalhes
Avaliação: CCT0199_AV2_201001260741
Tipo de Avaliação: AV2
Aluno: 201001260741 - ANTONIO EUSTAQUIO LARA
Professor: PATRICIA FIUZA DE CASTRO Turma: 9001/AA
Nota da Prova: 3,0 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 11/06/2012
1.) SQL PARTE 3 Pontos: 0,0 / 1,5
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.
Resposta: SELECT total_dep FROM DEPARTAMENTO (dnumero)
2.) SQL PARTE 3 Pontos: 0,5 / 1,5
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.
Resposta: SELECT FROM EMPREGADO SUM SALARIO,AVG SALARIO
3.) SQL Pontos: 0,0 / 1,0
MARINA
Textbox
22/06/12 Estácio
2/4www.bquestoes.estacio.br/entrada.asp?p0=prova_preview&p1=201001260741&p2=1098331&p3=…
Qual das consultas abaixo retorna o nome e a placa de todos os veículos?
SELECT c.nome FROM Veiculo v INNER JOIN Cliente c ON cpf = cpf;
SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa;
 SELECT v.placa, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf;
 SELECT placa FROM Veiculo INNER JOIN Cliente ON Cliente_cpf= cpf;
SELECT v.placa, c.nome FROM Cliente INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf;
4.) SQL PARTE 5 - SUBCONSULTA E OPERADORES DE CONJUNTO Pontos: 1,0 / 1,0
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 ALL
UNION
 MINUS
INTERSECT
UNION ALL
5.) SQL Pontos: 0,0 / 0,5
Analise as afirmações abaixo:
 
I. Quando fazemos uma consulta em uma View podemos usar todos 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;
 
22/06/12 Estácio
3/4www.bquestoes.estacio.br/entrada.asp?p0=prova_preview&p1=201001260741&p2=1098331&p3=…
 
São VERDADEIRAS:
 
 
I, II, e IV.
 I e II.
I, III e IV.
 I, II, III e IV.
I, II e III.
6.) TRANSAÇÕES Pontos: 0,5 / 0,5
Dentre os estados de transação, em qual estado se encontra uma transação após a execução da última
operação?
Abortada
Em falha
 Em efetivação parcial
Efetivada
Ativa
7.) OTIMIZAÇÃO DE CONSULTAS Pontos: 0,0 / 0,5
(VUNESP - 2009 - CETESB - Analista de Tecnologia da Informação - Banco de Dados)
 
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.
 II, IV, I e III
II, I, III e IV.
 III, II, IV e I.
I, III, II e IV.
8.) SQL PARTE 3 - FUNÇÕES DE GRUPO E ORDENAÇÃO Pontos: 0,5 / 0,5
De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada
para:
22/06/12 Estácio
4/4www.bquestoes.estacio.br/entrada.asp?p0=prova_preview&p1=201001260741&p2=1098331&p3=…
Apresentar os Ids e os nomes dos Departamentos ordenados por nome de forma Decrescente.
SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME;
 SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME DESC;
SELECT ID, NOME FROM DEPARTAMENTO ORDER BY ASC NOME;
SELECT ID, NOME FROM DEPARTAMENTO ORDER BY DESC NOME;
SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME ASC;
9.) SQL Pontos: 0,5 / 0,5
O comando SQL que apaga um tabela é:
 
REMOVE TABLE
UPDATE
 DROP TABLE
DELETE TABLE
INSERT INTO
10.) SQL PARTE 1 - CREATE TABLE E DML Pontos: 0,0 / 0,5
O comando SQL para excluir os registros da tabela Aluno, cujo campo nome comece com a letra M, é:
DELETE FROM Aluno WHERE nome='M'.
DELETE FROM Aluno
 DELETE FROM Aluno WHERE nome SUCH '%M'.
DELETE FROM Aluno WHERE nome LIKE 'G%'.
 DELETE FROM Aluno WHERE nome LIKE 'M%'.
 
 
 
 
 
Fechar 
 
Avaliação: CCT0199_AV2_IMPL. BANCO DE DADOS 
Tipo de Avaliação: AV2 
Aluno: PAULO CESAR DE SOUZA RIBEIRO 
Professor: PATRICIA FIUZA DE CASTRO Turma: 9002/AB 
Nota da Prova: 2,0 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 12/06/2012 
 
 
1.) SQL PARTE 3 Pontos: 0,0 / 1,5 
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. 
 
 
 
Resposta: select from where 
 
 
 
2.) SQL PARTE 3 Pontos: 0,0 / 1,5 
Baseado na tabela pecas ilustrada na figura abaixo, escreva uma consulta SQL que recupere o preço 
médio das peças. 
 
 
 
Resposta: select num_peca from preco where preco medio 
 
 
 
MARINA
Textbox
3.) JUNÇÕES Pontos: 1,0 / 1,0 
 
Listar cpf e nome do cliente que possui o veículo placa BDQ2012. 
 
 SELECT c.cpf, v.veiculo FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf 
WHERE v.placa = 'BDQ2012'; 
 SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf 
WHERE v.placa = 'BDQ2012'; 
 SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf ; 
 Nenhuma das consultas acima. 
 SELECT c.cpf, c.cliente FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf 
WHERE v.placa = 'BDQ2012'; 
 
 
 
4.) SQL Pontos: 0,0 / 1,0 
(FUMARC - 2011 - BDMG - Analista de Sistemas) 
 
 
 
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: 
 
 
ELECT c.num_conta FROM CONTA AS c 
MINUS 
SELECT e.num_conta FROM EMPRESTIMO AS e 
 
SELECT c.num_conta FROM CONTA AS c 
WHERE c.num_emprestimo NOT 
(SELECT e.num_emprestimo FROM EMPRESTIMO AS e) 
 
SELECT c.num_conta FROM CONTA AS c 
WHERE c.num_conta NOT IN 
(SELECT e.num_emprestimo FROM EMPRESTIMO AS e) 
 
SELECT c.num_conta FROM CONTA AS c 
WHERE c.num_conta NOT EXISTS 
(SELECT e.num_conta FROM EMPRESTIMO AS e) 
 
SELECT c.num_conta FROM CONTA AS c 
WHERE c.num_conta NOT IN 
(SELECT e.num_conta FROM EMPRESTIMO AS e) 
 
 
5.) SQL Pontos: 0,5 / 0,5 
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) podem 
 (1) sequences (2) currval - (3) nextval e nextval (4) não podem (5) 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) não podem 
 (1) sequences (2) currval (3) nextval e nextval (4) não podem (5) não podem 
 
 
6.) CONTROLE DE CONCORRÊNCIA Pontos: 0,0 / 0,5 
(CESGRANRIO - 2006 - EPE - Área Tecnologia da Informação) 
Para as técnicas de controle de concorrência em Bancos de Dados, assinale a afirmativa 
INCORRETA. 
 
 Uma forma para detectar um estado de deadlock consiste em construir um grafo wait-for. 
 O problema de espera indefinida (starvation) pode ocorrer se o esquema de espera para itens 
bloqueados for parcial, dando prioridade a algumas transações sobre as outras. 
 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 
 As técnicas de controle de concorrência baseadas em ordenação por timestamp não usam 
bloqueios, portanto, deadlocks nunca podem ocorrer. 
 O deadlock ocorre quando cada transação em um conjunto de duas ou mais transações espera 
por algum item que esteja bloqueado por alguma outra transação T no conjunto. 
 
 
 
7.) EXECUÇÃO DE COMANDOS E OTIMIZAÇÃO Pontos: 0,0 / 0,5 
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 colunas: número de valores distintos, número de NULLs,histograma de valores 
 de sistema: utilização típica de I/O e de CPU. 
 de tabelas: número de linhas, blocos, tamanho de registro médio 
 de índices: número de folhas, níveis, clustering. 
 de linhas: número de linhas distintas, histograma de linhas 
 
 
 
8.) SQL PARTE 3 Pontos: 0,0 / 0,5 
Qual será o resultado da consulta SELECT COUNT(DISTINCT salario) FROM funcionario? 
 
 
 9 
 7 
 5 
 6 
 8 
 
 
 
9.) SQL Pontos: 0,5 / 0,5 
O operador que possibilita a seleção de uma faixa de valores sem a necessidade do 
uso dos operadores >=, <= e AND é: 
 
 HAVING 
 BETWEEN 
 GROUP BY 
 IN 
 LIKE 
 
 
 
 
 
 
10.) SQL PARTE 1 - CREATE TABLE E DML Pontos: 0,0 / 0,5 
Para incluir a tupla mostrada abaixo na tabela PACIENTE executaríamos o seguinte comando: 
 
 
 ADD INTO paciente SET (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 
 INSERT INTO paciente VALUES (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 
'casada'); 
 ADD INTO paciente VALUES (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 
 INSERT INTO paciente (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 
 INSERT INTO paciente SET (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 
 
 
 
 
 
 
IMPLEMENTAÇÃO DE BANCO DE DADOS 
Banco de Questões 
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) podem 
 (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) currval (3) nextval e nextval (4) não podem (5) não podem 
2) A linguagem SQL pode ter vários enfoques, EXCETO: 
 Linguagem interativa de consulta (query AdHoc) 
 Linguagem para acesso às bases de dados 
 Linguagem para a programação de sistemas de informação 
 Linguagem de administração de banco de dados 
 Linguagem de consulta em ambiente cliente/servidor 
3) A operação da álgebra relacional que recupera linhas em uma tabela é denominada: 
 Junção 
 Seleção 
 Produto cartesiano 
 Projeção 
 Diferença 
4) 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: 
 
 σ setor = "Projetos" (Funcionarios_ste) 
 σ matricula (π setor = "Projetos" (Funcionarios_ste)) 
 π Funcionarios_ste (σ matricula, setor = "Projetos") 
 π setor = "Projetos" (σ matricula (Funcionarios_ste)) 
 π matricula (σ setor = "Projetos" (Funcionarios_ste)) 
5) Acerca do conjunto de operações para manipulação de dados, marque a alternativa correta: 
 O predicado IS NULL faz a checagem de valores zerados. 
 O Predicado BETWEEN retorna resultados entre dois valores fornecidos pelo usuário. 
 Nenhuma das respostas anteriores. 
 O predicado LIKE é um predicado com operações de booleanos. 
 A cláusula ORDER BY possibilita ordenar a filtragem feita por GROUP BY. 
6) 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 I e II são falsas. 
 Todas as afirmações são verdadeiras. 
 Apenas as afirmações II e III são verdadeiras. 
 As afirmações II e III são falsas. 
 Apenas as afirmações I e III são verdadeiras. 
7) Analise as afirmações abaixo: 
I. Quando fazemos uma consulta em uma View podemos usar todos 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, e IV. 
 I, III e IV. 
 I e II. 
 I, II, III e IV. 
 I, II e III. 
8) 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: 
 As duas afirmações são falsas. 
 A primeira afirmação é falsa e a segunda é verdadeira. 
 As duas afirmações são verdadeiras e a primeira justifica a segunda. 
 A primeira afirmação é verdadeira e a segunda é falsa. 
 As duas afirmações são verdadeiras e a primeira não justifica a segunda. 
9) 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. 
 As duas afirmações são falsas. 
 As duas afirmações são verdadeiras e a primeira não justifica a segunda 
 A primeira afirmação é verdadeira e a segunda é falsa. 
 A primeira afirmação é falsa e a segunda é verdadeira. 
10) 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: 
 UNTIL 
 FROM 
 UP 
 WHERE 
 ORDER 
11) Ao tentar inserir um valor nulo em um campo que é chave primária estaremos violando a: 
 Restrição de Domínio 
 Restrição de Entidade 
 Restrição de Chave Primária 
 Restrição de Referência 
 Restrições Semântica 
12) As abordagens clássicas utilizadas pelo otimizador de consultas são: 
 Custo e tempo 
 Regras e tempo 
 Regras e custo 
 Custo 
 Regras 
13) (CESGRANRIO - 2006 - EPE - Área Tecnologia da Informação) 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 
 Uma forma para detectar um estado de deadlock consiste em construir um grafo wait-for. 
 O deadlock ocorre quando cada transação em um conjunto de duas ou mais transações espera por algum 
item que esteja bloqueado por alguma outra transação T no conjunto. 
 As técnicas de controle de concorrência baseadas em ordenação por timestamp não usam bloqueios, 
portanto, deadlocks nunca podem ocorrer. 
 O problema de espera indefinida (starvation) pode ocorrer se o esquema de espera para itens bloqueados for 
parcial, dando prioridade a algumas transações sobre as outras. 
14) (CESGRANRIO - 2008 - BNDES - Análise de Sistemas - Desenvolvimento) 
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 sistemamostra, em pseudocódigo, o trecho que realiza a verificação do estoque. 
 
Qual opção descreve corretamente o problema e sua solução? 
 Está havendo um problema de deadlock e a solução é colocar a cláusula FOR UPDATE ao final do BEGIN 
TRANSAC TION. 
 A transação não bloqueia o produto consultado. O SELEC T deverá ter, no final, a cláusula FOR UPDATE. 
 Está havendo um problema de leitura suja e a solução é mover o C OMMIT TRANSAC TION para dentro do 
THEN, logo abaixo do UPDATE. 
 Está havendo um problema de registro fantasma e a solução é alterar o nível de isolamento para serializável. 
 Está havendo um problema de concorrência e a solução é retirar a transação, eliminando os comandos 
BEGIN TRANSAC TION, ROLLBAC K TRANSAC TION e C OMMIT TRANSAC TION. 
15) Considere a relação: 
PRODUTO (codigo, unidade, descrição, valor_unitário) 
A consulta em SQL para reponder a questão "Liste o código dos produtos com valores unitários entre R$ 500,00 
e R$ 1000,00" é: 
 SELECT CODIGO FROM PRODUTO WHERE VALOR_UNITARIO > 500; 
 SELECT CODIGO FROM PRODUTO WHERE VALOR_UNITARIO IN [500, 1000]; 
 SELECT CODIGO FROM PRODUTO WHERE VALOR_UNITARIO LIKE 500 AND 1000; 
 SELECT CODIGO FROM PRODUTO WHERE VALOR_UNITARIO BETWEEN 500 AND 1000; 
 Nenhuma das consultas acima. 
16) 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 BETWEEN 'VW AND FIAT'; 
 SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE IS ('VW', 'FIAT'); 
 SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE IN ('VW', 'FIAT'); 
 Nenhuma das respostas acima. 
 SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE = 'VW' AND FABRICANTE = 
'FIAT'; 
17) 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 * FROM CLIENTE WHERE ENDERECO IS NULL; 
 SELECT CPF, NOME FROM CLIENTE WHERE ENDERECO IS NOT NULL; 
 SELECT CPF, NOME FROM CLIENTE; 
 Nenhuma das respostas acima. 
 SELECT CPF, NOME FROM CLIENTE WHERE ENDERECO IS NULL; 
18) Considere a tabela aluno abaixo: 
 
Qual o atributo poderia ser chave candidata da tabela acima? 
 cidade 
 cpf 
 Não existe atributo que poderia ser chave candidata 
 endereço 
 nome 
19) 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: 
 π matriculaaluno, nomealuno (ALUNOmatriculaluno = ⋈matricula (σ codigo = CCT0199 (DISCIPLINA))) 
 Não existe consulta que reponda a questão 
 π matriculaaluno, nomealuno (CURSA matriculaluno = ⋈matricula DISCIPLINA) 
 π matriculaluno, nomealuno (ALUNO matriculaluno = ⋈matricula (σ codigo = CCT0199 (CURSA))) 
 π matriculaaluno, nomealuno (ALUNO matriculaluno = ⋈matricula DISCIPLINA) 
20) Considere as relações: 
PROFESSOR (matriculaprf, nomeprf, titulacao, anoadmissao) 
MINISTRA (matricula, codigo) 
matricula REFERENCIA matriculaprf em PROFESSOR 
codigo REFERENCIA codigo disciplina 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 (PROFESSORmatriculaprf = ⋈ matricula(MINISTRAcodigo = ⋈ codigodisciplina(DISCIPLINA))) 
 πmatriculaprf, nomeprf (PROFESSORmatriculaprf = ⋈ matricula(σnomedisciplina = "Implementação de Banco de Dados"(DISCIPLINA)) 
 Não existe consulta que responda a esta questão. 
 πmatriculaprf, nomeprf (PROFESSORmatriculaprf = ⋈ matricula(MINISTRAcodigo = ⋈ codigodisciplina(σnomedisciplina = "Implementação de 
Banco de Dados"(DISCIPLINA))) 
 πmatriculaprf, nomeprf (PROFESSORmatriculaprf = ⋈ matricula(MINISTRA) 
21) Considere o esquema abaixo: 
PROFESSOR (matriculaprf, nomeprf, titulacao, anoadmissao) 
MINISTRA (matricula, codigo) 
matricula REFERENCIA matriculaprf em PROFESSOR 
codigo REFERENCIA codigodisciplina em DISCIPLINA 
DISCIPLINA (codigodisciplina, nomedisciplina, creditos) 
Os comandos SQL apresentam todos os elementos necessários para a sua criação estão representados em: 
 CREATE TABLE PROFESSOR ( MATRICULAPRF NOT NULL,NOMEPRF NOT NULL, TITULACAO NOT 
NULL, ANOADMISSAO NOT NULL, PRIMARY KEY (MATRICULAPRF)); 
CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA NOT NULL,NOMEDISCIPLINA NOT NULL, 
CREDITOS NOT NULL, PRIMARY KEY (CODIGODISCIPLINA)); 
CREATE TABLE MINISTRA (MATRICULA NOT NULL, CODIGO NOT NULL, PRIMARY KEY (MATRICULA, 
CODIGO), FOREIGN KEY MATRICULA REFERENCES PROFESSOR (MATRICULAPRF), FOREIGN KEY 
CODIGO REFERENCES DISCIPLINA (CODIGODISCIPLINA)); 
 CREATE TABLE PROFESSOR ( MATRICULAPRF NUMBER (5) NOT NULL, NOMEPRF VARCHAR(20) 
NOT NULL, TITULACAO VARCHAR (15) NOT NULL, ANOADMISSAO VARCHAR (4) NOT NULL); 
CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA VARCHAR (5) NOT NULL,NOMEDISCIPLINA 
VARCHAR(20) NOT NULL, CREDITOS NUMBER (2) NOT NULL); 
CREATE TABLE MINISTRA (MATRICULA NUMBER (5) NOT NULL, CODIGO VARCHAR (5) NOT NULL); 
 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), PRIMARY 
KEY (MATRICULA, CODIGO)); 
 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)); 
 CREATE TABLE PROFESSOR ( MATRICULAPRF NUMBER (5) NOT NULL,NOMEPRF VARCHAR(20) NOT 
NULL, TITULACAO VARCHAR (15) NOT NULL, ANOADMISSAO VARCHAR (4) NOT NULL); 
CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA VARCHAR (5) NOT NULL,NOMEDISCIPLINA 
VARCHAR(20) NOT NULL, CREDITOS NUMBER (2) NOT NULL); 
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)); 
22) 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); 
 INCLUDE INTO PECA (1234, "lápis de cor", 500); 
 INSERT INTO PECAS ("1234", "lápis de cor", 500); 
 INSERT INTO PECAS (1234, "lápis de cor", 500); 
 INSERT PECAS (1234, "lápis de cor",500); 
23) Considere o texto a seguir e complete as lacunas, comas 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 estrangeiras. 
 Chave primária; chave estrangeira; chave primária; chave secundária; chaves alternativas. 
 Chave primária; chave estrangeira; chave primária; chave primária; chaves alternativas. 
 Chave primária; super-chave; chave primária; chave candidata; chaves secundárias. 
 Chave primária; chave primária; chave primária; super-chave; chaves secundárias. 
24) (CONSULPLAN - 2012) 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: 
 Update e Grant. 
 Update e Drop. 
 Grant e Delete. 
 Delete e Update. 
 Drop e Grant. 
25) (CONSULPLAN - 2012) 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: 
 Dependência de dados. 
 Integridade de dados. 
 Redundância de dados. 
 Consistência de dados. 
 Replicação de dados. 
26) 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 OU id_Depto = 10 E Salario > 2000 (Empregado) 
 σ ID = 102 OU id_Depto = OU E Salario > 2000 (Empregado) 
 σ ID > 102 OU id_Depto = 10 OU Salario > 2000(Empregado) 
 σ ID > 102 E id_Depto = 10 E Salario > 2000 (Empregado) 
 σ ID = 102 E id_Depto = 10 E Salario > 2000 (Empregado) 
27) 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); 
 SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 51); 
 SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE ID_DEPTO =11 AND ID_DEPTO 
=21 AND ID_DEPTO =22 AND ID_DEPTO =31 AND ID_DEPTO =42 AND ID_DEPTO =51; 
 SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 
51); 
 SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 
51); 
28) 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 =11 AND ID_DEPTO =21 AND 
ID_DEPTO =22 AND ID_DEPTO =31 AND ID_DEPTO =42 AND ID_DEPTO =51; 
 SELECT MAXIMO(SALARIO) FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 51) GROUP 
BY ID_DEPTO; 
 SELECT MAX(SALARIO) FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 51) GROUP BY 
ID_DEPTO; 
 SELECT MAXIMO(SALARIO) FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 51) GROUP 
BY ID_DEPTO; 
 SELECT MAX(SALARIO) FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 51) GROUP BY 
ID_DEPTO; 
29) 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 DESC NOME; 
 SELECT ID, NOME FROM DEPARTAMENTO ORDER BY ASC NOME; 
 SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME DESC; 
 SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME ASC; 
 SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME; 
30) 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, 4, 5, 3 
 2, 1, 5, 4, 3 
 1, 2, 4, 5, 3 
 1, 2, 3, 4, 5 
 1, 2, 5, 4, 3 
31) 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. 
 II e III. 
 I e II. 
 Somente I. 
 I, II e III. 
32) Dentre as opções a seguir, qual não é uma função de grupo? 
 SUM(x) 
 CONT(*) 
 AVG(x) 
 MAX(x) 
 MED(x) 
33) Dentre as propriedades de uma transação, qual delas é responsável por preservar a integridade do banco de 
dados? 
 Consistência 
 Atomicidade 
 Isonomia 
 Durabilidade 
 Isolamento 
34) Dentre as sub-linguagens definidas na Linguagem SQL, o comando SELECT faz parte de qual delas? 
 Controle de transações 
 DRL 
 DCL 
 DML 
 DDL 
35) Dentre as vantagens da utilização dos SGBDs a seguir, qual NÃO é uma vantagem? 
 Redução ou Eliminação de redundâncias. 
 Padronização dos dados. 
 Independência dos dados. 
 Dependência entre programas e dados. 
 Compartilhamento de Dados. 
36) 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? 
 RAW(tam) 
 VARCHAR2(tam) 
 LONG RAW 
 LONG 
 CHAR(tam) 
37) É uma vantagem de uso da linguagem SQL: 
 Visão única dos dados 
 Dependência de fabricante 
 Definição dinâmica dos dados 
 Dependência de plataforma 
 Alto custo de treinamento 
38) Em relação à álgebra relacional, o operador de _____________ permite combinar seleções e um produto 
cartesiano em uma só operação. 
 Projeção 
 Diferença 
 União 
 Junção 
 Interseção 
39) Em SQL, para contar linhas usamos: 
 GROUP BY 
 SUM 
 AVG 
 SELECT 
 COUNT 
40) 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 
 220 registros 
 160 registros 
 22 registros 
 20 registros 
41) (ENADE 2011 - Adaptado) 
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 
ocódigo e a quantidade de peças fornecidas: 
 SELECT CODIGO, ESTOQUE FROM PECAS 
 SELECT COD_PECA, QUANTIDADE FROM FORNECIMENTO; 
 Nenhuma das respostas acima 
 SELECT CODIGO, ESTOQUE FROM FORNECIMENTOS; 
 SELECT COD_PECA, QUANTIDADE FROM FORNECIMENTOS; 
42) (ENADE 2011 - Adaptado) 
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_FORNECEDOR FROM FORNECEDORES; 
 SELECT * FROM FORNECEDOR; 
 SELECT * FROM FORNECEDORES; 
 SELECT NOME FROM FORNECEDOR; 
 SELECT NOME FROM FORNECEDORES; 
43) (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 possui conta mas não possui empréstimos no banco, aparecerá 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. 
44) (FUMARC - 2011 - BDMG - Analista de Sistemas) 
 
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 
 SELECT c.num_conta FROM CONTA AS c 
WHERE c.num_conta NOT IN 
(SELECT e.num_conta FROM EMPRESTIMO AS e) 
 SELECT c.num_conta FROM CONTA AS c 
WHERE c.num_conta NOT EXISTS 
(SELECT e.num_conta FROM EMPRESTIMO AS e) 
 SELECT c.num_conta FROM CONTA AS c 
WHERE c.num_emprestimo NOT 
(SELECT e.num_emprestimo FROM EMPRESTIMO AS e) 
 SELECT c.num_conta FROM CONTA AS c 
WHERE c.num_conta NOT IN 
(SELECT e.num_emprestimo FROM EMPRESTIMO AS e) 
45) Listar cpf e nome do cliente que possui o veículo placa BDQ2012. 
 
 SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa = 
'BDQ2012'; 
 SELECT c.cpf, c.cliente FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa = 
'BDQ2012'; 
 SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf ; 
 Nenhuma das consultas acima. 
 SELECT c.cpf, v.veiculo FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa = 
'BDQ2012'; 
46) Listar placa, o ano do veículo e a descrição de seu modelo, se ele possuir ano a partir de 2010 
 
 Nenhuma das respostas acima. 
 SELECT v.placa, v.ano, m.descricao FROM Veiculo v INNER JOIN Modelo m ON v.Modelo_codMod = 
m.codMod WHERE ano >= 2010; 
 SELECT v.placa, v.ano, m.descricao FROM Veiculo v INNER JOIN Modelo m ON v.Modelo_codMod = 
m.codMod WHERE ano > 2010; 
 SELECT v.placa, m.descricao FROM Veiculo v INNER JOIN Modelo m ON v.Modelo_codMod = m.codMod 
WHERE ano = 2010; 
 SELECT v.placa, v.veiculo, m.modelo FROM Veiculo v INNER JOIN Modelo m ON v.Modelo_codMod = 
m.codMod WHERE ano >= 2010; 
47) Na linguagem SQL, para totalizarmos os valores de uma coluna usamos o comando: 
 COUNT 
 SUM 
 EQUAL 
 AVG 
 GROUP BY 
48) Na sintaxe ANSI da junção Interior, na sua forma padrão é: 
 select [colunas] from tabela1 LEFT JOIN tabela2 ON ; 
 select * from tabela1 LEFT JOIN tabela2; 
 select [colunas] from tabela1 RIGHT JOIN tabela2 ON ; 
 select * from tabela1 C ROSS JOIN tabela2; 
 select [colunas] from tabela1 INNER JOIN tabela2 ON ; 
49) (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 
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 
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 
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 
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)) 
50) No Modelo Relacional de Dados, o mecanismo fundamental para manter a consistência dos dados e evitar 
registros órfãos é denominado. 
 Normalização. 
 Integridade Relacional. 
 Integridade Referencial. 
 Integridade de Chave. 
 Dependência Funcional. 
51) O comando SELECT * FROM [tabela] WHERE [condições]: 
 Lista todas as colunas de uma tabela 
 Nenhuma das respostas acima 
 Não é um comando da linguagem SQL 
 Lista tanto as linhas quanto as colunas de uma tabela 
 Lista todas as linhas de uma tabela 
52) O comando SELECT FROM corresponde a seguinte operação da álgebra relacional: 
 Projeção 
 Seleção 
 Junção 
 Interseção 
 União 
53) O comando SELECT FROM WHERE corresponde as seguintes operações da álgebra relacional: 
 Projeção e União. 
 Seleção e Projeção. 
 Seleção e Diferença. 
 Seleção e Junção. 
 União e Interseção. 
54) O comando SQL para excluir os registros da tabela Aluno, cujo campo nome comece com a letra M, é: 
 DELETE FROM Aluno. 
 DELETE FROM Aluno WHERE nome LIKE 'G%'. 
 DELETE FROM Aluno WHERE nome SUCH '%M'. 
 DELETE FROM Aluno WHERE nome LIKE 'M%'. 
 DELETE FROM Aluno WHERE nome='M'. 
55) O comando SQL que apaga uma tabela é: 
 DELETE TABLE 
 INSERT INTO 
 REMOVE TABLE 
 DROP TABLE 
 UPDATE 
56) O operador que possibilita a seleção de uma faixa de valores sem a necessidade do uso dos operadores >=, <= 
e AND é: 
 GROUP BY 
 LIKE 
 BETWEEN IN 
 HAVING 
57) 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 OR salário <= 3000 
 salário > 1000 AND salário < 3000 
 salário >= 1000 AND salário <= 3000 
 salário < 1000 OR salário > 3000 
 salário > 1000 OR salário < 3000 
58) Observe a tabela abaixo, referente a um banco de dados empresa: 
 
Para gerar uma consulta SQL com todos os atributos, classificados por NOME_PACIENTE, deve-se utilizar o 
seguinte comando: 
 SELECT * FROM PACIENTE ASC NOME_PACIENTE; 
 SELECT * FROM PACIENTE ORDER BY NOME_PACIENTE; 
 SELECT * OVER PACIENTE ORDER BY NOME_PACIENTE; 
 SELECT * FROM PACIENTE DESC NOME_PACIENTE; 
 SELECT * OVER PACIENTE ASC NOME_PACIENTE; 
59) Os atributos de uma tabela constituem: 
 Os nomes das tabelas. 
 As colunas da tabela. 
 Os índices da tabela. 
 As linhas da tabela. 
 As tuplas da tabela. 
60) Os conceitos que envolvem os termos restrição de integridade de entidade e restrição de integridade referencial 
são, respectivamente: 
 os valores dos atributos que formam a chave estrangeira deverá existir na tabela onde a chave estrangeira é 
chave primária, somente quando for igual a NULL / 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 / nenhum atributo pertencente à chave primária poderá receber 
valor NULL. 
 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. 
 os atributos pertencentes à chave primária deverão conter sempre valores diferentes de NULL / os valores 
dos atributos que formam a chave estrangeira deverá existir na tabela onde a chave estrangeira é chave 
primária, somente quando for igual a NULL. 
 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, somente 
quando for igual a NULL. 
61) 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) 
 Create Index Fornecedor BY Bairro, Cidade 
 Create Index Forn_Bairro_Cidade ON Fornecedor BY Bairro, Cidade 
 Create Index Fornecedor ON Forn_Bairro_Cidade(Bairro, Cidade) 
 Create Index Forn_Bairro_Cidade From Fornecedor BY Bairro, Cidade 
62) 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 sistema: utilização típica de I/O e de CPU. 
 de tabelas: número de linhas, blocos, tamanho de registro médio 
 de colunas: número de valores distintos, número de NULLs, histograma de valores 
 de índices: número de folhas, níveis, clustering. 
 de linhas: número de linhas distintas, histograma de linhas 
63) 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'); 
 ADD INTO paciente SET (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 
 INSERT INTO paciente (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 
 ADD INTO paciente VALUES (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 
 INSERT INTO paciente SET (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 
64) 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 
 GRANT 
 COMMIT 
 CREATE 
 ROLLBACK 
65) Para sabermos o valor atual em uma sequência, devemos usar: 
 Select NomeSequencia.CURRVAL from NomeTabela 
 Select NomeSequencia.NEXTVAL from NomeTabela 
 Select NomeSequencia.CURRVAL from Dual 
 Select NomeSequencia.NEXTVAL from Dual 
 Nenhuma das demais respostas 
66) 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'); 
 INSERT INTO X_PROD VALUES ( TV Led 40 polegadas, 20, 400, 3000); 
 INSERT INTO X_PROD VALUES ('TV Led 40 polegadas', 20, 400, 3000); 
 INSERT INTO X_PROD VALUES ( 20, 'TV Led 40 polegadas', 400, 3000); 
 INSERT INTO X_PROD VALUES (20, TV Led 40 polegadas, 400, 3000); 
67) Qual comando SQL é utilizado para obter um conjunto de dados em uma tabela em um banco de dados? 
 GET 
 UPDATE 
 SELECT 
 INSERT 
 JOIN 
68) Qual das consultas abaixo retorna o nome e a placa de todos os veículos? 
 
 SELECT c.nome FROM Veiculo v INNER JOIN Cliente c ON cpf = cpf; 
 SELECT placa FROM Veiculo INNER JOIN Cliente ON Cliente_cpf = cpf; 
 SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa; 
 SELECT v.placa, c.nome FROM Cliente INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf; 
 SELECT v.placa, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf; 
69) 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 
 MINUS ALL 
 UNION 
 MINUS 
 INTERSEC T 
70) Qual dos tipos de sub-consulta que faz referência a uma coluna da tabela da consulta externa? 
 Sub-Consulta Principal 
 Sub-Consulta Correlata 
 Sub-Consulta Simple 
 Sub-Consulta Multi-Linhas 
 Sub-Consulta Multi-Valorada 
71) Qual o resultado da consulta SELECT COUNT(DISTINCT X) FROM R? 
 
 4 
 2 
 1 
 0 
 3 
72) Qual será o resultado da consulta SELECT COUNT(DISTINCT salario) FROM funcionario? 
 
 7 
 6 
 9 
 5 
 8 
73) 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. 
 Apenas as afirmações I 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. 
74) 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ária e estrangeiras identificadas 
( ) Esquema 
( ) Atributo 
( ) Tupla 
( ) Relação 
( ) Domínio 
A sequência correta está representada na opção: 
 4,2,3,1,5 
 5,3,2,1,4 
 5,2,3,4,1 
 5,2,1,3,4 
 5,2,3,1,4 
75) Sejam as relações: 
T1 =  nome ((sexo="FEMININO") and (salário>1500) (EMPREGADO)) 
T2 =  nome (dept=5 (EMPREGADO)) 
A relação T3 = T1 - T2 conterá: 
 Nome de todas mulheres que ganham mais do que 1500 e estão lotadas nodepartamento 5. 
 Nome de todas mulheres que ganham mais do que 1500 e não estão lotadas no departamento 5. 
 Nome de todas mulheres que ganham mais do 1500 
 Nome de todas mulheres que ganham mais do que 1500 ou estão lotadas no departamento 5. 
 Nome de todas mulheres que ganham 1500 e estão lotados no departamento 5. 
76) Uma chave candidata é: 
 um conjunto de valores que cada atributo, definido no esquema, assume em um determinado instante, 
formando o conjunto de tuplas. 
 um conjunto de atributos que descrevem as características dos elementos a serem modelados. 
 um grupo de valores atômicos a partir dos quais um ou mais atributos (ou colunas) retiram seus valores reais. 
 uma ou mais colunas que identificam univocamente a relação, porém não fazem parte da chave primária. 
 uma coluna ou uma combinação de colunas, cujos valores aparecem necessariamente na chave primária de 
uma tabela. 
77) Uma consulta que ocorre dentro de outro comando SQL é denominada: 
 Consulta interna 
 Não é possível uma consulta deste tipo 
 Consulta externa 
 Operação 
 Subconsulta 
78) (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´); 
INSERT INTO Departamento VALUES (2, En≥nharia´); 
INSERT INTO Departamento VALUES (3, Contabilidade´); 
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? 
 Cinco 
 Três 
 Quatro 
 Sete 
 Seis 
79) (VUNESP – 2009 – CETESB – Analista de Tecnologia da Informação – Banco de Dados) 
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 é: 
 III, II, IV e I. 
 I, III, II e IV. 
 II, IV, I e III. 
 IV, III, I e II. 
 II, I, III e IV. 
80) 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. 
 
Sugestão: 
SELECT count(*) total_dep 
FROM departamento 
81) Baseado na tabela dependente mostrada a seguir, escreva uma consulta SQL que recupere o parentesco dos 
dependentes. Elimine as linhas duplicadas. 
 
Sugestão: 
SELECT DISTINCT parentesco 
FROM dependente 
82) 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. 
 
Sugestão: 
SELECT SUM(salario), MAX(salario), MIN(salario), AVG(salario) 
FROM empregado 
83) Baseado na tabela empregado mostrada a seguir, escreva uma consulta SQL que recupere todas as informações 
de empregado ordenando pelos empregados que possuem o maior salário. 
 
Sugestão: 
SELECT * 
FROM empregado 
ORDER BY salario DESC 
84) 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. 
 
 
Sugestão: 
SELECT numero_emprestimo 
FROM emprestimo e, agencia a 
WHERE e.numero_agencia = a.numero_agencia AND a.nome_agencia = 'Metropolitana' AND quantia > 300; 
85) 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. 
 
 
Sugestão: 
SELECT nome, count(*) 
FROM empregado e, dependente d 
WHERE e.codigo_empregado = d.codigo_empregado 
GROUP BY nome 
HAVING count(*)>2 
86) 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. 
 
 
Sugestão: 
SELECT a.nome, sexo 
FROM atleta a, esporte e 
WHERE a.idesporte = e.idesporte AND e.nome = 'natação' 
ORDER BY a.nome 
87) Considere as tabelas abaixo: 
 
Queremos executar o seguinte comando SQL: 
 
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. 
88) 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 
89) CONSIDERE O BANCO DE DADOS CRIADO PELOS 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 DISCIPLNA 
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'); 
90) 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. 
91) 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 (codigo_empregado NUMBER(6), nome_dependente VARCHAR(50), sexoCHAR(1), data_nasc DATE, parentesco VARCHAR(15)); 
92) Escreva o comando SQL para eliminar a tabela ATLETA do banco de dados. A tabela ATLETA está ilustrada na 
figura abaixo. 
 
DROP TABLE atleta 
93) 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'. 
94) 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 codigo_empregado, nome 
FROM empregado. 
95) Escreva uma consulta SQL que recupere todas as informações da peça que possui o maior preço. A tabelapecas 
está ilustrada na figura a seguir. 
 
Sugestão: 
SELECT * 
FROM pecas 
WHERE preco = (SELECT MAX(preco) FROM pecas) 
96) Escreva uma consulta SQL que recupere todas as informações do empregado mais velho. A tabela empregado 
está ilustrada na figura a seguir. 
 
Sugestão: 
SELECT * 
FROM empregado 
WHERE data_nasc = (SELECT MIN(data_nasc) FROM empregado) 
97) 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. 
 
Sugestão: 
SELECT num_peca, pnome, preco 
FROM pecas 
WHERE preco>=3 
98) 
 
Disciplina: CCT0199 - IMPL. BANCO DE DADOS Período Acad.: 2012.3-EAD (G) / AV1 
 Matrícula: 
 Turma: 9001/AA 
 
É responsável por garantir a Integridade Referencial: (Cód.: 106915) 
Chave Estrangeira 
Chave Primária 
Chave Candidata 
Chave Secundária 
Chave de Atributo 
 
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. (Cód.: 106376) 
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 seqüência correta encontra-se apenas em: 
 
Chave primária; chave primária; chave primária; super-chave; chaves secundárias. 
Chave primária; chave estrangeira; chave primária; chave secundária; chaves 
alternativas. 
Chave primária; chave estrangeira; chave primária; chave primária; chaves 
alternativas. 
Chave primária; super-chave; chave primária; chave candidata; chaves secundárias. 
Chave primária; chave estrangeira; chave primária; chave primária; chaves 
estrangeiras. 
 
É uma vantagem de uso da linguagem SQL: (Cód.: 106750) 
Alto custo de treinamento 
Dependência de fabricante 
Definição dinâmica dos dados 
Dependência de plataforma 
Visão única dos dados 
 
 
O comando SELECT * FROM [tabela] WHERE [condições] : 
(Cód.: 106753) 
Lista tanto as linhas quanto as colunas de uma tabela 
Lista todas as linhas de uma tabela 
Não é um comando da linguagem SQL 
Lista todas as colunas de uma tabela 
Nenhuma das respostas acima 
 
Considere a relação: (Cód.: 107076) 
ALUNO (matrícula, nome, endereço, estado, cidade, cep, datadeingresso, 
coeficiente_de_rendimento). A consulta SQL para listar os alunos com maior e menor 
coefiente de rendimento nos estado de SP, RJ e MG é: 
 
Nenhuma das respostas acima 
SELECT MAX(COEFICIENTE_DE_RENDIMENTO), 
MIN(COEFICIENTE_DE_RENDIMENTO) FROM ALUNO WHERE ESTADO = 
'SP' AND ESTADO = 'RJ' AND ESTADO = 'MG'; 
SELECT MAX(COEFICIENTE_DE_RENDIMENTO), 
MIN(COEFICIENTE_DE_RENDIMENTO) FROM ALUNO; 
SELECT MAX, MIN(COEFICIENTE_DE_RENDIMENTO) FROM ALUNO WHERE 
ESTADO = 'SP' OR ESTADO = 'RJ' OR ESTADO = 'MG'; 
SELECT MAX(COEFICIENTE_DE_RENDIMENTO), 
MIN(COEFICIENTE_DE_RENDIMENTO) FROM ALUNO WHERE ESTADO 
= 'SP' OR ESTADO = 'RJ' OR ESTADO = 'MG'; 
 
 
 
 
 
O comando SELECT FROM WHERE corresponde as seguintes operações da álgebra 
relacional: (Cód.: 106752) 
 
Seleção e Projeção 
União e Interseção 
Projeção e União 
Seleção e Junção 
Seleção e Diferença 
 
 
O comando SELECT FROM corresponde a seguinte operação da álgebra relacional: 
(Cód.: 106751) 
 
Interseção 
Junção 
Projeção 
União 
Seleção 
 
Considere a relação abaixo: (Cód.: 107047) 
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 NOT NULL; 
SELECT CPF, NOME FROM CLIENTE WHERE ENDERECO IS NULL; 
SELECT CPF, NOME FROM CLIENTE; 
Nenhuma das respostas acima. 
SELECT * FROM CLIENTE WHERE ENDERECO IS NULL; 
 
 
Como ficaria o comando SQL para criar a tabela a seguir? (Cód.: 106979) 
 
TABELA COLUNA TIPO TAMANHO OBSERVAÇÃO 
X-PROD CÓDIGO NUMÉRICO 5 Chave Primária 
 DESCRICAO CARACTER 40 Único e Obrigatório 
 
 UNIDADE NUMÉRICO 8 
 VALOR_UNIT NUMÉRICO 9,2 
 
 
CREATE TABLE X_PROD ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL, QUANTIDADE NUMBER(8), 
VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_PROD ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE 
NUMBER(8), VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_EMPR ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE 
NUMBER(8), VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_EMPR ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL, QUANTIDADE NUMBER(8), 
VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_PROD ( CODIGO VARCHAR2(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE 
NUMBER(8), VALOR_UNIT NUMBER(9,2) ) 
 
Considere a relação: (Cód.: 107062) 
FUNCIONARIO (matrícula, cargo, salario, admissao) 
A consulta SQL que mostra o total dos salários dos funcionários é: 
 
SELECT * FROM FUNCIONARIO WHERE SUM (SALARIO); 
SELECT SUM (SALARIO) FROM FUNCIONARIO WHERE SALARIO; 
Nenhuma das repostas acima 
SELECT SALARIO FROM FUNCIONARIO WHERE SUM (SALARIO); 
SELECT SUM (SALARIO) FROM FUNCIONARIO; 
 
 
Disciplina: CCT0199 - IMPL. BANCO DE DADOS 
Período Acad.: 2012.1-EAD (G) / 
AV3 
Aluno: Matrícula: 
Professor: Turma: 9001/AA 
 
(CONSULPLAN - 2012) 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 
obedecer ao tipo de dados e às restrições de valores admitidos para essa coluna. É o tipo 
conhecido por integridade de: (Cód.: 110396) 
 
Atributo. 
Domínio. 
Entidade. 
Tabela. 
Referência. 
 
Na sintaxe ANSI da junção Interior, na sua forma padrão é: (Cód.: 124195) 
 
select [colunas] from tabela1 LEFT JOIN tabela2 ON ; 
select * from tabela1 CROSS JOIN tabela2; 
select * from tabela1 LEFT JOIN tabela2; 
select [colunas] from tabela1 INNER JOIN tabela2 ON ; 
select [colunas] from tabela1 RIGHT JOIN tabela2 ON ; 
 
Qual dos tipos de sub-consulta que faz referência a uma coluna da tabela da consulta 
externa? (Cód.: 124204) 
 
Sub-Consulta Principal 
Sub-Consulta Simple 
Sub-Consulta Multi-Linhas 
Sub-Consulta Correlata 
Sub-Consulta Multi-Valorada 
 
Analise as seguintes afirmações: (Cód.: 106402) 
"(1) A restrição de integridade referencial diz que chave primária em uma relação não 
podeter seu valor nulo PORQUE (2) esta chave identifica as tuplas da relação" 
Podemos afirmar: 
 
As duas afirmações são falsas. 
As duas afirmações são verdadeiras e a primeira não justifica a segunda. 
As duas afirmações são verdadeiras e a primeira justifica a segunda. 
A primeira afirmação é verdadeira e a segunda é falsa. 
A primeira afirmação é falsa e a segunda é verdadeira. 
 
Considere a relação: (Cód.: 106427) 
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) ) 
  nome, ano ((genero = "ação" AND tempoduracao = 120) (FILME) ) 
 nome, ano ((genero = "ação" AND tempoduracao >= 120 OR tempoduracao <= 180) (FILME) ) 
 nome, ano ((genero = "ação" OR tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) 
 nome, ano ((genero = "ação" AND tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) 
 
 
 
 
 
 
Sejam as relações: (Cód.: 106425) 
 T1 =  nome ((sexo="FEMININO") and (salário>1500) (EMPREGADO)) 
T2 =  nome (dept=5 (EMPREGADO)) 
A relação T3 = T1 - T2 conterá: 
 
Nome de todas mulheres que ganham mais do que 1500 ou estão lotadas no 
departamento 5. 
Nome de todas mulheres que ganham mais do 1500 
Nome de todas mulheres que ganham mais do que 1500 e não estão lotadas no 
departamento 5. 
Nome de todas mulheres que ganham 1500 e estão lotados no departamento 5. 
Nome de todas mulheres que ganham mais do que 1500 e estão lotadas no departamento 
5. 
 
 
Considere a relação: (Cód.: 107122) 
FUNCIONARIO (matrícula, cargo, salario, admissao) 
A consulta SQL que mostra média dos salários dos funcionários é: 
 
SELECT SUM(SALARIO) FROM FUNCIONARIO; 
SELECT AVG(SALARIO) FROM FUNCIONARIO; 
SELECT SALARIO FROM FUNCIONARIO AVG; 
SELECT MEDIA(SALARIO) FROM FUNCIONARIO; 
Nenhuma das respostas acima. 
 
 
 
 
 
 
 
Considere as relações: (Cód.: 106430) 
PROFESSOR (matriculaprf, nomeprf, titulacao, 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 
(nomedisciplina = "Implementação de Bancos de 
Dados" (DISCIPLINA)) 
 matriculaprf, nomeprf (PROFESSORmatriculaprf =
 ⋈
matricula
 MINISTRA) 
Não existe consulta que responda a esta questão. 
 matriculaprf, nomeprf (PROFESSOR matriculaprf =
 ⋈
matricula
 (MINISTRAcodigo =
 ⋈
codigodisciplina
 
(DISCIPLINA))) 
   
 

  
 

   
 
 
De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução 
SQL adequada para: (Cód.: 107126) 
 
 
SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE 
UPPER(CARGO) LIKE '%VENDA%' ; 
SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE CARGO 
LIKE '%VENDA%' ; 
SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE 
UPPER(CARGO) LIKE '%venda%' ; 
SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE 
UPPER(CARGO) LIKE '%VENDA%' ; 
SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE CARGO 
LIKE '%VENDA%' ; 
 
 
 
 
 
 
 
 
 
Como ficaria o comando SQL para criar a tabela a seguir? (Cód.: 106979) 
 
 
 
 
CREATE TABLE X_PROD ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL, QUANTIDADE NUMBER(8), 
VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_PROD ( CODIGO VARCHAR2(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE 
NUMBER(8), VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_EMPR ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL, QUANTIDADE NUMBER(8), 
VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_PROD ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE 
NUMBER(8), VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_EMPR ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE 
NUMBER(8), VALOR_UNIT NUMBER(9,2) ) 
 
 
16/11/12 Estácio
1/1bquestoes.estacio.br/entrada.asp?p0=143486640&p1=201207092151&p2=1506466&p3=CCT0199…
Avaliação: CCT0199_AV1_201207092151 » IMPLEMENTAÇÃO DE BANCO DE DADOS
Tipo de Avaliação: AV1
Aluno: 201207092151 - RAYANE OLIVER LIMA DOS SANTOS
Professor: PATRICIA FIUZA DE CASTRO Turma: 9002/AB
Nota da Prova: 6,0 de 8,0 Nota do Trabalho: 0 Nota de Participação: 1 Data: 15/09/2012
 1
a
 Questão (Cód.: 107759)
Pontos: 0,0 / 0,5
Qual comando SQL é utilizado para obter um conjunto de dados em uma tabela em um banco de dados?
UPDATE
 
INSERT
 
SELECT
GET
JOIN
 2
a
 Questão (Cód.: 107242)
Pontos: 0,5 / 0,5
Em relação a álgebra relacional, o operador de _____________ permite combinar seleções e um produto
cartesiano em uma só operação.
União
Projeção
Interseção
 
Disciplina: CCT0199 - IMPL. BANCO DE DADOS Período Acad.: 2012.3-EAD (G) / AV1 
 Matrícula: 
 Turma: 9001/AA 
 
É responsável por garantir a Integridade Referencial: (Cód.: 106915) 
Chave Estrangeira 
Chave Primária 
Chave Candidata 
Chave Secundária 
Chave de Atributo 
 
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. (Cód.: 106376) 
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 seqüência correta encontra-se apenas em: 
 
Chave primária; chave primária; chave primária; super-chave; chaves secundárias. 
Chave primária; chave estrangeira; chave primária; chave secundária; chaves 
alternativas. 
Chave primária; chave estrangeira; chave primária; chave primária; chaves 
alternativas. 
Chave primária; super-chave; chave primária; chave candidata; chaves secundárias. 
Chave primária; chave estrangeira; chave primária; chave primária; chaves 
estrangeiras. 
 
É uma vantagem de uso da linguagem SQL: (Cód.: 106750) 
Alto custo de treinamento 
Dependência de fabricante 
Definição dinâmica dos dados 
Dependência de plataforma 
Visão única dos dados 
 
 
O comando SELECT * FROM [tabela] WHERE [condições] : 
(Cód.: 106753) 
Lista tanto as linhas quanto as colunas de uma tabela 
Lista todas as linhas de uma tabela 
Não é um comando da linguagem SQL 
Lista todas as colunas de uma tabela 
Nenhuma das respostas acima 
 
Considere a relação: (Cód.: 107076) 
ALUNO (matrícula, nome, endereço, estado, cidade, cep, datadeingresso, 
coeficiente_de_rendimento). A consulta SQL para listar os alunos com maior e menor 
coefiente de rendimento nos estado de SP, RJ e MG é: 
 
Nenhuma das respostasacima 
SELECT MAX(COEFICIENTE_DE_RENDIMENTO), 
MIN(COEFICIENTE_DE_RENDIMENTO) FROM ALUNO WHERE ESTADO = 
'SP' AND ESTADO = 'RJ' AND ESTADO = 'MG'; 
SELECT MAX(COEFICIENTE_DE_RENDIMENTO), 
MIN(COEFICIENTE_DE_RENDIMENTO) FROM ALUNO; 
SELECT MAX, MIN(COEFICIENTE_DE_RENDIMENTO) FROM ALUNO WHERE 
ESTADO = 'SP' OR ESTADO = 'RJ' OR ESTADO = 'MG'; 
SELECT MAX(COEFICIENTE_DE_RENDIMENTO), 
MIN(COEFICIENTE_DE_RENDIMENTO) FROM ALUNO WHERE ESTADO 
= 'SP' OR ESTADO = 'RJ' OR ESTADO = 'MG'; 
 
 
 
 
 
O comando SELECT FROM WHERE corresponde as seguintes operações da álgebra 
relacional: (Cód.: 106752) 
 
Seleção e Projeção 
União e Interseção 
Projeção e União 
Seleção e Junção 
Seleção e Diferença 
 
 
O comando SELECT FROM corresponde a seguinte operação da álgebra relacional: 
(Cód.: 106751) 
 
Interseção 
Junção 
Projeção 
União 
Seleção 
 
Considere a relação abaixo: (Cód.: 107047) 
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 NOT NULL; 
SELECT CPF, NOME FROM CLIENTE WHERE ENDERECO IS NULL; 
SELECT CPF, NOME FROM CLIENTE; 
Nenhuma das respostas acima. 
SELECT * FROM CLIENTE WHERE ENDERECO IS NULL; 
 
 
Como ficaria o comando SQL para criar a tabela a seguir? (Cód.: 106979) 
 
TABELA COLUNA TIPO TAMANHO OBSERVAÇÃO 
X-PROD CÓDIGO NUMÉRICO 5 Chave Primária 
 DESCRICAO CARACTER 40 Único e Obrigatório 
 
 UNIDADE NUMÉRICO 8 
 VALOR_UNIT NUMÉRICO 9,2 
 
 
CREATE TABLE X_PROD ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL, QUANTIDADE NUMBER(8), 
VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_PROD ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE 
NUMBER(8), VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_EMPR ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE 
NUMBER(8), VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_EMPR ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL, QUANTIDADE NUMBER(8), 
VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_PROD ( CODIGO VARCHAR2(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE 
NUMBER(8), VALOR_UNIT NUMBER(9,2) ) 
 
Considere a relação: (Cód.: 107062) 
FUNCIONARIO (matrícula, cargo, salario, admissao) 
A consulta SQL que mostra o total dos salários dos funcionários é: 
 
SELECT * FROM FUNCIONARIO WHERE SUM (SALARIO); 
SELECT SUM (SALARIO) FROM FUNCIONARIO WHERE SALARIO; 
Nenhuma das repostas acima 
SELECT SALARIO FROM FUNCIONARIO WHERE SUM (SALARIO); 
SELECT SUM (SALARIO) FROM FUNCIONARIO; 
 
 
Disciplina: CCT0199 - IMPL. BANCO DE DADOS 
Período Acad.: 2012.1-EAD (G) / 
AV3 
Aluno: Matrícula: 
Professor: Turma: 9001/AA 
 
(CONSULPLAN - 2012) 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 
obedecer ao tipo de dados e às restrições de valores admitidos para essa coluna. É o tipo 
conhecido por integridade de: (Cód.: 110396) 
 
Atributo. 
Domínio. 
Entidade. 
Tabela. 
Referência. 
 
Na sintaxe ANSI da junção Interior, na sua forma padrão é: (Cód.: 124195) 
 
select [colunas] from tabela1 LEFT JOIN tabela2 ON ; 
select * from tabela1 CROSS JOIN tabela2; 
select * from tabela1 LEFT JOIN tabela2; 
select [colunas] from tabela1 INNER JOIN tabela2 ON ; 
select [colunas] from tabela1 RIGHT JOIN tabela2 ON ; 
 
Qual dos tipos de sub-consulta que faz referência a uma coluna da tabela da consulta 
externa? (Cód.: 124204) 
 
Sub-Consulta Principal 
Sub-Consulta Simple 
Sub-Consulta Multi-Linhas 
Sub-Consulta Correlata 
Sub-Consulta Multi-Valorada 
 
Analise as seguintes afirmações: (Cód.: 106402) 
"(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: 
 
As duas afirmações são falsas. 
As duas afirmações são verdadeiras e a primeira não justifica a segunda. 
As duas afirmações são verdadeiras e a primeira justifica a segunda. 
A primeira afirmação é verdadeira e a segunda é falsa. 
A primeira afirmação é falsa e a segunda é verdadeira. 
 
Considere a relação: (Cód.: 106427) 
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) ) 
  nome, ano ((genero = "ação" AND tempoduracao = 120) (FILME) ) 
 nome, ano ((genero = "ação" AND tempoduracao >= 120 OR tempoduracao <= 180) (FILME) ) 
 nome, ano ((genero = "ação" OR tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) 
 nome, ano ((genero = "ação" AND tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) 
 
 
 
 
 
 
Sejam as relações: (Cód.: 106425) 
 T1 =  nome ((sexo="FEMININO") and (salário>1500) (EMPREGADO)) 
T2 =  nome (dept=5 (EMPREGADO)) 
A relação T3 = T1 - T2 conterá: 
 
Nome de todas mulheres que ganham mais do que 1500 ou estão lotadas no 
departamento 5. 
Nome de todas mulheres que ganham mais do 1500 
Nome de todas mulheres que ganham mais do que 1500 e não estão lotadas no 
departamento 5. 
Nome de todas mulheres que ganham 1500 e estão lotados no departamento 5. 
Nome de todas mulheres que ganham mais do que 1500 e estão lotadas no departamento 
5. 
 
 
Considere a relação: (Cód.: 107122) 
FUNCIONARIO (matrícula, cargo, salario, admissao) 
A consulta SQL que mostra média dos salários dos funcionários é: 
 
SELECT SUM(SALARIO) FROM FUNCIONARIO; 
SELECT AVG(SALARIO) FROM FUNCIONARIO; 
SELECT SALARIO FROM FUNCIONARIO AVG; 
SELECT MEDIA(SALARIO) FROM FUNCIONARIO; 
Nenhuma das respostas acima. 
 
 
 
 
 
 
 
Considere as relações: (Cód.: 106430) 
PROFESSOR (matriculaprf, nomeprf, titulacao, 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 
(nomedisciplina = "Implementação de Bancos de 
Dados" (DISCIPLINA)) 
 matriculaprf, nomeprf (PROFESSORmatriculaprf =
 ⋈
matricula
 MINISTRA) 
Não existe consulta que responda a esta questão. 
 matriculaprf, nomeprf (PROFESSOR matriculaprf =
 ⋈
matricula
 (MINISTRAcodigo =
 ⋈
codigodisciplina
 
(DISCIPLINA))) 
   
 

  
 

   
 
 
De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução 
SQL adequada para: (Cód.: 107126) 
 
 
SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE 
UPPER(CARGO) LIKE '%VENDA%' ; 
SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE CARGO 
LIKE '%VENDA%' ; 
SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE 
UPPER(CARGO) LIKE '%venda%' ; 
SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE 
UPPER(CARGO) LIKE '%VENDA%' ; 
SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE CARGO 
LIKE '%VENDA%' ;Como ficaria o comando SQL para criar a tabela a seguir? (Cód.: 106979) 
 
 
 
 
CREATE TABLE X_PROD ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL, QUANTIDADE NUMBER(8), 
VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_PROD ( CODIGO VARCHAR2(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE 
NUMBER(8), VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_EMPR ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL, QUANTIDADE NUMBER(8), 
VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_PROD ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE 
NUMBER(8), VALOR_UNIT NUMBER(9,2) ) 
CREATE TABLE X_EMPR ( CODIGO NUMBER(5) PRIMARY KEY, 
DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE 
NUMBER(8), VALOR_UNIT NUMBER(9,2) ) 
 
 
Banco de Dados II 
George Hamilton 
 
1
1) Em cima da tabela de EMPREGADO_JN abaixo, faça um trigger de auditoria que 
armazene as informações do empregado, bem como, o evento( delete ou update) que 
disparou este trigger, o usuário responsável pela alteração e a data do sistema. 
 
Abaixo segue a Tabela que irá armazenar as informações necessárias para a manter o 
histórico: 
 
CREATE TABLE EMPREGADO_JN ( 
 Operacao VARCHAR2(3) NOT NULL, 
 Usuario VARCHAR2(30) NOT NULL, 
 Data DATE NOT NULL, 
 CPF CHAR(12) NOT NULL, 
 Num_Departamento SMALLINT NOT NULL, 
 Nome VARCHAR(30) NULL, 
 Data_nascimento DATE NULL, 
 Endereco VARCHAR(40) NULL, 
 Sexo CHAR(1) NULL, 
 Salario DECIMAL(10,2) NULL, 
 Supervisor CHAR(12) NULL); 
 
 
 
CREATE OR REPLACE TRIGGER AUDIT_EMPREGADO 
AFTER DELETE OR UPDATE ON EMPREGADO 
FOR EACH ROW 
DECLARE 
OPERACAO VARCHAR2(3); 
 
BEGIN 
IF DELETING 
 THEN OPERACAO:='DEL'; 
 ELSE OPERACAO:='UPD'; 
END IF; 
 
 
INSERT INTO EMPREGADO_JN VALUES(OPERACAO,USER,SYSDATE, 
:OLD.CPF,:OLD.NUM_DEPARTAMENTO, :OLD.NOME,:OLD.DATA_NASCIMENTO, 
:OLD.ENDERECO ,:OLD.SEXO ,:OLD.SALARIO ,:OLD.SUPERVISOR); 
END; 
/ 
 
 
2) Faça um trigger para manter a faixa salarial em valores mínimo e máximo já 
estabelecidos anteriormente 
 
CREATE OR REPLACE TRIGGER CHECASAL 
BEFORE INSERT OR UPDATE OF SALARIO ON EMPREGADO 
FOR EACH ROW 
DECLARE 
SALMIN EMPREGADO.SALARIO%TYPE; 
SALMAX EMPREGADO.SALARIO%TYPE; 
 
BEGIN 
 SELECT MIN(SALARIO),MAX(SALARIO) 
Banco de Dados II 
George Hamilton 
 
2
 INTO SALMIN,SALMAX 
 FROM EMPREGADO; 
 IF :NEW.SALARIO < SALMIN OR :NEW.SALARIO>SALMAX THEN 
 RAISE_APPLICATION_ERROR(-20010,'SALARIO FORA DA FAIXA DOS SALARIOS 
MINIMO E MAXIMO PERMITIDOS'); 
 END IF; 
END; 
/ 
 
3) Faça um trigger para não permitir a diminuição ou o aumento superior a 50% dos 
salários dos empregados, emitindo uma mensagem de erro. 
 
CREATE OR REPLACE TRIGGER CHSAL 
BEFORE UPDATE OF SALARIO ON EMPREGADO 
FOR EACH ROW 
WHEN ((NEW.SALARIO<OLD.SALARIO) OR (NEW.SALARIO>OLD.SALARIO * 1.5)) 
BEGIN 
 RAISE_APPLICATION_ERROR(-20345,'NAO DIMINUA O SALARIO OU 
 AUMENTE MAIS DE 50%'); 
END; 
/ 
 
 
4) Faça um trigger para derivar automaticamente o valor do número de empregados em um 
determinado departamento. 
 
CREATE OR REPLACE TRIGGER COMPTNUM 
AFTER INSERT OR DELETE ON EMPREGADO 
FOR EACH ROW 
BEGIN 
 IF DELETING 
 THEN 
 UPDATE DEPARTAMENTO 
 SET NUMEMP=NUMEMP-1 
 WHERE Num_Departamento=:OLD.Num_Departamento; 
 
 END IF; 
 
 IF INSERTING 
 THEN 
 UPDATE DEPARTAMENTO 
 SET NUMEMP=NUMEMP+1 
 WHERE Num_Departamento=:NEW.Num_Departamento; 
 END IF; 
 
END; 
/ 
 
 
5) Faça um trigger para manter o mínimo de 10 horas que um funcionário deverá trabalhar 
em um projeto. 
 
CREATE OR REPLACE TRIGGER CKHORA 
AFTER INSERT OR UPDATE OF HORAS ON TRABALHO 
FOR EACH ROW 
Banco de Dados II 
George Hamilton 
 
3
BEGIN 
 IF :NEW.HORAS < 10 
 THEN 
 UPDATE TRABALHO 
 SET HORAS=10 
 WHERE CPF_EMPR=:NEW.CPF_EMPR 
 AND NUM_PROJETO=:NEW.NUM_PROJETO; 
 END IF; 
END; 
/ 
 
6) Faça um trigger para exclusão em cascata de empregado, suas alocações em trabalhos de 
projetos e de seus dependentes. 
 
CREATE OR REPLACE TRIGGER DELCASEMP 
AFTER DELETE ON EMPREGADO 
FOR EACH ROW 
WHEN (OLD.SUPERVISOR IS NULL) 
BEGIN 
 
 /* DELECAO CASCATA DE TRABALHO */ 
 DELETE FROM TRABALHO 
 WHERE 
 TRABALHO.CPF_EMPR = :OLD.CPF; 
 
 
 /* DELECAO CASCATA DE DEPENDENTE */ 
 DELETE FROM DEPENDENTE 
 WHERE 
 DEPENDENTE.CPF_EMPR = :OLD.CPF; 
 
END; 
/ 
 
7) Faça um trigger de segurança, para restringir o horário de manipulação da tabela de 
empregados entre às 08:00 e 18:00 horas dos dias úteis. 
 
CREATE OR REPLACE TRIGGER EMPSEG 
BEFORE DELETE OR INSERT OR UPDATE ON EMPREGADO 
BEGIN 
 IF(TO_CHAR(SYSDATE,'DY') IN ('SAT','SUN')) 
 OR (TO_NUMBER(SYSDATE,'HH24') NOT BETWEEN 8 AND 18) 
 THEN 
 IF DELETING THEN 
 RAISE_APPLICATION_ERROR(-20503,'EMPREGADO SO PODE SER EXCLUIDO 
 DURANTE HORARIO NORMAL'); 
 
 ELSIF INSERTING THEN 
 RAISE_APPLICATION_ERROR(-20504,' EMPREGADO SO PODE SER INSERIDO 
 DURANTE HORARIO NORMAL'); 
 
 ELSIF UPDATING ('SALARIO') THEN 
 RAISE_APPLICATION_ERROR(-20505,'SALARIO DO EMPREGADO SO PODE SER 
 ATUALIZADO DURANTE HORARIO NORMAL'); 
 
Banco de Dados II 
George Hamilton 
 
4
 ELSE 
 /* ATUALIZACOES GERAIS */ 
 
 RAISE_APPLICATION_ERROR(-20506,'O EMPREGADO SO PODE SER 
 ATUALIZADO DURANTE HORARIO NORMAL'); 
 END IF; 
 
 
 END IF; 
END; 
/ 
 
8) Faça uma procedure para atualizar o salário de um empregado. 
 
CREATE OR REPLACE PROCEDURE ATUALIZA_SAL 
(V_CPF IN EMPREGADO.CPF%TYPE, 
 V_NOVO_SALARIO IN EMPREGADO.SALARIO%TYPE) 
IS 
BEGIN 
 UPDATE EMPREGADO 
 SET SALARIO = V_NOVO_SALARIO 
 WHERE CPF = V_CPF; 
 COMMIT; 
END ATUALIZA _SAL; 
/ 
 
9) Faça uma procedure para excluir registros da tabela empregados, informando a 
quantidade excluída. 
 
CREATE OR REPLACE PROCEDURE EXCLUI_REGISTRO 
 (V_CPF IN EMPREGADO.CPF%TYPE, 
 V_REG_EXC OUT VARCHAR2) 
IS 
BEGIN 
 DELETE FROM EMPREGADO 
 WHERE CPF = V_CPF; 
 V_REG_EXC:= TO_CHAR(SQL%ROWCOUNT)||' registros excluídos.'; 
END EXCLUI_REGISTRO; 
/ 
 
 
10) Faça uma procedure para atualizar o nome do departamento 
 
 
CREATE OR REPLACE PROCEDURE ATUALIZA_NOMEDEP 
 (V_DEP_ID DEPARTAMENTO.NUM_DEPARTAMENTO%TYPE, 
 V_NOME VARCHAR2) 
IS 
BEGIN 
 UPDATE DEPARTAMENTO 
 SET NOME =V_NOME 
 WHERE NUM_DEPARTAMENTO = V_DEP_ID; 
 COMMIT; 
END ATUALIZA_NOMEDEP; 
BrunoRoberto
Destacar
BrunoRoberto
Destacar
BrunoRoberto
Destacar
BrunoRoberto
Destacar
BrunoRoberto
Destacar
BrunoRoberto
Destacar
CONFIGURAR TELA: 
OPCOES > AMBIENTE > LINESIZE = 200 
 
PK: nao nula e unica 
CK: candidata a *compor* uma PK 
AK: todas as que nao sao a PK 
FK: referencia a uma PK de outra tabela 
PK pode ser um conjunto de mais de uma CK 
 
 
SELECT EMPNO, SAL, COMM, SAL+COMM AS VENC FROM EMP; (nessa query os nulos não darão resultado) 
 
SELECT EMPNO, SAL, COMM, SAL+NVL(COMM,0) AS TOTAL FROM EMP; (trata os nulos) 
 
 
COALESCE: retorna o primeiro valor não nulo de um conjunto de atributos 
DECODE e CASE: tipo IF 
 
exemplo: 
SELECT EMPNO, ENAME, DECODE(DEPTNO, 10, SAL*1.1, 20, SAL*1.2, SAL*1.4) PREVISAO FROM EMP; 
 
A MESMA QUERY USANDO O UNION 
 
SELECT EMPNO,ENAME, 
SAL*1.1 PREVISAO 
FROM EMP 
WHERE DEPTNO=10 
UNION 
SELECT EMPNO,ENAME, 
SAL*1.2PREVISAO 
FROM EMP 
WHERE DEPTNO=20 
UNION 
SELECT EMPNO,ENAME, 
SAL*1.2 PREVISAO 
FROM EMP 
WHERE DEPTNO NOT IN (10,20) 
 
 
 
Restrições de integridade referencial = Primary Key , FOREIGN KEY, Unique, Not null, Check (vai cair na prova) 
 
Ações de integridade referencial = restrict, set to null, set to default, delete cascade 
 
Numa procedure o usuario executa a procedure mas não pode executar o delete. 
 
A procedure é uma regra de negocio associada a liguagem de programação usada. 
 
Trigger de banco de dados = Regra de negocio inteligente que é implementada no Banco de Dados. 
 
A procedure é chamada, e o trigger é disparado automaticamente quando acontece algum evento na tabela. 
 
Trigger - gatilho, executa ação automaticamente triggado por um evendo (ECA) 
Função - Rotina que retorna valor 
Procedure - Rotina que não retorna valor 
 
 
CREATE TABLE livroXX( 
codigo varchar2(3), 
nome varchar2(40), 
tipo varchar2(2), 
valor number, 
PRIMARY KEY (codigo)); 
 
 
 
 
INSERT INTO livroXX VALUES( 
'L01', 'Matemática Pura', 'Ex', 100); 
 
 
 
 
SELECT * FROM livroXX; 
 
 
 
---------- 
-- criar procedure de inserção de livros 
---------- 
 
CREATE OR REPLACE PROCEDURE insere_livroXX (pcodigo IN livroXX.codigo%type, pnome IN livroXX.nome%type, 
ptipo IN livroXX.tipo%type, pvalor IN livroXX.valor%type) 
 
IS 
BEGIN 
 INSERT INTO livroXX VALUES (pcodigo, pnome, ptipo, pvalor); 
COMMIT; 
END insere_livroXX; 
/ 
 
 
---------- 
-- executar a procedure passando parametros pra inserir um livro novo 
---------- 
 
EXEC insere_livroXX ('L02','Física Pura','EX',120); 
EXEC insere_livroXX ('L03','Física Nuclear','Ex',120); 
 
 
 
---------- 
-- criar procedure de alteracao do valor do livre 
---------- 
 
CREATE OR REPLACE PROCEDURE altera_valor_livroXX(pcodigo IN livroXX.codigo%type, pvalor IN livroXX.valor%type) 
IS 
BEGIN 
 UPDATE livroXX 
 SET valor=pvalor 
 WHERE codigo=pcodigo; 
 
 -- gerar erro se codigo nao encontrado 
 IF SQL%NOTFOUND THEN 
 RAISE_APPLICATION_ERROR(-20100,'Livro Não Encontrado!'); 
 END IF; 
END altera_valor_livroXX; 
/ 
 
 
---------- 
-- executar a procedure pra alterar o valor do livro pra R$199 
---------- 
EXEC altera_valor_livroXX('L01', 199); 
 
 
 
CREATE OR REPLACE PROCEDURE exclui_livroXX(pcodigo in livroXX.codigo%type) 
IS 
BEGIN 
 DELETE livroXX WHERE codigo=pcodigo; 
 
 IF SQL%NOTFOUND THEN 
 RAISE_APPLICATION_ERROR(-20100,'Livro Não Encontrado!'); 
 END IF; 
END exclui_livroXX; 
/ 
 
 
---------- 
-- pra deletar um livro 
---------- 
 
EXEC exclui_livroXX('L01'); 
 
 
 
---------- 
-- agora uma função, pra pegar o valor R$ do livro... tem q usar função pra retornar algum valor "na tela" 
---------- 
CREATE OR REPLACE FUNCTION get_valor(pcodigo IN livroXX.codigo%type) 
RETURN NUMBER 
IS 
v_valor livroXX.valor%type; 
BEGIN 
 SELECT valor INTO v_valor FROM livroXX 
 WHERE codigo=pcodigo; 
 
 IF SQL%NOTFOUND THEN 
 RAISE_APPLICATION_ERROR('-20100', 'Livro Não Encontrado!'); 
 END IF; 
 RETURN v_valor; 
END get_valor; 
/ 
 
---------- 
-- pra chamar uma função tem q usar a sintaxe abaixo 
---------- 
SELECT get_valor('L02') FROM DUAL; 
-- dual é uma tabela interna do oracle 
 
--------- 
-- outro exemplo, passando outros parametros... 
-- agora vamos selecionar o valor de todos os livros de um determinado tipo 
--------- 
CREATE OR REPLACE FUNCTION get_valor_por_tipo(ptipo IN livroXX.tipo%type) 
RETURN NUMBER 
IS 
v_valor livroXX.valor%type; 
BEGIN 
 SELECT valor INTO v_valor FROM livroXX 
 WHERE tipo=ptipo; 
 
 IF SQL%NOTFOUND THEN 
 RAISE_APPLICATION_ERROR('-20100', 'Tipo Não Encontrado!'); 
 END IF; 
 RETURN v_valor; 
END get_valor_por_tipo; 
/ 
---------- 
SELECT get_valor_por_tipo('Ex') FROM DUAL; 
 
 
 
Revisão av1 
 
PROVA COM CONSULTA. IMPRIMIR TUDO 
3 A 4 PONTOS QUESTOES DE SQL 
O RESTO PROCEDURE, FUNCAO E TEORIA 
 
 
SQL> DESC EMP; 
 Nome Nulo? Tipo 
 ----------------------------------------- -------- ---------------- 
 EMPNO NOT NULL NUMBER(4) 
 ENAME VARCHAR2(100) 
 JOB VARCHAR2(9) 
 MGR NUMBER(4) 
 HIREDATE DATE 
 SAL NUMBER(7,2) 
 COMM NUMBER(7,2) 
 DEPTNO NUMBER(2) 
 
SQL> DESC DEPT 
 Nome Nulo? Tipo 
 ----------------------------------------- -------- ---------------- 
 DEPTNO NOT NULL NUMBER(2) 
 DNAME VARCHAR2(14) 
 LOC VARCHAR2(13) 
 
 
 
1 - Selecionar matricula, nome dos empregados que não possuam gerente 
2 - Selecionar matricula, nome dos empregados, nome do depto, daqueles que trabalham em dptos que possuam 
mais do que 3 empregados. 
3 - Selecionar nome do empregado, nome do dpto, daqueles que possuam o mesmo gerente que o empregado 
'BLAKE' 
4 - Selecionar nome de cada dpto, sua media salarial, daqueles que possuam mais do que 4 empregados 
5 - Selecionar nome do dpto que nao possui empregados 
6 - Selecionar nome dos emp, e o nome do seu gerente 
7 - Selecionar nome dos emp que ganham abaixo da media salarial 
8 - Selecionar nome dos emp que ganham abaixo da media salarial do seu dpto 
 
################ ATENCAO, EM SELECTs COMPOSTAS, PENSAR SEMPRE DA DIREITA PRA ESQUERDA 
################### 
 
Resp: 
1 
SELECT EMPNO, ENAME FROM EMP WHERE MGR IS NULL; 
 
2 
SELECT EMPNO, ENAME, DNAME FROM EMP LEFT JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO WHERE EMP.DEPTNO 
IN 
(SELECT DEPTNO FROM EMP GROUP BY DEPTNO HAVING COUNT(*) > 3); 
 
OUTRA RESP: 
SELECT E.EMPNO, E.ENAME, D.DNAME FROM EMP E, DEPT D WHERE D.DEPTNO=E.DEPTNO 
AND E.DEPTNO IN (SELECT DEPTNO FROM EMP GROUP BY DEPTNO HAVING COUNT(*) > 3); 
 
 
3 
SELECT E.ENAME, D.DNAME FROM EMP E, DEPT D WHERE E.DEPTNO=D.DEPTNO AND E.MGR= 
(SELECT E.MGR FROM EMP E WHERE E.ENAME='BLAKE') AND E.ENAME<>'BLAKE'; 
 
 
4 
SELECT D.DNAME, AVG(E.SAL) FROM EMP E, DEPT D WHERE E.DEPTNO=D.DEPTNO GROUP BY D.DNAME HAVING 
COUNT(DEPTNO)>4; 
 
 
5 
SELECT DNAME FROM DEPT WHERE DEPTNO NOT IN (SELECT DISTINCT DEPTNO FROM EMP); 
 
 
6 
SELECT E.ENAME AS EMPREGADO, M.ENAME AS GERENTE FROM EMP E, EMP M WHERE E.MGR=M.EMPNO; 
 
7 
SELECT E.ENAME, E.SAL FROM EMP E WHERE SAL<(SELECT AVG(SAL) FROM EMP); 
 
8 
SELECT E.ENAME, E.SAL FROM EMP E WHERE SAL<(SELECT AVG(SAL) FROM EMP WHERE DEPTNO=E.DEPTNO); 
 
 
 
Integridade Referencial: 
É a garantia que a referência de uma tabela com a outra está sendo respeitada. A integridade referencial pode ser 
estabelecida através da relação entre uma PK ou UK com uma FK. 
 
 
 
VAI CAIR NA PROVAVAI CAIR NA PROVAVAI CAIR NA PROVAVAI CAIR NA PROVA 
2BD2.PPT slides 15 e 16, 17 e 182BD2.PPT slides 15 e 16, 17 e 182BD2.PPT slides 15 e 16, 17 e 182BD2.PPT slides 15 e 16, 17 e 18 
 
 
slide 33. atomicidade: é unica.. se mais de um executar o comando ao mesmo tempo (nunca é ao mesmo tempo) 
vale quem der commit primeiro 
 
consistencia: se um usuario modificar registros, outro usuario só verá (select) essa modificação se o primeiro der 
commit 
 
durabilidade: os dados permanecem intactos enquanto o usuário estiver trabalhando naquela sessão 
 
isolamento 
 
serializabilidade 
 
 
 
USUARIOS E PERFIS 
 
CREATE USER Aluno1 IDENTIFIED BY Aluno1; 
GRANT CONNECT, RESOURCE TO Aluno1; 
 
CONNECT é um perfil (conectar no banco) 
RESOURCE é um perfil (criar tabelas) 
XPTO seria um perfil com privilegios especificos para uma determinada SCHEMAEstudar INDICES 
O que é Indice Primário e Indice Secundario (SLIDE 43) 
 
Visualizar indices de uma determinada tabela: 
SELECT INDEX_NAME FROM USER_INDEXES WHERE TABLE_NAME='XPTO06' 
 
 
 
 
AV2: 
 2,5 - triggers pl/sql 
 2,5 - SQL (vai cair decode, case, etc) 
 5,0 - Teoria 
 SGBD, transacoes, indices, etc 
 
 
AV3: 
 PL/SQL - trigger, procedure, funcao 3,5 
 SQL - +- 3,5 
 teoria - 3,0 
 
 
PROVAS COM CONSULTA 
 
 
Nome do(a) aluno(a):________________________________________________ Data: /09/2014 
Matrícula:_________________________________________ 
Disciplina: CCT0083 – IMPLEMENTAÇÃO DE BANCO DE DADOS. Leia com atenção as questões antes de 
responder. As questões devem ser respondidas somente à caneta azul ou preta, na folha de 
respostas. As questões da prova totalizam 10 pontos. Será observada uma tolerância máxima de 
30 minutos para a entrada dos alunos. Neste intervalo nenhum aluno poderá deixar a sala. 
Terminando a prova, o aluno deverá entregar ao professor a folha de questões e a folha de 
respostas, devidamente identificadas. α - Boa prova. SIMULADO DE AV1 
 
Leia o Texto abaixo com atenção! 
O famoso pesquisador e Doutor Joseph Morgan, um dos maiores especialistas em estudo de 
primatas, esteve no Brasil na última semana, apresentando uma palestra. Nela, ele revelou detalhes da 
pesquisa de chimpanzés que vem realizando juntamente com sua equipe. Para realizá-la a equipe dividiu os 
chimpanzés em diversos grupos e cada pesquisador é responsável por gerenciar um ou mais grupos. Um 
modelo de dados lógico foi gerado e um banco de dados para armazenar dados do projeto de pesquisa foi 
criado dentro do SGBD ORACLE utilizando-se o modelo relacional. 
A próxima fase da pesquisa tem por objetivo estudar o comportamento social dos macacos desta 
espécie procurando correlacionar características físicas, como o peso e a altura com o grau de sociabilidade 
de cada indivíduo, dentre outros aspectos. Ao final da palestra, o Doutor Joseph Morgan agradeceu ao IPPSM 
(Instituto de Pesquisas em Primatas Silos Moraes) pelo financiamento de sua pesquisa. 
Segue abaixo uma figura representando o modelo lógico gerado: 
 
 
Resolva as seguintes questões: 
1) (1,0) Os atributos MatPesq, codGrupo e 
idChim possuem, em suas respectivas tabelas 
de origem, as seguintes características de 
integridade referencial (assinale a alternativa 
correta): 
 
a) São chaves primárias, não sendo nem 
obrigatórias e nem únicas 
b) São chaves primárias e estrangeiras, não sendo 
nem obrigatórias e nem únicas 
c) São chaves primárias e obrigatórias, mas não 
necessariamente únicas 
d) São chaves primárias, obrigatórias e únicas 
e) São apenas chaves primárias e únicas, não 
sendo obrigatórias 
 
2) (1,0) Assinale a alternativa correta abaixo que 
seleciona corretamente os dados de todos os 
Chimpanzés que possuem nome iniciando com 
a letra “B”: 
 
a) SELECT * FROM CHIMPANZE WHERE 
nomeChim like “B*”; 
b) SELECT * FROM CHIMPANZE WHERE 
nomeChim = 'B%'; 
c) SELECT * FROM CHIMPANZE WHERE 
nomeChim = “B*”; 
d) SELECT * FROM CHIMPANZE WHERE 
nomeChim like 'B*'; 
e) SELECT * FROM CHIMPANZE WHERE 
nomeChim like 'B%'; 
 
3) (1,0) Assinale a alternativa abaixo que 
renomeia corretamente o atributo IMC para 
IndMassaCorporal: 
 
a) ALTER TABLE PESQUISADOR CHANGE IMC 
IndMassaCorporal; 
b) ALTER TABLE CHIMPANZE CHANGE COLUMN 
IMC to IndMassaCorporal; 
c) ALTER TABLE CHIMPANZE RENAME COLUMN 
IMC to IndMassaCorporal; 
d) ALTER TABLE CHIMPANZE RENAME IMC to 
IndMassaCorporal; 
e) ALTER TABLE GRUPO RENAME COLUMN IMC 
to IndMassaCorporal; 
 
SELECT * FROM PESQUISADOR WHERE titul = 'Doutor'; 
4) Analise a instrução acima e marque a 
alternativa correta abaixo: 
 
a) A instrução não indica nem uma restrição e 
nem uma projeção. 
b) A instrução é um exemplo de projeção 
c) A instrução é um exemplo de projeção 
seguida de uma seleção 
d) A instrução é um exemplo de seleção 
seguida de uma projeção 
e) A instrução é um exemplo de restrição 
 
5) (2,0) Crie uma sequência de cláusulas em SQL 
necessárias para criar a tabela Grupo sabendo-
se que todos os atributos desta tabela são 
obrigatórios. 
Após uma reunião com o Doutor Joseph 
Morgan e sua principal assistente Charlene Foster 
ficou decidido que o armazenamento do atributo 
IndMassaCorporal é desnecessário, pois não existe 
um grande volume de dados e o valor deste índice 
pode ser calculado por meio da fórmula abaixo: 
 
Com base nestes dados informados, resolva as 
duas próximas questões: 
6) (1,0) Crie uma sequencia de cláusulas em SQL 
necessárias para remover a coluna 
IndMassaCorporal de sua tabela de origem. 
 
7) (1,0) Crie uma consulta que permita exibir o 
nome dos chimpanzés com o apelido 
Chimpanzé e o valor do Índice de Massa 
Corporal com o nome IMC como resultado do 
cálculo dos atributos peso e altura. 
 
8) (2,0) Faça uma consulta que resulte entre uma 
lista de chimpanzés cujo pesquisador 
responsável chama-se Suzane. O resultado 
desejado seria igual ao da figura abaixo: 
 
 
 
 
 
Nome do(a) aluno(a):________________________________________________ Data: /09/2014 
 
Matrícula:_________________________________________ 
Disciplina: CCT0083 – IMPLEMENTAÇÃO DE BANCO DE DADOS. α - Boa prova! SIMULADO DE AV1 
 
ATENÇÃO! A PROVA DEVE SER RESPONDIDA NESTA PÁGINA. A FOLHA DE RESPOSTA PADRÃO DA 
INSTITUIÇÃO DEVERÁ SER UTILIZADA APENAS COMO RASCUNHO! 
Escreva no quadro abaixo cada letra assinalada nas questões de 1 a 4. Atenção, pois a correção será realizada 
por aqui. Não serão aceitos rasuras, respostas a lápis ou uso de corretor líquido. Tenha bastante atenção! 
Questão 1 2 3 4 
Letra 
assinalada D E C E 
Para uso do 
Professor D E C E 
Questão 5 (2,0) 
 CREATE TABLE Grupo ( 
codGrupo NUMBER(3) PRIMARY KEY, 
MatPesq NUMBER (5) REFERENCES Pesquisador NOT NULL, 
nomeGrupo VARCHAR2(30) NOT NULL, 
Caracteristicas VARCHAR2 (50) NOT NULL 
); 
Questão 6 (1,0) 
 ALTER TABLE CHIMPANZE DROP COLUMN IndMassaCorporal; 
Questão 7 (1,0) 
 SELECT NOMECHIM "Chimpanzé", peso / altura * altura IMC 
FROM CHIMPANZE; 
Questão 8 (2,0) 
SELECT NOMEPESQ PESQUISADOR, NOMECHIM "CHIMPANZÉ" 
FROM PESQUISADOR P, GRUPO G, CHIMPANZE C 
WHERE P.MATPESQ = G.MATPESQ AND 
G.CODGRUPO = C.CODGRUPO AND 
NOMEPESQ = 'Suzane';

Mais conteúdos dessa disciplina