Buscar

2- IMPLEMENTAÇÃO DE BANCO DE DADOS

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

IMPLEMENTAÇÃO DE BANCO DE DADOS
	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:
		
	
	A primeira afirmação é falsa e a segunda é verdadeira.
	
	As duas afirmações são verdadeiras e primeira justifica a segunda.
	
	As duas afirmações são verdadeiras e primeira não justifica a segunda
	
	As duas afirmações são falsas.
	
	A primeira afirmação é verdadeira e a segunda é falsa.
	
	
	 
	
	 2a Questão 
	
	
	
	
	É responsável por garantir a Integridade Referencial:
		
	
	Chave Estrangeira
	
	Chave Secundária
	
	Chave Candidata
	
	Chave de Atributo
	
	Chave Primária
	
	
	 
	
	 3a Questão 
	
	
	
	
	Analise as afirmações a seguir, relativas ao conceito de chave primária:
  i. Pode ser composta por um ou vários atributos.
  ii. Não admite duplicidade de valores, exceto no caso de valores nulos.
  iii. Deve ser definida durante a construção do modelo de E-R.
Marque a alternativa correta (apenas uma opção)
		
	
	 As afirmações II e III são falsas.
	
	As afirmações I e II são falsas.
	
	 Todas as afirmações  são verdadeiras.
	
	Apenas as afirmações I e III são verdadeiras.
 
	
	Apenas as afirmações II e III são verdadeiras.
	
	
	Gabarito
Coment.
	
	 
	
	 4a Questão 
	
	
	
	
	O entendimento dos modelos de banco de dados é fundamental para compreender as vantagens e desvantagens em aspectos de estrutura e manipulação dos dados. Um destes modelos utiliza tabelas bidimensionais para o armazenamento dos dados e a maneira como os dados são armazenados influencia na facilidade de acesso às informações, existindo técnicas de normalização para aperfeiçoar a organização. Trata-se do modelo 
		
	
	orientado a objetos.
	
	relacional. 
	
	em rede
	
	distribuído.
	
	hierárquico
	
	
	Gabarito
Coment.
	
	 
	
	 5a Questão 
	
	
	
	
	Em banco de dados, todo método de controle de concorrência deve evitar anomalias de sincronização. Essas anomalias estão relacionadas a: 
