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';