I - perda da consistência do banco.
II - acesso via ODBC.
III - acesso a dados inconsistentes.
IV - consulta recursiva.
V - perda de atualizações.
Estão certos apenas os itens
		
	
	II, III e IV.
	
	I, III e V.
	
	II, III e V.
	
	I, IV e V.
	
	I, II e IV.
	
	
	 
	
	 6a Questão 
	
	
	
	
	(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:
		
	
	Redundância de dados.
	
	Replicação de dados.
	
	Consistência de dados.
	
	Dependência de dados.
	
	Integridade de dados.
	
	
	 
	
	 7a Questão 
	
	
	
	
	Os conceitos de banco de dados relacional refletem o nível de abstração dos dados. Desta forma, marque a alternativa que se refere à instância da entidade.
		
	
	Pode ser modificado com o uso dos comandos DDL.
	
	Pode ser considerado como o resultado da aplicação do SELECT.
	
	É o conjunto de opções de preenchimento do atributo.
	
	Toda entidade deve possui chave primária.
	
	Uma chave estrangeira é sempre uma chave primária em outra tabela.
	
	
	 
	
	 8a Questão 
	
	
	
	
	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.
	
	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 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
	
	Esta não é uma consulta válida
	
	Nome, sexo, salário e depto de todos os empregados que ganham menos que 5000
	
	Nome, sexo, salário e depto de todos os empregados homens que ganham 5000
	
	
	Gabarito
Coment.
	
	
	Gabarito
Coment.
	
	 
	
	 2a Questão 
	
	
	
	
	Admitindo as relações abaixo especificadas, marque a alternativa que representa a consulta em álgebra relacional que responde corretamente a seguinte pergunta: quais os nomes dos alunos e seus respectivos cursos?
Alunos(matricula, nome, endereco, cpf, cod_curso)
Cursos(codigo, nome_curso)
		
	
	ᴨnome, nome_curso(σcod_curso=codigo (Alunos X Cursos))
	
	ᴨnome, nome_curso(σmatricula=codigo (Alunos X Cursos))
	
	ᴨnome, nome_curso(σcod_curso=codigo (Alunos))
	
	σnome, nome_curso(ᴨcod_curso=codigo (Alunos X Cursos))
	
	ᴨnome, nome_curso(Alunos X Cursos)
	
	
	Gabarito
Coment.
	
	 
	
	 3a Questão 
	
	
	
	
	A operação da álgebra relacional que recupera linhas em uma tabela é denominada:
		
	
	Seleção
	
	Diferença
	
	Projeção
	
	Junção
	
	Produto cartesiano
	
	
	Gabarito
Coment.
	
	
	Gabarito
Coment.
	
	 
	
	 4a Questão 
	
	
	
	
	Considere a relação:
FILME (nome, diretor, tempoduracao, genero, ano)
A consulta em álgebra relacional que retorna o nome e o ano de todos os filmes de ação com tempo de duração entre 120 e 180 minutos.
 
 
 
		
	
	  nome, ano ((genero = "ação" AND tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) 
 
	
	 nome, ano ((genero = "ação" AND tempoduracao >= 120 OR tempoduracao <= 180) (FILME) ) 
	
	 nome, ano ((genero = "ação" AND tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) 
	
	 nome, ano ((genero = "ação" OR tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) 
	
	 nome, ano ((genero = "ação" AND tempoduracao = 120) (FILME) ) 
	
	
	Gabarito
Coment.
	
	 
	
	 5a Questão 
	
	
	
	
	Uma linguagem de consulta procedural, onde o objetivo fundamental é permitir a escrita de expressões relacionais é denominada de álgebra relacional. Com suas operações fundamentais é possível exprimir qualquer consulta nesta linguagem. Sendo assim, para apresentar os dados de acordo com a tabela abaixo, marque a alternativa correta que descreve a álgebra a ser utilizada.
	Produto.Nome
	Produto.Qualidade
	Estoque.Qtde
	Laranja
	1
	100
	Laranja
	2
	150
	Uva
	1
	200
	Uva
	2
	130
	Trigo
	2
	240
	Pêssego
	1
	260
	Pêssego
	2
	190
		
	
	πNome, Qualidade, Qtde
	
	πNome, Qualidade, Qtde(σProduto.Cod_Prod = Estoque.Cod_Prod(Produto X Estoque))
	
	πNome, Qualidade, Qtde(σProduto.Cod_Prod = Estoque.Cod_Prod)
	
	σProduto.Cod_Prod = Estoque.Cod_Prod(πNome, Qualidade, Qtde)
	
	σProduto.Cod_Prod = Estoque.Cod_Prod(Produto X Estoque)
	
	
	Gabarito
Coment.
	
	 
	
	 6a Questão 
	
	
	
	
	Em relação a álgebra linear é correto afirmar que: 
     I - A operação de projeção é aplicada sobre apenas uma relação visando selecionar um subconjunto de tuplas (com todos os seus atributos).
     II  O produto cartesiano é uma operação binária que combina todas as tuplas de duas tabelas. 
     III - A operação de seleção é aplicada sobre apenas uma
relação de visando projetar os atributos de uma relação de acordo com uma lista de atributos oferecida. 
Estão corretas: 
		
	
	Somente I
	
	Somente a II
	
	I e III
	
	Somente III
	
	II e III
	
	
	Gabarito
Coment.
	
	 
	
	 7a Questão 
	
	
	
	
	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:
		
	
	 matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula  (nomedisciplina = "Implementação de Bancos de Dados" (DISCIPLINA)) 
	
	 matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (MINISTRAcodigo = ⋈codigodisciplina (DISCIPLINA))) 
	
	 matriculaprf, nomeprf (PROFESSORmatriculaprf = ⋈matricula MINISTRA)
	
	Não existe consulta que responda a esta questão.
	
	 
	
	
	Gabarito
Coment.
	
	 
	
	 8a Questão 
	
	
	
	
	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 E id_Depto = 10 E Salario > 2000 (Empregado) 
	
	 ID = 102 OU id_Depto = OU E Salario > 2000 (Empregado)
	
	 ID > 102 OU id_Depto = 10 E Salario > 2000 (Empregado)
	Partindo da tabela a seguir, considerando que a mesma já foi criada de acordo com essa ordem de atributos, como ficaria o comando SQL para aumentar em 10% o valor unitário de cada produto?
		
	
	UPDATE X_PROD SET VALOR_UNIT = VALOR_UNIT + VALOR_UNIT * 10 /100;
	
	UPDATE X_PROD SET VALOR_UNIT + 10 /100;
	
	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 = VALOR_UNIT + 10 /100;
	
	
	Gabarito
Coment.
	
	 
	
	 2a Questão 
	
	
	
	
	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 WHERE nome LIKE 'G%'.
	
	DELETE FROM Aluno WHERE nome LIKE 'M%'.
	
	DELETE FROM Aluno WHERE nome SUCH '%M'.
	
	DELETE FROM Aluno
	
	
	Gabarito
Coment.
	
	 
	
	 3a Questão 
	
	
	
	
	Dado o seguinte requisito funcional: 
É necessário cadastrar a matrícula, o nome e o curso dos alunos, e sabendo que um aluno pode fazer mais de um curso e um curso ter mais de um aluno. 
Qual das questões representa a normalização correta de um banco de dados relacional?
		
	
	CREATE TABLE CURSOS (CODIGO INTEGER, DESCRICAO VARCHAR(100), PRIMARY KEY (CODIGO)); 
CREATE TABLE ALUNOS (MATRICULA INTEGER, NOME VARCHAR(100), PRIMARY KEY (MATRICULA)); 
CREATE TABLE INSCRICAO (ALUNO INTEGER, CURSO INTEGER, PRIMARY KEY (ALUNO,CURSO), 
FOREIGN KEY (ALUNO) REFERENCES ALUNOS (MATRICULA), FOREIGN KEY (CURSO) REFERENCES CURSOS (CODIGO)); 
	
	CREATE TABLE CURSOS (CODIGO INTEGER, DESCRICAO VARCHAR(100), PRIMARY KEY (CODIGO)); 
CREATE TABLE ALUNOS (MATRICULA INTEGER, NOME VARCHAR(100), CURSO INTEGER, PRIMARY KEY (MATRICULA), FOREIGN KEY (CURSO) REFERENCES CURSOS (CODIGO));
	
	CREATE TABLE CURSOS (CODIGO INTEGER, DESCRICAO VARCHAR(100), PRIMARY KEY (CODIGO)); 
CREATE TABLE ALUNOS (MATRICULA INTEGER, NOME VARCHAR(100), PRIMARY KEY (MATRICULA)); 
CREATE TABLE INSCRICAO (ALUNO INTEGER, CURSO INTEGER, PRIMARY KEY (ALUNO,CURSO));
	
	CREATE TABLE ALUNOS (MATRICULA INTEGER, NOME VARCHAR(100), CURSOS VARCHAR(50), PRIMARY KEY (MATRICULA));
	
	CREATE TABLE CURSOS (CODIGO INTEGER, DESCRICAO VARCHAR(100), PRIMARY KEY (CODIGO)); 
CREATE TABLE ALUNOS (MATRICULA INTEGER, NOME VARCHAR(100), CURSO INTEGER, PRIMARY KEY (MATRICULA));
	
	
	Gabarito
Coment.
	
	 
	
	 4a Questão 
	
	
	
	
	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 ( TV Led 40 polegadas, 20, 400, 3000);
	
	INSERT INTO X_PROD VALUES (20, TV Led 40 polegadas, 400, 3000);
	
	
	Gabarito
Coment.
	
	
	Gabarito
Coment.
	
	 
	
	 5a Questão 
	
	
	
	
	A linguagem SQL pode ter vários enfoques, EXCETO:
		
	
	Linguagem interativa de consulta (query AdHoc)
 
	
	Linguagem de consulta em ambiente cliente/servidor 
	
	Linguagem para acesso às bases de dados 
	
	Linguagem de administração de banco de dados 
	
	Linguagem para a programação de sistemas de informação
	
	
	Gabarito
Coment.
	
	
	Gabarito
Coment.
	
	 
	
	 6a Questão 
	
	
	
	
	No Script SQL de criação da tabela pagamento aparece a palavra 'funcionario' 4 vezes. Sendo assim, é possível afirmar que se referem, respectivamente: 
 
		
	
	apelido, atributo, tabela, chave estrangeira 
	
	tupla, chave primária, apelido, chave estrangeira 
	
	atributo, apelido, campo, tabela 
	
	campo, atributo, apelido, tabela 
	
	coluna, tabela, apelido, chave primária 
	
	
	 
	
	 7a Questão 
	
	
	
	
	O comando SQL que apaga um tabela é:
 
		
	
	INSERT INTO
	
	REMOVE TABLE
	
	DROP TABLE
	
	UPDATE
	
	DELETE TABLE
	
	
	 
	
	 8a Questão 
	
	
	
	
	(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:
		
	
	Drop e Grant.
	
	Update e Drop.
	
	Delete e Update.
	
	Update e Grant.
	
	Grant e Delete.
	
	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);
	
	
	Gabarito
Coment.
	
	 
	
	 2a Questão 
	
	
	
	
	Observe a tabela R:
Qual será o resultado da consulta:
SELECT X FROM R WHERE Y is null;
		
	
	4 e null
	
	1 e 5
	
	1 e 4
	
	null e 5
	
	5
	
	
	 
	
	 3a Questão 
	
	
	
	
	Analise as seguintes instruções abaixo:
SELECT * FROM PAÍS;
SELECT NOMEPOPULAR FROM NOME;
SELECT * FROM CAPTURA WHERE TEMPAGUA < 25;
SELECT * FROM ESPÉCIE;
 
Nos comandos SELECT acima encontramos exemplos de:
		
	
	Duas projeções
e duas seleções.
	
	Uma seleção e uma projeção.
	
	Duas seleções e uma projeção.
	
	Duas projeções e duas restrições.
	
	Duas projeções e uma seleção.
	
	
	Gabarito
Coment.
	
	 
	
	 4a Questão 
	
	
	
	
	O operador que possibilita a seleção de uma faixa de valores sem a necessidade do uso dos operadores >=, <= e AND é: 
		
	
	LIKE
	
	BETWEEN
	
	GROUP BY
	
	IN
	
	HAVING
	
	
	 
	
	 5a Questão 
	
	
	
	
	Qual comando SQL é utilizado para obter um conjunto de dados em uma tabela em um banco de dados?
		
	
	INSERT
	
	GET
	
	SELECT
	
	JOIN
	
	UPDATE
	
	
	 
	
	 6a Questão 
	
	
	
	
	O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263
Características do esquema: Chave primária sublinhada e chave estrangeira em itálico.
Seguem algumas tabelas do Esquema:
 
Nome (IDNome, IDEspécie, NomePopular)
Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo)
Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua)
Local (IDLocal, CodArea, NomeLocal)
Area (CodArea, NomeArea)
 
Sabendo-se que a tabela nome contém nomes populares de tubarões e deseja-se listar o comprimento e o sexo de todos os tubarões que tem nome popular terminado com a letra k. Assinale a alternativa abaixo que retorna corretamente a consulta desejada:
		
	
	SELECT Comprimento, Sexo FROM Tubarão T, Espécie E, Nome N WHERE T.IDEspecie = E.IDEspecie AND N.IDEspécie = E.IDEspecie AND NomePopular like '%k';
	
	SELECT Comprimento, Sexo FROM Tubarão T, Espécie E, Nome N WHERE T.IDEspecie = N.IDEspécie AND NomePopular like '%k';
	
	SELECT Comprimento, Sexo FROM Tubarão T, Espécie E, Nome N WHERE T.IDEspecie = E.IDEspecie AND N.IDEspécie = E.IDEspecie AND UPPER (NomePopular) like '_k';
	
	SELECT Comprimento, Sexo FROM Tubarão T, Espécie E, Nome N WHERE T.IDEspecie = E.IDEspecie AND N.IDEspécie = E.IDEspecie AND UPPER (NomePopular) like '%k%';
	
	SELECT * FROM Tubarão T, Espécie E, Nome N WHERE T.IDEspecie = E.IDEspecie AND N.IDEspécie = E.IDEspecie AND NomePopular like '%k';
	
	
	 
	
	 7a Questão 
	
	
	
	
	Sobre a cláusula WHERE do comando SELECT, é correto afirmar que:
		
	
	Filtra as linhas a serem exibidas no resultado
	
	Filtra as colunas a serem exibidas no resultado
	
	É utilizado em todos os comandos SELECT
	
	Nunca pode ser utilizado com uma junção
	
	Especifica condição de ordenação
	
	
	 
	
	 8a Questão 
	
	
	
	
	Considere as seguintes tabelas de um banco de dados: - FORNECEDOR { for_codigo, for_nome, for_telefone, for_cidade, est_uf } - ESTADO { est_uf, est_nome } A instrução SQL que recupera os nomes dos estados para os quais não há fornecedores cadastrados é: 
		
	
	SELECT e.est_uf FROM estado AS e WHERE e.est_nome NOT IN ( SELECT f.est_uf FROM fornecedor AS f ); 
	
	SELECT e.est_nome FROM estado AS e WHERE e.est_uf IN ( select f.est_uf FROM fornecedor AS f ); 
	
	SELECT e.est_nome FROM estado AS e WHERE e.est_uf NOT IN ( SELECT f.est_uf FROM fornecedor AS f ); 
	
	SELECT e.est_nome FROM estado AS e, fornecedor AS f WHERE e.est_nome <> f.est_uf; 
	
	SELECT e.est_nome FROM estado AS e, FROM fornecedor AS f WHERE e.est_uf = f.est_uf; 
	
	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 * OVER PACIENTE ORDER BY NOME_PACIENTE;
	
	SELECT * OVER PACIENTE ASC NOME_PACIENTE;
	
	SELECT * FROM PACIENTE DESC NOME_PACIENTE;
	
	SELECT * FROM PACIENTE ASC NOME_PACIENTE;
	
	SELECT * FROM PACIENTE ORDER BY NOME_PACIENTE;
	
	
	Gabarito
Coment.
	
	 
	
	 2a Questão 
	
	
	
	
	Qual será o resultado da consulta SELECT COUNT(DISTINCT salario) FROM funcionario?
		
	
	6
	
	7
	
	8
	
	5
	
	9
	
	
	Gabarito
Coment.
	
	 
	
	 3a Questão 
	
	
	
	
	Na linguagem SQL, para totalizarmos os valores de uma coluna usamos o comando:
		
	
	SUM
	
	COUNT
	
	GROUP BY
	
	AVG
	
	EQUAL
	
	
	Gabarito
Coment.
	
	 
	
	 4a Questão 
	
	
	
	
	UM recurso do comando SELECT é a possibilidade de agruparmos nossos dados. Para isso usamos a cláusula:  
		
	
	GROUP BY
	
	SUM
	
	ORDER
	
	ORDER BY
	
	JOIN
	
	
	Gabarito
Coment.
	
	 
	
	 5a Questão 
	
	
	
	
	De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para:
Apresentar o maior salário pago aos Empregados Agrupados por Departamento, para os Departamentos (11, 21, 22, 31, 42, 51).
		
	
	SELECT MAX(SALARIO) FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 51) GROUP BY ID_DEPTO;
	
	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;
	
	
	Gabarito
Coment.
	
	 
	
	 6a Questão 
	
	
	
	
	Considere a seguinte consulta SQL: 
SELECT nome,  count(*)
FROM aluno
GROUP BY nome
Esta consulta tem como resultado.
		
	
	o atributo nome e o número de registros existentes para cada nome, na tabela nome.
	
	o atributo nome e o número de registros existentes para cada nome, da tabela aluno.
	
	todos os atributos das tabelas nome e aluno.
	
	o atributo nome e a soma do conteúdo do atributo nome, da tabela aluno.
	
	todos os atributos da tabela nome, além do atributo especial Count.
	
	
	Gabarito
Coment.
	
	 
	
	 7a Questão 
	
	
	
	
	Em SQL, para contar linhas usamos:
		
	
	SUM
	
	SELECT
	
	AVG
	
	GROUP BY
	
	COUNT
	
	
	 
	
	 8a Questão 
	
	
	
	
	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 é:
 
 
		
	
	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';
	
	Nenhuma das respostas acima
	
	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 = 
		IMPLEMENTAÇÃO DE BANCO DE DADOS
6a aula
		
	 
	Lupa
	 
	 
	
Vídeo 
	
PPT
	
MP3
	 
		Exercício: CCT0768_EX_A6_201401414761_V1 
	10/04/2019 (Finaliz.)
	Aluno(a): JOSE LEONARDO LOPES SENA 
	2019.1 EAD 
	Disciplina: CCT0768 - IMPLEMENTAÇÃO DE BANCO DE DADOS  
	201401414761
	
	 
	
	 1a Questão 
	
	
	
	
	São tipos de JOIN:
		
	
	Apenas o INNER JOIN.
	
	Apenas o INNER JOIN e o LEFT JOIN.
	
	SELECT JOIN, INNER JOIN, LEFT JOIN
e RIGHT JOIN.
	
	SELECT JOIN e INNER JOIN.
	
	INNER JOIN, LEFT JOIN e RIGHT JOIN.
	
	
	Gabarito
Coment.
	
	 
	
	 2a Questão 
	
	
	
	
	
Um sistema de informação usa um banco de dados relacional que possui tabelas cujos esquemas em SQL estão representados a seguir. 
CREATE TABLE Artista ( 
id INTEGER PRIMARY KEY, 
nome VARCHAR(40) NOT NULL, 
CPF CHAR(11) NOT NULL, 
dataNascimento DATE, 
UNIQUE (CPF) ); 
CREATE TABLE Evento ( 
id INTEGER PRIMARY KEY, 
descricao VARCHAR(60) NOT NULL, 
numMaxConvidados INTEGER DEFAULT 0, 
CHECK (numMaxConvidados >= 0) ); 
CREATE TABLE Atuacao ( 
idArtista INTEGER, 
idEvento INTEGER, 
PRIMARY KEY (idArtista, idEvento), 
FOREIGN KEY (idArtista) REFERENCES Artista, 
FOREIGN KEY (idEvento) REFERENCES Evento(id)); 
O sistema também possui uma consulta que integra um de seus relatórios, conforme indicado a seguir: 
SELECT A.nome, E.descricao 
FROM Evento E FULL JOIN Atuacao T ON E.id = T.idEvento 
FULL OUTER JOIN Artista A ON T.idArtista = A.id 
Considerando que todas as tabelas possuem dados, o resultado da consulta utilizada no relatório e: 
		
	
	O nome de todos os artistas combinados com a descrição de todos os eventos
	
	O nome de todos os artistas e a descrição de todos os eventos em que eles atuam.
	
	A descrição de todos os eventos e, caso haja artistas alocados, os seus nomes.
	
	O nome de todos os artistas e, caso eles participem de eventos, a descrição do evento.
	
	O nome de todos os artistas, a descrição de todos os eventos e, caso eles se relacionem, os dois combinados. 
	
	
	Gabarito
Coment.
	
	 
	
	 3a Questão 
	
	
	
	
	Qual a sintaxe SQL-SELECT errada?
		
	
	SELECT X.COLUNA1, AVG(Y.COLUNA2) FROM TABELA1 X INNER JOIN TABELA2 Y ON X.COLUNA3=Y.COLUNA4 GROUP BY X.COLUNA1;
	
	SELECT COLUNA1, COLUNA2, COLUNA3 FROM TABELA1 ORDER BY 1 ASC, 2 DESC, 3 ASC;
	
	SELECT COLUNA1, COLUNA2 FROM TABELA1 WHERE COLUNA3 LIKE ('%X%') ORDER BY 3;
	
	SELECT COUNT(*) FROM TABELA1;
	
	SELECT COLUNA1, COLUNA2 FROM TABELA1 WHERE COLUNA3 IN (1,2,3);
	
	
	Gabarito
Coment.
	
	 
	
	 4a Questão 
	
	
	
	
	Considere as afirmações abaixo: 
1. As relações podem ser manipuladas através de operadores relacionais. Embora não seja utilizada frequentemente, devido à sua complexidade, ela ajuda a esclarecer a manipulação relacional e estabelece os fundamentos para o aprendizado da SQL. 
2. A Álgebra Relacional é um conjunto de operações usadas para manipular relações e é oriunda da Teoria dos Conjuntos da matemática. 
3. A Álgebra Relacional é fechada, o que significa que os resultados de uma ou mais operações relacionais são sempre uma relação. 
São VERDADEIRAS: 
		
	
	Somente 1.
	
	2 e 3.
	
	1, 2 e 3.
	
	1 e 3.
	
	1 e 2.
	
	
	Gabarito
Coment.
	
	 
	
	 5a Questão 
	
	
	
	
	Para se obter a quantidade de empregados por cargo deve-se digitar qual o select abaixo:
		
	
	SELECT C.DESCRICAO AS CARGO, COUNT(E.MATRICULA) AS QTDE FROM CARGO C INNER JOIN EMPREGADO E GROUP BY C.DESCRICAO;
	
	SELECT C.DESCRICAO AS CARGO, COUNT(E.MATRICULA) AS QTDE FROM CARGO C INNER JOIN EMPREGADO E ON C.CODIGO = E.CARGO GROUP BY C.DESCRICAO;
	
	SELECT DESCRICAO AS CARGO, COUNT(MATRICULA) AS QTDE FROM CARGO C INNER JOIN EMPREGADO E ON CODIGO = CARGO GROUP BY DESCRICAO;
	
	SELECT C.DESCRICAO AS CARGO, COUNT(E.MATRICULA) AS QTDE GROUP BY C.DESCRICAO FROM CARGO C INNER JOIN EMPREGADO E ON C.CODIGO = E.CARGO;
	
	SELECT C.DESCRICAO AS CARGO, SUM(E.MATRICULA) AS QTDE FROM CARGO C INNER JOIN EMPREGADO E ON C.CODIGO = E.CARGO GROUP BY C.DESCRICAO;
	
	
	Gabarito
Coment.
	
	 
	
	 6a Questão 
	
	
	
	
	
Qual das consultas abaixo retorna o nome e a placa de todos os veículos?
		
	
	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 v.placa, c.nome FROM Cliente INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf; 
	
	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;
	
	
	 
	
	 7a Questão 
	
	
	
	
	Em uma junção Cruzada entre três tabelas com respectivamente 10, 8 e 4 resgistros, gerará uma saída com quantos registros?
		
	
	20 registros
	
	320 registros
	
	220 registros
	
	22 registros
	
	160 registros
	
	
	 
	
	 8a Questão 
	
	
	
	
	Para se obter todos as matrículas, nomes e descrições dos departamentos de todos empregados independente de terem ou não códigos de departamento atribuídos (entenda-se por nulo os departamentos não atribuídos) deve-se escrever qual o select:
		
	
	SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, D.VC_DEP_NOME AS DEPARTAMENTO FROM EMPREGADO E INNER JOIN DEPARTAMENTO D ON E.NU_EMP_DEPARTAMENTO = D.ID_DEP_CODIGO;
	
	SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, D.VC_DEP_NOME AS DEPARTAMENTO FROM EMPREGADO E LEFT JOIN DEPARTAMENTO D ON E.NU_EMP_DEPARTAMENTO = D.ID_DEP_CODIGO;
	
	SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, D.VC_DEP_NOME AS DEPARTAMENTO FROM EMPREGADO E INNER JOIN DEPARTAMENTO D ON E.NU_EMP_DEPARTAMENTO = D.ID_DEP_CODIGO WHERE E.NU_EMP_DEPARTAMENTO IS NULL;
	
	SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, D.VC_DEP_NOME AS DEPARTAMENTO FROM EMPREGADO E INNER JOIN DEPARTAMENTO D ON E.NU_EMP_DEPARTAMENTO != D.ID_DEP_CODIGO;
	
	SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, D.VC_DEP_NOME AS DEPARTAMENTO FROM EMPREGADO E RIGHT JOIN DEPARTAMENTO D ON E.NU_EMP_DEPARTAMENTO = D.ID_DEP_CODIGO;
		IMPLEMENTAÇÃO DE BANCO DE DADOS
8a aula
		
	 
	Lupa
	 
	 
	
Vídeo 
	
PPT
	
MP3
	 
		Exercício: CCT0768_EX_A8_201401414761_V1 
	10/04/2019 (Finaliz.)
	Aluno(a): JOSE LEONARDO LOPES SENA 
	2019.1 EAD 
	Disciplina: CCT0768 - IMPLEMENTAÇÃO DE BANCO DE DADOS  
	201401414761
	
	 
	
	 1a Questão 
	
	
	
	
	Para criarmos um índice para a tabela Fornecedor pelo Bairro e Cidade devemos dar o seguinte comando:
		
	
	Create Index Fornecedor BY Bairro, Cidade
	
	Create Index Fornecedor ON Forn_Bairro_Cidade(Bairro, Cidade)
	
	Create Index Forn_Bairro_Cidade ON Fornecedor BY Bairro, Cidade
	
	Create Index Forn_Bairro_Cidade From Fornecedor BY Bairro, Cidade
	
	Create Index Forn_Bairro_Cidade ON Fornecedor(Bairro, Cidade)
	
	
	Gabarito
Coment.
	
	 
	
	 2a Questão 
	
	
	
	
	Com relação a Chaves e índices de Banco de Dados:
 
1 ) Chave designa o conceito de item de busca, ou seja , um dado que será empregado na   
     consulta à base de dados. É um conceito lógico da aplicação; 
2 ) Índice e um recurso físico visando otimizar a recuperação de uma informação, via um método 
     de acesso. Seu objetivo principal está relacionado com a performance do sistema. 
3 ) Uma chave pode ser utilizada como índice , mas um índice não e necessariamente uma 
     chave. 
4) Podemos ter em um banco de dados quantos índices desejarmos, sem qualquer tipo de 
    preocupação 
 
Escolha a alternativa correta: 
		
	
	Todos os quatro itens estão corretos.
	
	Apenas os itens 1 e 4 estão corretos.
	
	Apenas os ítens 1 e 2 estão corretos.
	
	Apenas os ítens 2 e 3 estão corretos. 
	
	Apenas os itens 1, 2 e 3 estão corretos.
	
	
	Gabarito
Coment.
	
	 
	
	 3a Questão 
	
	
	
	
	Para sabermos o valor atual em uma sequência, devemos usar:
		
	
	Select
NomeSequencia.NEXTVAL from NomeTabela
	
	Nenhuma das demais respostas
	
	Select NomeSequencia.CURRVAL from NomeTabela
	
	Select NomeSequencia.NEXTVAL from Dual
	
	Select NomeSequencia.CURRVAL from Dual
	
	
	Gabarito
Coment.
	
	 
	
	 4a Questão 
	
	
	
	
	São tipos de visões:
		
	
	Abstratas
	
	Simples e Abstratas
	
	Simples
	
	Complexas
	
	Simples e Complexas
	
	
	Gabarito
Coment.
	
	 
	
	 5a Questão 
	
	
	
	
	1.      ______________ são objetos que apresentam auto-incremento.
2.      ______________ uma pseudocoluna utilizada para extrair valores de uma sequence qualquer, sempre que for referenciada.
3.      ______________ uma pseudocoluna utilizada para informar o último valor gerado por uma sequence. É sempre incrementada após um ______________
4.      Nextval e currval ___________ ser usados na cláusula VALUES de um comando INSERT
5.      Nextval e currval ___________ ser usados dentro de uma subconsulta.
 
As palavras que preenchem as lacunas corretamente estão representadas em:
		
	
	(1) sequences (2) currval (3) nextval e nextval (4) não podem (5) não podem
	
	(1) indices (2) nextval (3) currval e nextval (4) podem (5) não podem
	
	(1) sequences (2) nextval  (3) currval e nextval (4) podem (5) não 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) podem
	
	
	Gabarito
Coment.
	
	 
	
	 6a Questão 
	
	
	
	
	O comando SQL para criar uma visão chamada Eye, abrangendo os atributos A1 e A2 da tabela Pen, é:
		
	
	BUILD Eye AS INSERT A1, A2 FROM Pen
	
	CREATE DROP Eye FROM A1, A2 FROM Pen
	
	COMPILE Eye AS INSERT A1, A2 FROM Pen
	
	COMPOSE FLASH Eye AS A1, A2 FROM Pen
	
	CREATE VIEW Eye AS SELECT A1, A2 FROM Pen 
	
	
	Gabarito
Coment.
	
	 
	
	 7a Questão 
	
	
	
	
	O comando para apagar um visão é:
		
	
	DROP VIEW
	
	DELETE VIEW
	
	NEW VIEW
	
	DEL VIEW
	
	CANCEL VIEW
	
	
	Gabarito
Coment.
	
	 
	
	 8a Questão 
	
	
	
	
	Dentre as regras de utilização de NEXTVAL e CURRVAL, qual das opções abaixo NÃO pode ser usada?
		
	
	Numa cláusula SELECT em tabelas (exceção a Views)
	
	Na cláusula VALUES de um comando INSERT
	
	Na cláusula SET de um comando UPDATE
	
	No SELECT da query principal de uma construção com subqueries
	
	Na cláusula WHERE de um comando DELETE
	
	
	Gabarito
Coment.
	
	As abordagens clássicas utilizadas pelo otimizador de consultas são:
		
	
	Regras
	
	Regras e custo
	
	Custo e tempo
	
	Regras e tempo
	
	Custo
	
	
	Gabarito
Coment.
	
	 
	
	 2a Questão 
	
	
	
	
	Quantos acessos a disco são necessários para encontrar uma linha de uma tabela utilizando um índice hash, admitindo que não há a ocorrência de overflow de buckets?
		
	
	1
	
	log2n
	
	PR
	
	2
	
	2n
	
	
	 
	
	 3a Questão 
	
	
	
	
	Os SGBD´s possuem abordagens para otimizar as consultas em um banco de dados. Quando o SGBD não possui no dicionário de dados estatísticas sobre o objeto referenciado, o otimizador aplica regras baseadas na sintaxe dos comandos e define o melhor caminho com o menor número de ranking da análise dos possíveis caminhos. 
Marque a alternativa que indica a abordagem denominada para este procedimento. 
		
	
	Baseada em semântica.
	
	Baseada em processamento.
	
	Baseada em roteamento.
	
	Baseada em regras.
	
	Baseada em custo.
	
	
	Gabarito
Coment.
	
	 
	
	 4a Questão 
	
	
	
	
	 (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  
		
	
	otimização de consultas. 
	
	controle de concorrência. 
	
	chaves primárias e estrangeiras. 
	
	 índices do tipo bit map.
	
	recuperação de dados após falhas. 
	
	
	 
	
	 5a Questão 
	
	
	
	
	Os SGBD ́s possuem abordagens para otimizar as consultas em um banco de Se o dicionário de dados mantém estatísticas sobre o objeto referenciado, o otimizador utilizará estas estatísticas para fazer a seleção dos caminhos. 
Marque a alternativa que indica a abordagem denominada para este procedimento.
		
	
	Baseada em custo.
	
	Baseada em processamento.
	
	Baseada em semântica.
	
	Baseada em regras.
	
	Baseada em roteamento.
	
	
	 
	
	 6a Questão 
	
	
	
	
	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 OR salário > 3000
	
	salário > 1000 OR salário < 3000
	
	salário >= 1000 AND salário <= 3000
	
	
	Gabarito
Coment.
	
	 
	
	 7a Questão 
	
	
	
	
	O SGBD realiza a execução de comandos em 5 etapas. 
Marque a alternativa que nomeia a etapa onde o SGBD verifica a existência de tabelas, visões e colunas, bem como realiza verificações de tipos dos atributos e dados utilizados na consulta.
		
	
	Analise sintática
	
	Geração de Código
	
	Analise semântica
	
	Reescrita de consulta
	
	Otimização de consulta
	
	
	Gabarito
Coment.
	
	 
	
	 8a Questão 
	
	
	
	
	Sobre algoritmos para o processamento de junções, assinale a alternativa verdadeira.
		
	
	O algoritmo Sort Merge Join, baseado no clássico algoritmo Merge Sort, somente pode ser aplicado se as duas tabelas estiverem ordenadas por seus atributos de junção.
	
	O algoritmo Nested-Loop Join pode produzir o menor custo de execução possível, desde que uma das duas tabelas possa ser armazenada por inteiro na memória.
	
	Índices primários e secundários podem ser utilizados pelo algoritmo Nested-Loop Join com Índices, mas não o índice hash, pois não é ordenado.
	
	A variação Block Nested-Loop Join do algoritmo Nested-Loop Join não deve ser utilizada na prática, pois sempre leva a uma maior leitura de páginas do disco.
	
	O algoritmo Hash Join, altamente recomendável quando as tabelas envolvidas são pequenas, não possui qualquer relação com os índices hash, nem trabalha com a noção de buckets.
	
	É responsável por garantir a Integridade Referencial:
		
	
	Chave de Atributo
	
	Chave Secundária
	
	Chave Candidata
	
	Chave Estrangeira
	
	Chave Primária
	
	
	
	2a Questão (Ref.:201401562619)
	Acerto: 1,0  / 1,0 
	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,3,2,1,4
	
	5,2,3,1,4
	
	5,2,1,3,4
	
	5,2,3,4,1
	
	4,2,3,1,5
	
	
	
	3a Questão
(Ref.:201401563486)
	Acerto: 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:
 
		
	
	π matricula (σ setor = "Projetos" (Funcionarios_ste)) 
	
	π Funcionarios_ste (σ matricula, setor = "Projetos") 
	
	σ setor = "Projetos" (Funcionarios_ste)
 
	
	π setor = "Projetos"  (σ matricula (Funcionarios_ste)) 
	
	σ matricula (π setor = "Projetos" (Funcionarios_ste)) 
	
	
	
	4a Questão (Ref.:201401563484)
	Acerto: 1,0  / 1,0 
	Em relação a álgebra linear é correto afirmar que: 
     I - A operação de projeção é aplicada sobre apenas uma relação visando selecionar um subconjunto de tuplas (com todos os seus atributos).
     II  O produto cartesiano é uma operação binária que combina todas as tuplas de duas tabelas. 
     III - A operação de seleção é aplicada sobre apenas uma relação de visando projetar os atributos de uma relação de acordo com uma lista de atributos oferecida. 
Estão corretas: 
		
	
	II e III
	
	Somente a II
	
	I e III
	
	Somente I
	
	Somente III
	
	
	Gabarito
Coment.
	
	
	
	
	5a Questão (Ref.:201401563216)
	Acerto: 0,0  / 1,0 
	Como ficaria o comando SQL para criar a tabela a seguir?
		
	
	CREATE TABLE X_PROD ( CODIGO NUMBER(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) )
	
	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 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) )
	
	
	Gabarito
Coment.
	
	
	Gabarito
Coment.
	
	
	
	
	6a Questão (Ref.:201402120039)
	Acerto: 1,0  / 1,0 
	Sabemos que a Linguagem SQL é utilizada para acesso a banco de dados e é dividida em comandos DDL, DQL, DML, DCL e DTL. São comandos da DML (Data Manipulation Language) 
		
	
	SELECT
	
	CREATE, DROP e ALTER
	
	INSERT, UPDATE e DELETE
	
	GRANT, REVOKE
	
	
	Gabarito
Coment.
	
	
	
	
	7a Questão (Ref.:201402048809)
	Acerto: 1,0  / 1,0 
	
Sabendo-se que existem dados de TCC cadastrados com datas de defesa que variam de 20/11/2012 até o dia de hoje, assinale qual das alternativas abaixo retornaria o mesmo resultado que o comando "SELECT * FROM TCC WHERE DTDEFESA IN ('21/11/2013', '22/11/2014');":
		
	
	SELECT * FROM TCC WHERE DTDEFESA BETWEEN '21/11/2013' AND '22/11/2014'; 
	
	SELECT * FROM TCC WHERE DTDEFESA = '21/11/2013' AND '22/11/2014';
	
	SELECT * FROM TCC WHERE DTDEFESA BETWEEN ('21/11/2013'; '22/11/2014');
	
	SELECT * FROM TCC WHERE DTDEFESA > '21/11/2013' AND < '22/11/2014';
	
	SELECT * FROM TCC WHERE DTDEFESA => '21/11/2013' AND <= '22/11/2014';
	
	
	
	8a Questão (Ref.:201401562988)
	Acerto: 0,0  / 1,0 
	O comando SELECT FROM corresponde a seguinte operação da álgebra relacional:
		
	
	Seleção
	
	Junção
	
	Interseção
	
	União
	
	Projeção 
	
	
	
	9a Questão (Ref.:201401563420)
	Acerto: 0,0  / 1,0 
	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 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 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 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;
	
	
	Gabarito
Coment.
	
	
	
	
	10a Questão (Ref.:201401563393)
	Acerto: 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 DESC, DT_ADMISSAO DESC;
	
	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 ASC SALARIO, ASC DT_ADMISSAO;
	
	SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY SALARIO, DT_ADMISSAO;

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando