Buscar

implementação de banco de dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1.
		Em relação a álgebra linear é correto afirmar que: 
     I - A operação de projeção é aplicada sobre apenas uma relação visando selecionar um subconjunto de tuplas (com todos os seus atributos).
     II  O produto cartesiano é uma operação binária que combina todas as tuplas de duas tabelas. 
     III - A operação de seleção é aplicada sobre apenas uma relação de visando projetar os atributos de uma relação de acordo com uma lista de atributos oferecida. 
Estão corretas: 
	
	
	
	Somente a II
	
	
	Somente I
	
	
	II e III
	
	
	I e III
	
	
	Somente III
	
	
	
	 
		
	
		2.
		
	
	
	
	I, II e IV.
	
	
	II, III e IV.
	
	
	I e II.
	
	
	I, III e IV.
	
	
	I e III.
	
	
	
	 
		
	
		3.
		Sobre Álgebra Relacional é possível afirmar que: 
	
	
	
	A união só poderá ocorrer quando houver, nas duas consultas, o mesmo número de linhas
	
	
	é o operador de Projeção, usado quando se quer restringir o número de linhas
	
	
	é o operador de Seleção, usado quando se quer restringir o número de colunas
	
	
	 é o operador da Junção, usado quando se deseja identificar a chave primária e a chave estrangeira das consultas
	
	
	O Produto Cartesiano é a concatenação de cada linha da primeira consulta com todas as linhas da segunda consulta
	
	
	
	 
		
	
		4.
		Uma imobiliária possui um banco de dados com informações de clientes e imóveis. Entre as tabelas do sistema existem as tabelas abaixo:
Analise a expressão da álgebra relacional:
O resultado da expressão acima retorna
 
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
Explicação: 
O produto cartesiano retornará uma combinação de todas as linhas das tabelas envolvidas:
A seleção atuará e retornará somente as linhas cujo estado = RJ.
A projeção atuará e retornará somente as colunas nome e tipo.
 
	
	
	
	 
		
	
		5.
		Em relação a álgebra relacional, o operador de _____________ permite combinar seleções e um produto cartesiano em uma só operação.
	
	
	
	Diferença
	
	
	União
	
	
	Interseção
	
	
	Projeção
	
	
	Junção 
	
	
	
	 
		
	
		6.
		
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	 
		
	
		7.
		Conforme a relação de empregado abaixo, através da álgebra relacional, escolha a opção que selecione o nome e endereço de cada empregado, que possua salário superior a R$ 5.000,00.
 
Empregado(matrícula, nome, endereço, salário, departamento, cargo).
	
	
	
	π nome,endereco (δ salario>5000 (Empregado))
	
	
	δ nome,endereco (π salario>5000 (Empregado))
	
	
	π salario>5000 (δ nome,endereco (Empregado))
	
	
	π salario>5000 X (δ nome,endereco (Empregado))
	
	
	π nome,endereço (Empregado) X (δ salario>5000 (Empregado))
	
	
	
	 
		
	
		8.
		
	
	
	
	SELECT * FROM Imovel WHERE Tamanho > 70 AND numQuartos >1
	
	
	SELECT * FROM Imovel WHERE Tamanho > 70 OR numQuartos >1
	
	
	SELECT Tamanho > 70 OR numQuartos > 1 FROM Imovel
	
	
	SELECT Imovel FROM Tamanho > 70 OR numQuartos > 1 
	
	
	SELECT Tamanho > 70 AND numQuartos > 1 FROM Imovel
		1.
		Uma imobiliária está criando um banco de dados específico para aluguel de imóveis por temporada. A primeira tabela a ser criada no banco de dados é a tabela TipoImovel, representada pela figura:
Sabendo-se que o atributo NomeTipoImovel é obrigatório, assinale qual das alternativas abaixo cria esta tabela corretamente no banco de dados:
	
	
	
	CREATE TABLE TipoImovel (CodTipoImovel INTEGER, NomeTipoImovel VARCHAR (50) NOT NULL, Primary Key (CodTipoImovel))
	
	
	CREATE TABLE TipoImovel (CodTipoImovel INTEGER, NomeTipoImovel VARCHAR (50), Primary Key (CodTipoImovel))
	
	
	CREATE TABLE TipoImovel (CodTipoImovel INTEGER, NomeTipoImovel VARCHAR (50) NOT NULL)
	
	
	CREATE TABLE TipoImovel (CodTipoImovel INTEGER, PRIMARY KEY, NomeTipoImovel VARCHAR (50) NOT NULL)
	
	
	CREATE TABLE TipoImovel (CodTipoImovel INTEGER, NomeTipoImovel VARCHAR (50))
	
	
	
	 
		
	
		2.
		Assinale a opção que possui o comando CREATE TABLE que cria corretamente a tabela "Alunos", segundo o seguinte esquema de banco de dados: Alunos(matricula, nome, endereco, cod_curso) Cursos(codigo, nome) Admitindo que os campos "matricula" e "codigo" são chaves primárias de suas tabelas e que o campo "cod_curso" é chave estrangeira da tabela "Cursos" na tabela "Alunos".
	
	
	
	create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (nome), constraint fk_alunos_cursos foreign key (cod_curso) references Cursos(codigo) )
	
	
	create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint fk_alunos_cursos foreign key (cod_curso) references Cursos(codigo) )
	
	
	create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (matricula), constraint fk_alunos_cursos foreign key (cod_curso) references Cursos(codigo) )
	
	
	create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (matricula), constraint fk_alunos_cursos foreign key (codigo) references Cursos(cod_curso) )
	
	
	create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (matricula) )
	
	
	
	 
		
	
		3.
		
O diagrama acima apresenta uma classe denominada Municipio, para armazenar informações sobre determinado município, seu código, nome, tamanho e o estado a que pertence. Também há uma classe denominada Estado, para armazenar dados da unidade da Federação, como seu código e sua denominação. Com base nesse diagrama, e considerando a utilização da linguagem SQL, assinale a opção que apresenta a forma correta de criação da tabela Estado, considerando a criação das chaves primárias (PK) e estrangeiras (FK).
 
	
	
	
	create table estado ( codigo_ibge pk, nome_estado )
	
	
	create table estado ( codigo_ibge integer pk, nome_estado varchar(100) )
	
	
	create table estado ( codigo_ibge integer primary key, nome_estado varchar (255), uf primary key )
	
	
	create table estado ( codigo_ibge integer primary key, nome_estado varchar (255) )
	
	
	create table estado ( codigo_ibge integer primary key, nome_estado varchar (255), uf integer FK )
	
	
	
	 
		
	
		4.
		Que cláusula do comando SQL CREATE TABLE inclui a lista dos atributos que constituem uma chave candidata?
	
	
	
	CHECK
	
	
	RESTRICT
	
	
	FOREIGN KEY
	
	
	UNIQUE
	
	
	NOT NULL
	
	
	
	 
		
	
		5.
		Considere o modelo de banco de dados abaixo: medico (CRM, NomeMedico, Idade,Cidade,Especialidade); paciente (Ident,NomePaciente,Idade,Cidade,Doenca); consulta (Ident, CRM, Data, Hora); Qual alternativa altera a idade do paciente "Fulano de tal"?.
	
	
	
	update paciente where nomePaciente="Fulano de tal"
	
	
	insert into paciente (idade) values (25) where nomePaciente="Fulano de tal"
	
	
	alter paciente set idade=25
	
	
	update paciente set idade=25 where nomePaciente="Fulano de tal"
	
	
	alter paciente set idade=25 where nomePaciente="Fulano de tal"
	
	
	
	 
		
	
		6.
		Qual o efeito da seguinte instrução no banco de dados? DELETE FROM tabela
	
	
	
	Exclui a primeira linha da tabela
	
	
	Exclui todas as linhas da tabela
	
	
	Exclui a tabela do banco de dados
	
	
	Exclui todas as colunas da tabela
	
	
	Exclui o banco de dados inteiro
	
	
	
	 
		
	
		7.
		Considere o modelo de banco de dados abaixo: medico (CRM, NomeMedico, Idade,Cidade,Especialidade); paciente (Ident,NomePaciente,Idade,Cidade,Doenca); consulta (Ident, CRM, Data, Hora); Qual alternativa altera a idade do paciente "Fulano de tal"?.
	
	
	
	update paciente set idade=25 where nomePaciente="Fulanode tal"
	
	
	alter paciente set idade=25 where nomePaciente="Fulano de tal"
	
	
	alter paciente set idade=25
	
	
	insert into paciente (idade) values (25) where nomePaciente="Fulano de tal"
	
	
	update paciente where nomePaciente="Fulano de tal"
	
	
	
	 
		
	
		8.
		(PRODEST-ES/2014) Sobre a chave primária de uma tabela de um banco de dados relacional, é correto afirmar que:
	
	
	
	não pode conter atributos do tipo numérico.
	
	
	pode ser composta por mais de um atributo. 
	
	
	pode conter, no máximo, três atributos. 
	
	
	não há chave primária em tabelas com até 100 registros. 
	
	
	não pode conter atributos do tipo textual. 
		1.
		 
	
	
	
	SELECT DISTINCT NOMEP FROM PROFESSOR P , TCC T, ALUNO A;
	
	
	SELECT NOMEP FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT DISTINCT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A;
	
	
	SELECT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT DISTINCT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	
	 
		
	
		2.
		Um programador precisa utilizar, em uma aplicação conectada a um banco de dados Oracle, uma instrução SQL para exibir apenas os nomes de funcionários da tabela func cujo campo nome se inicie pela letra P. A instrução correta que deve ser utilizada é 
	
	
	
	SELECT nome FROM func WHERE nome LIKE P%; 
	
	
	SELECT nome FROM func LIKE nome=P%; 
	
	
	SELECT nome FROM func WHERE nome CONTAINS P%; 
	
	
	SELECT nome FROM func WITH P% IN nome;
	
	
	SELECT nome FROM func WHERE nome=P%; 
	
	
	
	 
		
	
		3.
		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 ASC NOME_PACIENTE;
	
	
	SELECT * FROM PACIENTE ORDER BY NOME_PACIENTE;
	
	
	SELECT * FROM PACIENTE ASC NOME_PACIENTE;
	
	
	SELECT * FROM PACIENTE DESC NOME_PACIENTE;
	
	
	SELECT * OVER PACIENTE ORDER BY NOME_PACIENTE;
	
	
	
	 
		
	
		4.
		Com relação ao comando a seguir,
CREATE TABLE empregado
(cod_empregado DECIMAL(6) NOT NULL, nome CHAR(15),
cod_chefe DECIMAL(6), cpf CHAR(11) NOT NULL,
cod_dep DECIMAL(3) NOT NULL,
CONSTRAINT PRIMARY KEY (cod_empregado),
CONSTRAINT FOREIGN KEY (cod_chefe) REFERENCES empregado (cod_empregado),
CONSTRAINT FOREIGN KEY (cod_dep) REFERENCES departamento (codigo),
CONSTRAINT UNIQUE (cpf));
é CORRETO afirmar que:
	
	
	
	A coluna cod_dep pode receber valores nulos.
	
	
	A coluna cod_chefe é chave estrangeira da tabela empregado.
	
	
	A coluna cpf é chave primária da tabela empregado.
	
	
	A coluna cpf é chave estrangeira da tabela empregado.
	
	
	A coluna cod_empregado é uma chave estrangeira da tabela empregado.
	
	
	
	 
		
	
		5.
		O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263
Características do esquema: Chave primária sublinhada e chave estrangeira em itálico.
Seguem algumas tabelas do Esquema:
Espécie (IDEspécie, IDOrdem. Nome_Científico, TamMaior, TamMenor, TamMédio)
Nome (IDNome, IDEspécie, NomePopular)
Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo)
Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua)
 
Assinale em qual das consultas abaixo são selecionados nomes populares de tubarões, sem repetição, que foram capturados com temperatura da água igual a 25 e 27 graus:
	
	
	
	SELECT DISTINCT NomePopular FROM NOME N, ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE N.IDESPÉCIE = E.IDESPECIE AND T.IDTUBARÃO = C.IDTUBARÃO AND TEMPAGUA IN(25,27);
	
	
	SELECT NomePopular FROM NOME N, ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE N.IDESPÉCIE = E.IDESPECIE AND T.IDTUBARÃO = C.IDTUBARÃO AND TEMPAGUA NOT BETWEEN 25 AND 27;
	
	
	SELECT DISTINCT NomePopular FROM NOME N, ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE N.IDESPÉCIE = E.IDESPECIE AND E.IDESPECIE = T.IDESPECIE AND T.IDTUBARÃO = C.IDTUBARÃO AND TEMPAGUA IN(25,27);
	
	
	SELECT DISTINCT NomePopular FROM NOME N, ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE N.IDESPÉCIE = E.IDESPECIE AND E.IDESPECIE = T.IDESPECIE AND T.IDTUBARÃO = C.IDTUBARÃO AND TEMPAGUA = 25 AND 27;
	
	
	SELECT NomePopular FROM NOME N, ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE N.IDESPÉCIE = E.IDESPECIE AND E.IDESPECIE = T.IDESPECIE AND T.IDTUBARÃO = C.IDTUBARÃO AND TEMPAGUA BETWEEN 25 AND 27;
	
	
	
	 
		
	
		6.
		De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para:
 
Apresentar apenas o nome completo do Empregado que atende ao Cliente ¿Ponto Quente¿.
	
	
	
	SELECT PRIM_NOME || || ULT_NOME FROM EMPREGADO E, CLIENTE C WHERE C.VENDEDOR = E.ID AND C.NOME= 'Ponto Quente';
	
	
	SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO E, CLIENTE C WHERE C.VENDEDOR = E.ID AND C.NOME=' Ponto Quente';
	
	
	SELECT PRIM_NOME || || ULT_NOME FROM EMPREGADO E, CLIENTE C WHERE E.VENDEDOR = C.ID AND C.NOME=' Ponto Quente';
	
	
	SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO E, CLIENTE C WHERE C.NOME='Ponto Quente';
	
	
	SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO C, CLIENTE E WHERE C.VENDEDOR = E.ID AND C.NOME=' Ponto Quente';
	
	
	
	 
		
	
		7.
		Considere a consulta a seguinte:
Marque a alternativa que representa o script equivalente em SQL:
	
	
	
	SELECT aluno FROM nome WHERE matricula = 0364;
	
	
	SELECT * FROM aluno WHERE nome, matricula = 0364;
	
	
	SELECT matricula = 0364 FROM aluno WHERE nome; 
	
	
	SELECT nome FROM aluno WHERE matricula = 0364;
	
	
	SELECT aluno WHERE matricula = 0364;
	
	
	
	 
		
	
		8.
		O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263
Características do esquema: Chave primária sublinhada e chave estrangeira em itálico.
Seguem algumas tabelas do Esquema:
 
Espécie (IDEspécie, IDOrdem. Nome_Científico, TamMaior, TamMenor, TamMédio)
Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo)
Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua)
Local (IDLocal, CodArea, NomeLocal)
Area (CodArea, NomeArea)
 
Sabendo-se que um metro possui 39,3700787 polegadas, assinale a alternativa correto abaixo que consulta a data da captura, a temperatura da água e o comprimento do tubarão convertido em polegadas com o título Polegadas:
	
	
	
	SELECT DATA, TEMPAGUA, "COMPRIMENTO * 39,3700787" Polegadas FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO;
	
	
	SELECT DATA, TEMPAGUA, COMPRIMENTO * 39.3700787 Polegadas FROM TUBARÃO T, CAPTURA C;
	
	
	SELECT DATA, TEMPAGUA, (COMPRIMENTO * 39,3700787) Polegadas FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO;
	
	
	SELECT DATA, TEMPAGUA, COMPRIMENTO * 39,3700787 Polegadas FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO;
	
	
	SELECT DATA, TEMPAGUA, COMPRIMENTO * 39.3700787 Polegadas FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO;
 
	
		
	
		1.
		Durante uma consulta SQL, utilizando o comando select, é possível selecionar linhas que se assemelham em uma determinada porção de uma string. Qual é o operador utilizado para esse tipo de seleção? 
	
	
	
	Operador de Caracteres semelhantes (like) 
	
	
	Operador de indisponibilidade (maybe)
	
	
	Operador de Intervalos (between) 
	
	
	Operador de Listas(in) 
	
	
	Operador de comparação (=,>,<)2.
		De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para:
Apresentar os Ids e os nomes dos Departamentos ordenados por nome de forma Decrescente.
	
	
	
	SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME;
	
	
	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 ASC;
	
	
	SELECT ID, NOME FROM DEPARTAMENTO ORDER BY DESC NOME;
	
	
	
	 
		
	
		3.
		Observe a tabela R:
Qual será o resultado da consulta:
SELECT X FROM R WHERE Y is null;
	
	
	
	4 e null
	
	
	1 e 4
	
	
	1 e 5
	
	
	null e 5
	
	
	5
	
	
	
	 
		
	
		4.
		Em uma instrução SQL, o caractere utilizado para representar qualquer caractere em uma consulta é o
	
	
	
	%
	
	
	$
	
	
	?
	
	
	#
	
	
	&
	
	
	
	 
		
	
		5.
		
	
	
	
	DELETE ALL FROM ALUGUEL WHERE CODIMOVEL IS NULL
	
	
	DELETE FROM ALUGUEL WHERE CODIMOVEL IS NOT NULL
	
	
	DELETE * FROM ALUGUEL WHERE CODANUNCIO IS NULL
	
	
	DELETE FROM ALUGUEL WHERE CODANUNCIO IS NOT NULL
	
	
	DELETE ALL FROM ALUGUEL WHERE CODANUNCIO IS NULL
	
	
	
	 
		
	
		6.
		
	
	
	
	SELECT ALL NumQuartos FROM Imovel
	
	
	SELECT DISTINCT NumQuartos FROM Imovel
	
	
	SELECT DISTINCT * FROM Imovel
	
	
	SELECT * NumQuartos FROM Imovel
	
	
	SELECT DISTINCT ALL NumQuartos FROM Imovel
	
	
	
	 
		
	
		7.
		
	
	
	
	SELECT * FROM TipoImovel WHERE Descricao LIKE _churrasqueira* 
	
	
	SELECT * FROM Imovel WHERE Descricao LIKE %churrasqueira%
	
	
	SELECT * FROM Imovel WHERE Descricao LIKE _churrasqueira%
	
	
	SELECT * FROM TipoImovel WHERE Descricao LIKE %churrasqueira%
	
	
	SELECT * FROM Imovel WHERE Descricao LIKE *churrasqueira*
	
	
	
	 
		
	
		8.
		Assinale a alternativa que retorna corretamente o seguinte resultado:
"Todos os alunos cujos nomes terminam em Silva e começam por T ou B."
	
	
	
	SELECT * FROM alunos WHERE nome LIKE [BT]%Silva
	
	
	SELECT * FROM alunos WHERE nome LIKE BorT%Silva
	
	
	SELECT * FROM alunos WHERE nome LIKE [B-T]%Silva
	
	
	SELECT * FROM alunos WHERE nome = BT%Silva
	
	
	SELECT * FROM alunos WHERE nome LIKE [BT]% OR nome LIKE %Silva
		1.
		O esquema abaixo refere-se a um banco de dados criado para auxiliar na gerência de orientação de alunos por professores e da defesa do Trabalho de Conclusão de Curso (TCC) pelos alunos. Analise-o:
Professor (MatP,NomeP, telP, emailP)
Aluno (MatA, MatP, NomeA, emailA)
TCC (IDTCC, MatA, Titulo, Resumo)
 
Assinale a única alternativa que retorna exatamente os dados exibidos na figura:
	
	
	
	SELECT NOMEA ALUNO, NOMEP PROFESSOR, TITULO "TÍTULO" FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT NOMEP, NOMEA, TITULO FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT NOMEP PROFESSOR, NOMEA ALUNO, TITULO "TÍTULO" FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP;
	
	
	SELECT NOMEP PROFESSOR, NOMEA ALUNO, TITULO "TÍTULO" FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT NOMEA ALUNO, NOMEP PROFESSOR, TITULO FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	
	 
		
	
		2.
		Quando desejamos selecionar o maior e o menor valor de um atributo numérico usamos:
	
	
	
	AVG
	
	
	MIN, MAX
	
	
	MAIOR, MENOR
	
	
	COUNT
	
	
	SUM
	
	
	
	 
		
	
		3.
		Considerando as tabelas descritas a seguir e a legenda: PK - chave primária / FK - chave estrangeira. 1 - ALUNO (matricula,nome,especializacao,nivel,idade), onde matricula é a PK; 2 - TURMA (nome_turma,horario,sala), onde nome_turma é a PK; 3 - MATRICULA (numero_aluno,nome_turma,numero_posicao), onde numero_aluno e nome_turma formam a PK, numero_aluno é FK referenciando ALUNO e nome_turma é FK referenciando TURMA. Marque a opção que contém o código em SQL para exibir o(s) nome(s) da(s) turma(s) que tem mais de 20 alunos matriculados: 
	
	
	
	SELECT nome_turma,count(*) FROM TURMA t INNER JOIN MATRICULA m ON t.nome_turma = m.nome_turma WHERE count(*) > 20
	
	
	SELECT * FROM TURMA t,MATRICULA m ON t.nome_turma = m.nome_turma WHERE count(*) > 20
	
	
	SELECT t.nome_turma,count(*) FROM TURMA t INNER JOIN MATRICULA m ON t.nome_turma = m.nome_turma HAVING count(*) > 20 GROUP BY t.nome_turma
	
	
	SELECT t.nome_turma,count(*) FROM TURMA t INNER JOIN MATRICULA m ON t.nome_turma = m.nome_turma GROUP BY 1 HAVING count(*) > 20
	
	
	SELECT nome_turma,count(*) FROM TURMA t INNER JOIN MATRICULA m ON t.nome_turma = m.nome_turma GROUP BY nome_turma WHERE count(*) > 20
	
	
	
	 
		
	
		4.
		Observe a tabela empregado:
Qual será o resultado se executarmos a consulta abaixo:
	
	
	
	São Paulo, Santos, Santos, Rio de Janeiro, Niterói 
	
	
	Niterói, Rio de Janeiro, Santos, São Paulo 
	
	
	São Paulo, Santos, Rio de Janeiro, Niterói 
	
	
	Niterói, Rio de Janeiro, Santos, Santos, São Paulo 
	
	
	Niterói, Rio de Janeiro, Santos
	
	
	
	 
		
	
		5.
		Para o comando apresentado a seguir, indique a alternativa que apresenta o resultado obtido com a sua execução:
SELECT ID, DESCRICAO FROM Turma ORDER BY DESCRICAO desc;
	
	
	
	Seleciona todos os campos da tabela Turma ordenando os registros por DESCRICAO em ordem decrescente
	
	
	Seleciona os campos ID e DESCRICAO da tabela Turma ordenando os registros por DESCRICAO em ordem decrescente
	
	
	Seleciona todos os registros da tabela Turma
	
	
	Seleciona todos os campos e os registros da tabela turma
	
	
	Seleciona os campos ID e DESCRICAO da tabela Turma
	
	
	
	 
		
	
		6.
		Quando usar o Group By
	
	
	
	Quando usar funções de Coluna
	
	
	Quando usar o Order By em conjunto com a função SUM
	
	
	Quando Usar o Order By
	
	
	Sempre apos o comando Where
	
	
	Quando usar a Função Where
	
	
	
	 
		
	
		7.
		Considere a seguinte tabela de Empregados:
Empregado (CodEmpregado, Nome, Salario)
Escolha o comado SQL que liste o nome de todos os empregados sem repetição e em ordem decrescente:
	
	
	
	SELECT Nome FROM Empregado ORDER BY Nome
	
	
	SELECT DISTINCT Nome FROM Empregado GROUP BY Nome
	
	
	SELECT ORDER BY Nome FROM Empregado WHERE DISTINCT Nome
	
	
	SELECT DISTINCT Nome FROM Empregado ORDER BY Nome DESC
	
	
	SELECT Nome FROM Empregado ORDER BY DISTINCT Nome
	
	
	
	 
		
	
		8.
		Dentre as opções a seguir, qual não é uma função de grupo?
	
	
	
	MED(X)
	
	
	SUM(x)
	
	
	CONT(*)
	
	
	MAX(x)
	
	
	AVG (x)
		1.
		Quando dois conjuntos de dados são concatenados de acordo com uma determinada condição, representa o resultado da operação relacional:
	
	
	
	intersecção
	
	
	restrição
	
	
	união
	
	
	projeção
	
	
	junção
	
	
	
	 
		
	
		2.
		
	
	
	
	seis
	
	
	três
	
	
	cinco
	
	
	sete
	
	
	quatro
	
	
	
	 
		
	
		3.
		Considere o seguinte comando SQL: SELECT D.NM_DEPARTAMENTO, SUM(P.SALARIO) FROM TB_DEPARTAMENTO D INNER JOIN TB_PROFESSOR P ON (D.COD_DEPARTAMENTO = P.COD_DEPARTAMENTO) É CORRETO afirmar:
	
	
	
	Se existir uma linha na tabela TB_PROFESSOR com valor NULO (NULL) para o atributo SALARIO, o resultado da consulta também será um valor NULO (NULL).
	
	
	A junção INNER JOIN não pode ser utilizada com a função de agregação SUM( ).
	
	
	A consulta irá retornar o mesmo número de linhas da tabela TB_PROFESSOR.
	
	
	A sintaxe do comando está incorreta, pois deveria apresentar a cláusula GROUP BY.
	
	
	soma total.
	
	
	
	 
		
	
		4.
		
	
	
	
	Três alugueis do Tipo1, três do Tipo2 e um do Tipo3.
	
	
	Um aluguel do Tipo1, três do Tipo2 e três do Tipo3.
	
	
	Dois alugueis do Tipo1, quatro do Tipo2 e um do Tipo3.
	
	
	Dois alugueis do Tipo1, três do Tipo2 e dois do Tipo3.
	
	
	Um aluguel do Tipo1, quatro do Tipo2 e dois do Tipo3.5.
		
	
	
	
	quatro e três. 
	
	
	quatro e quatro. 
	
	
	três e quatro. 
	
	
	cinco e cinco. 
	
	
	cinco e quatro.
	
	
	
	 
		
	
		6.
		
	
	
	
	SELECT fi.nome filial, count(*) FROM Filial fi INNER JOIN Carro c ON fi.idfilial=c.filial_idfilial GROUP BY filial
	
	
	SELECT fi.nome filial, count(*) FROM Filial fi RIGHTJOIN Carro c ON fi.idfilial=c.filial_idfilial GROUP BY filial
	
	
	SELECT fi.nome filial, count(*) FROM Filial fi INNER JOIN Carro c 
	
	
	SELECT fi.nome filial, count(*) FROM Filial fi INNER JOIN Carro c ON fi.idfilial=c.filial_idfilial 
	
	
	SELECT fi.nome filial, count(*) FROM Filial fi LEFT JOIN Carro c ON fi.idfilial=c.filial_idfilial GROUP BY filial
	
	
	
	 
		
	
		7.
		O comando select permite gerar produto cartesiano
porque
os bancos relacionais utilizam álgebra relacional.
	
	
	
	O select permite produto cartesiano mas por outra ração que não é a algebra relacional.
	
	
	A primeira sentença está certa porém a segunda está errada.
	
	
	A primeira sentença está errada porém a segunda está certa.
	
	
	Ambas sentenças estão erradas.
	
	
	Ambas sentenças estão certas.
	
	
	
	 
		
	
		8.
		Na sintaxe ANSI da junção Interior, na sua forma padrão é:
	
	
	
	select [colunas] from tabela1 LEFT JOIN tabela2 ON ;
	
	
	select [colunas] from tabela1 INNER JOIN tabela2 ON ; 
	
	
	select [colunas] from tabela1 RIGHT JOIN tabela2 ON ;
	
	
	select * from tabela1 CROSS JOIN tabela2;
	
	
	select * from tabela1 LEFT JOIN tabela2;
		1.
		
	
	
	
	SELECT NOMETIPOIMOVEL, TAMANHO, NUMQUARTOS , NUMBANHEIROS "NUMERO QUARTOS E BANHEIROS" FROM IMOVEL I, TIPOIMOVEL T WHERE I.CODTIPOIMOVEL = T.CODTIPOIMOVEL;
	
	
	SELECT NOMETIPOIMOVEL, TAMANHO, NUMQUARTOS || - || NUMBANHEIROS "NUMERO QUARTOS E BANHEIROS" FROM IMOVEL , TIPOIMOVEL WHERE NOMETIPOIMOVEL = APARTAMENTO PADRÃO; 
	
	
	SELECT NOMETIPOIMOVEL, TAMANHO, NUMQUARTOS || - || NUMBANHEIROS "NUMERO QUARTOS E BANHEIROS" FROM IMOVEL I, TIPOIMOVEL T WHERE I.CODTIPOIMOVEL = T.CODTIPOIMOVEL AND NOMETIPOIMOVEL = APARTAMENTO PADRÃO; 
	
	
	SELECT NOMETIPOIMOVEL, TAMANHO, NUMQUARTOS "NUMERO QUARTOS E BANHEIROS", NUMBANHEIROS FROM IMOVEL , TIPOIMOVEL WHERE UPPER(NOMETIPOIMOVEL) = APARTAMENTO PADRÃO; 
	
	
	SELECT NOMETIPOIMOVEL, TAMANHO, NUMQUARTOS || - || NUMBANHEIROS "NUMERO QUARTOS E BANHEIROS" FROM IMOVEL I, TIPOIMOVEL T WHERE I.CODTIPOIMOVEL = T.CODTIPOIMOVEL AND UPPER(NOMETIPOIMOVEL) = APARTAMENTO PADRÃO; 
	
	
	
	 
		
	
		2.
		A junção irrestrita também é conhecida como:
	
	
	
	Junção Interior
	
	
	Autojunção
	
	
	Junção Contínua
	
	
	Junção Cruzada
	
	
	Junção Exterior
	
	
	
	 
		
	
		3.
		
	
	
	
	SELECT PNOME || || SNOME CLIENTE, VALORDIARIA, PERIODO FROM CLIENTE NATURAL JOIN ALUGUEL WHERE PERIODO > (SELECT AVG(PERIODO) FROM ALUGUEL);
	
	
	SELECT PNOME || || SNOME CLIENTE, VALORDIARIA, PERIODO FROM CLIENTE NATURAL JOIN ALUGUEL WHERE VALORDIARIA*PERIODO > (SELECT AVG(VALORDIARIA) FROM ALUGUEL);
	
	
	SELECT PNOME || || SNOME CLIENTE, VALORDIARIA, PERIODO FROM CLIENTE NATURAL JOIN ALUGUEL WHERE VALORDIARIA > (SELECT AVG(PERIODO) FROM ALUGUEL);
	
	
	SELECT PNOME || || SNOME CLIENTE, VALORDIARIA, PERIODO FROM CLIENTE NATURAL JOIN ALUGUEL WHERE PERIODO > (SELECT AVG(VALORDIARIA) FROM ALUGUEL);
	
	
	SELECT PNOME || || SNOME CLIENTE, VALORDIARIA, PERIODO FROM CLIENTE NATURAL JOIN ALUGUEL WHERE VALORDIARIA > (SELECT AVG(VALORDIARIA) FROM ALUGUEL);
	
	
	
	 
		
	
		4.
		eM  um banco de dados há três tabelas: T1, T2 e T3, com 10, 20 e 30 registros respectivamente. Cada tabela possui um atributo A, sobre o qual é definida uma chave primária. Nesse cenário, está correto concluir que o comando select T1.* from T1 cross join T2 cross join T3 produz um resultado que, além da linha de títulos, possui:
	
	
	
	10 linhas;
	
	
	600 linhas;
	
	
	6.000 linhas.
	
	
	20 linhas;
	
	
	30 linhas;
	
	
	
	 
		
	
		5.
		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 = 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 * 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 = 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 = E.IDEspecie AND N.IDEspécie = E.IDEspecie AND UPPER (NomePopular) like %k%;
	
	
	
	 
		
	
		6.
		SEJA O MODELO: Forncedor(cod_fornec, nome_fornec, telefone, cidade, uf) Estado(UF, nome_estado) A expressão SQL que obtém os nomes dos estados para os quais não há fornecedores cadastrados é:
	
	
	
	SELECT E.nome_estado FROM Estado AS E WHERE E.UF IN (SELECT F.UF FROM FORNECEDOR AS F)
	
	
	SELECT E.nome_estado FROM Estado AS E, FROM Fornecedor AS F WHERE E.UF = F.UF
	
	
	SELECT E.nome_estado FROM Estado AS E, FROM Fornecedor as F WHERE E.nome_estado = F.UF
	
	
	SELECT E.UF FROM ESTADO AS E WHERE E.nome_estado NOT IN (SELECT F.UF FROM FORNECEDOR AS F)
	
	
	SELECT E.nome_estado FROM Estado AS E WHERE E.UF NOT IN (SELECT F.UF FROM FORNECEDOR AS F)
	
	
	
	 
		
	
		7.
		Considere as seguintes tabelas de um banco de dados:
Estado (UF, NomeEstado) 
Cidade (CodCidade, NomeCidade, UF)
UF referencia Estado 
Escolha o comando SQL que liste o nome de cada estado e a quantidade de cidades cadastradas para cada um:
	
	
	
	(J) SELECT E.NomeEstado, Count(*) FROM Cidade C, Estado E WHERE C.UF = E.UF HAVING Count(*) >= 1
	
	
	SELECT Count(*) FROM Estado
	
	
	SELECT E.NomeEstado, Count(*) FROM Cidade C, Estado E GROUP BY E.NomeEstado
	
	
	SELECT UF, Count(*) FROM Cidade GROUP BY UF
	
	
	SELECT E.NomeEstado, Count(*) FROM Cidade C, Estado E WHERE C.UF = E.UF GROUP BY E.NomeEstado
		1.
		Em um banco de dados de empregados, a tabela EMP contém os campos CPF, NOME, SALARIO e DEPTNO dos empregados, sendo o último uma chave estrangeira para o departamento. Que consulta SQL fornece o CPF, NOME, SALARIO e DEPTNO de todos os funcionários que ganham mais do que qualquer empregado do departamento 5?
	
	
	
	SELECT CPF, NOME, MAX(SALARIO), DEPTNO FROM EMP WHERE SALARIO > (SELECT MAX (SALARIO) FROM EMP WHERE DEPTNO = 5);
	
	
	SELECT CPF, NOME, SALARIO, DEPTNO FROM EMP WHERE SALARIO > MAX(SALARIO) AND DEPTNO = 5;
	
	
	SELECT CPF, NOME, SALARIO, DEPTNO FROM EMP WHERE SALARIO > (SELECT MAX (SALARIO) FROM EMP WHERE DEPTNO = 5);
	
	
	SELECT CPF, NOME, SALARIO, DEPTNO FROM EMP WHERE SALARIO > (SELECT MAX (SALARIO) FROM EMP) AND DEPTNO = 5;
	
	
	SELECT CPF, NOME, MAX(SALARIO), DEPTNO FROM EMP WHERE SALARIO > MAX(SALARIO) AND DEPTNO = 5;
	
	
	
	 
		
	
		2.
		Qual dos operadores de comparação de consultas Multi-Linhas a seguir NÃO é válido?= ANY
	
	
	<> ALL 
	
	
	=
	
	
	> ALL
	
	
	< ALL
	
	
	
	 
		
	
		3.
		Qual dos operadores de conjunto a seguir, devemos tomar cuidado na hora de colocarmos a ordem das tabelas, pois retorna diferentes resultados ao se inverter a ordem das tabelas?
	
	
	
	UNION ALL
	
	
	UNION
	
	
	MINUS
	
	
	INTERSECT
	
	
	MINUS ALL
	
	
	
	 
		
	
		4.
		De acordo com a tabela de banco de dados relacional abaixo: Carro(placacarro(PK),tipo,modelo,ano,chassis,km,valor,cor,filial_idfilial(FK)) -Construa uma consulta em SQL para retornar "o ano dos carros que são mais velhos que a média dos anos de todos os carros". 
	
	
	
	SELECT ano, AVG(ano) FROM carro
	
	
	SELECT ano FROM carro WHERE ano > AVG(ano)
	
	
	SELECT ano FROM carro WHERE ano > (SELECT AVG(*) FROM carro)
	
	
	SELECT ano FROM carro WHERE ano = (SELECT AVG(ano) FROM carro)
	
	
	SELECT ano FROM carro WHERE ano > (SELECT AVG(ano) FROM carro)
	
	
	
	 
		
	
		5.
		(FCC - 2009 - Análise de Sistemas - Suporte - ADAPTADA)
Uma instrução Select usada na cláusula Where ou Having de outra instrução Select é 
	
	
	
	Um índice.
	
	
	Um join.
	
	
	Uma subconsulta.
	
	
	Um crosstab.
	
	
	Uma visão.
	
	
	
	 
		
	
		6.
		Considere as seguintes tabelas de um banco de dados: - FORNECEDOR { for_codigo, for_nome, for_telefone, for_cidade, est_uf } - ESTADO { est_uf, est_nome } A instrução SQL que recupera os nomes dos estados para os quais não há fornecedores cadastrados é: 
	
	
	
	SELECT e.est_nome FROM estado AS e, FROM fornecedor AS f WHERE e.est_uf = f.est_uf; 
	
	
	SELECT e.est_uf FROM estado AS e WHERE e.est_nome NOT IN ( SELECT f.est_uf FROM fornecedor AS f ); 
	
	
	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 WHERE e.est_uf 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; 
	
	
	
	 
		
	
		7.
		Dada a instrução SQL: SELECT * FROM VENDEDOR WHERE salario > (SELECT AVG(salario) FROM VENDEDOR); É correto afirmar que
	
	
	
	serão selecionados todos os registros da tabela VENDEDOR cujo conteúdo do campo "salario" seja maior que o número de vendedores cadastrados.
	
	
	se trata de um exemplo de INNER JOIN.
	
	
	serão selecionados todos os registros da tabela VENDEDOR cujo conteúdo do campo "salario" seja maior que a média dos salários de todos os vendedores. 
	
	
	serão selecionados todos os registros da tabela VENDEDOR cujo conteúdo do campo "salario" seja maior que a soma dos salários de todos os vendedores. 
	
	
	se trata de um exemplo de OUTER JOIN.
	
	
	
	 
		
	
		8.
		
Considerando-se as tabelas e o comando SQL mostrados acima, é
correto concluir que o número de registros removidos da tabela Y
pela execução desse comando é:
 
 
	
	
	
	3
	
	
	4
	
	
	5
	
	
	2
	
	
	1
		
	IMPLEMENTAÇÃO DE BANCO DE DADOS
	
		Lupa
	 
	Calc.
	
	
	 
	 
	 
	 
	
	CCT0835_A9_202004101919_V1 
	
	
	
	
		Aluno: PAULO VITOR HEIZER DA COSTA 
	Matr.: 202004101919
	Disc.: IMPL.BANCO DE DADOS  
	2020.3 EAD (G) / EX
		Prezado (a) Aluno(a),
Você fará agora seu TESTE DE CONHECIMENTO! 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.
Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS.
	
	 
		
	
		1.
		Qual das alternativas a seguir apresenta a sintaxe correta do comando SELECT aplicando as cláusulas GROUP BY e HAVING?
	
	
	
	SELECT FROM WHERE GROUP BY HAVING 
	
	
	SELECT HAVING FROM WHERE GROUP BY 
	
	
	SELECT HAVING FROM WHERE GROUP BY 
	
	
	SELECT FROM HAVING GROUP BY WHERE 
	
	
	SELECT FROM GROUP BY WHERE HAVING 
	
	
	
	 
		
	
		2.
		Sobre a cláusula WHERE do comando SELECT, é correto afirmar que:
	
	
	
	É utilizado em todos os comandos SELECT
	
	
	Especifica condição de ordenação
	
	
	Filtra as colunas a serem exibidas no resultado
	
	
	Filtra as linhas a serem exibidas no resultado
	
	
	Nunca pode ser utilizado com uma junção
	
	
	
	 
		
	
		3.
		O comando SELECT FROM corresponde a seguinte operação da álgebra relacional:
	
	
	
	União
	
	
	Interseção
	
	
	Projeção 
	
	
	Seleção
	
	
	Junção
	
	
	
	 
		
	
		4.
		Considere a seguinte consulta SQL: 
SELECT nome,  count(*)
FROM aluno
GROUP BY nome
Esta consulta tem como resultado.
	
	
	
	o atributo nome e o número de registros existentes para cada nome, da tabela aluno.
	
	
	o atributo nome e a soma do conteúdo do atributo nome, da tabela aluno.
	
	
	todos os atributos das tabelas nome e aluno.
	
	
	o atributo nome e o número de registros existentes para cada nome, na tabela nome.
	
	
	todos os atributos da tabela nome, além do atributo especial Count.
	
	
	
	 
		
	
		5.
		Ano: 2014 - Banca: CESGRANRIO - Órgão: FINEP - Prova: Analista - Desenvolvimento de Sistemas
Ao implementar um sistema de gerência de fornecedores, o desenvolvedor percebeu que não existia no banco de dados relacional da empresa qualquer representação da entidade PRODUTO que aparecia em seu modelo de dados. Para corrigir essa falha, preparou um comando SQL que alteraria o esquema do banco de dados.
Tal comando SQL deve ser iniciado com
	
	
	
	CREATE PRODUTO : TABLE
	
	
	ALTER SCHEMA ADD TABLE PRODUTO
	
	
	CREATE TABLE PRODUTO
	
	
	CREATE PRODUTO AS TABLE
	
	
	ALTER TABLE PRODUTO
	
	
	
	 
		
	
		6.
		Considere a relação:
FUNCIONARIO (matrícula, cargo, salario, admissao)
A consulta SQL que mostra o total dos salários dos funcionários é:
 
	
	
	
	SELECT SALARIO FROM FUNCIONARIO WHERE SUM (SALARIO);
	
	
	Nenhuma das repostas acima
	
	
	SELECT SUM (SALARIO) FROM FUNCIONARIO WHERE SALARIO; 
	
	
	SELECT * FROM FUNCIONARIO WHERE SUM (SALARIO); 
	
	
	SELECT SUM (SALARIO) FROM FUNCIONARIO;
	
	
	
	 
		
	
		7.
		
	
	
	
	SELECT * FROM Imovel WHERE NumVagasGaragem IN(1,2,4) ORDER BY Tamanho DESC
	
	
	SELECT * FROM Imovel WHERE NumQuartos BETWEEN 2 AND 4 ORDER BY Tamanho DESC
	
	
	SELECT * FROM Imovel WHERE NumBanheiros BETWEEN 2 AND 4 ORDER BY Tamanho
	
	
	SELECT * FROM Imovel WHERE NumBanheiros BETWEEN 2 AND 4 ORDER BY Tamanho DESC
	
	
	SELECT * FROM Imovel WHERE NumVagasGaragem IN(1,2,4) ORDER BY Tamanho
	
	
		1.
		A cláusula having, quando usada, estabelece uma condição sobre uma agregação obtida de:
	
	
	
	group by em uma expressão select.
	
	
	sum em uma expressão create.
	
	
	group by em uma cláusula order by.
	
	
	order by em uma expressão select.
	
	
	Reorganiza-se automaticamente com pequenas mudanças locais.
	
	
	
	 
		
	
		2.
		UM recurso do comando SELECT é a possibilidade de agruparmos nossos dados. Para isso usamos a cláusula:  
	
	
	
	ORDER
	
	
	JOIN
	
	
	ORDER BY
	
	
	SUM
	
	
	GROUP BY
	
	
	
	 
		
	
		3.
		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 COUNT(*) FROM TABELA1;
	
	
	SELECT COLUNA1, COLUNA2 FROM TABELA1 WHERE COLUNA3 IN (1,2,3);
	
	
	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;
	
	
	
	 
		
	
		4.
		Considere que existe uma tabela empregados com os seguintes dados:
TABELA EMPREGADOS
	MATRICULA
	NOME
	DATA_NASCIMENTO
	122233
	MARIA DA SILVA
	01/01/1982
	222545
	JOSE DOS SANTOS
	10/10/1990
	142533
	ANTONIO ALVES
	20/05/1980
	213211
	JERONIMO SOUZA
	15/06/2015
O comando SQL que traz todos os dados da tabela ordenados pela ordem alfabetica dos nomes dos empregados é:SELECT * FROM EMPREGADO ORDERED BY NOME ASCENDING;
	
	
	SELECT NOME AND EMPREGADO FROM EMPREGADO ORDER BY NOME ASC;
	
	
	SELECT (MATRICULA, NOME) FROM EMPREGADO E ORDER BY Nome;
	
	
	SELECT * FROM EMPREGADO ORDER BY NOME;
	
	
	SELECT *.* FROMEMPREGADO ORDERED BY NOME; 
	
	
	
	 
		
	
		5.
		O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263
Características do esquema: Chave primária sublinhada e chave estrangeira em itálico.
Seguem algumas tabelas do Esquema:
 
Ordem (IDOrdem, NomeOrdem)
Espécie (IDEspécie, IDOrdem. Nome_Científico, TamMaior, TamMenor, TamMédio)
Esp_País (IDEspécie, CodPaís)
País (CodPaís, NomePaís)
Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo)
 
Assinale qual das alternativas abaixo representa uma consulta que retorna a quantidade de espécies de tubarões encontradas no Brasil cuja coluna é nomeada de QTD:
	
	
	
	SELECT COUNT(*) QTD FROM ESPÉCIE E, PAÍS P WHERE NOMEPAÍS = "Brasil";
	
	
	SELECT COUNT(*) QTD FROM ESPÉCIE E, ESP_PAÍS EP, PAÍS P WHERE E.IDESPECIE = EP.IDESPÉCIE AND EP.CODPAÍS = P.CODPAÍS AND NOMEPAÍS = Brasil;
	
	
	SELECT COUNT(*) QTD FROM ESPÉCIE E, PAÍS P WHERE E.IDESPECIE = P.IDESPÉCIE AND NOMEPAÍS = Brasil;
	
	
	SELECT COUNT(*) QTD FROM ESPÉCIE E, ESP_PAÍS EP, PAÍS P WHERE E.IDESPECIE = EP.IDESPÉCIE AND EP.CODPAÍS = P.CODPAÍS AND NOMEPAÍS = "Brasil";
	
	
	SELECT COUNT(*) QTD FROM ESPÉCIE E, ESP_PAÍS P,PAÍS P WHERE NOMEPAÍS = Brasil;
	
	
	
	 
		
	
		6.
		O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263
Características do esquema: Chave primária sublinhada e chave estrangeira em itálico.
 Seguem algumas tabelas do Esquema:
 
Nome (IDNome, IDEspécie, NomePopular)
Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo)
Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua)
Local (IDLocal, CodArea, NomeLocal)
Area (CodArea, NomeArea)
 
Deseja-se consultar a quantidade de tubarões do sexo feminino que foram capturados entre os anos de 2002 e 2013. Assinale a opção abaixo que realiza esta consulta:
 
	
	
	
	SELECT COUNT (*) QTD FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO AND SEXO = F AND DATA BETWEEN 01/01/2002 AND 31/12/2013;
	
	
	SELECT COUNT (tubarão) QTD FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO AND SEXO = F AND DATA BETWEEN 2002 AND 2013;
	
	
	SELECT COUNT (TUBARÃO) QTD FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO AND SEXO = F AND DATA BETWEEN 01/01/2002 AND 31/12/2013; 
	
	
	SELECT COUNT (*) QTD FROM TUBARÃO, CAPTURA WHERE SEXO = F AND DATA BETWEEN 01/01/2002 AND 31/12/2013;
	
	
	SELECT COUNT (*) QTD FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO AND SEXO = F AND DATA BETWEEN 2002 AND 2013;
	
	
	
	 
		
	
		7.
		Considere a seguinte representação de uma tabela de um banco de dados relacional: Produto (Cod, Descricao, QtdeEstoque, Categoria) O comando SQL para se obter a soma dos valores do atributo QtdeEstoque, agrupada por Categoria, apenas para as Categorias com QtdeEstoque total superior a 20 unidades, é: 
	
	
	
	SELECT GROUP (Categoria), COUNT (QtdeEstoque) FROM Produto WHERE QtdeEstoque > 20
	
	
	SELECT Categoria, SUM (QtdeEstoque) FROM Produto GROUP BY Categoria HAVING SUM (QtdeEstoque) > 20
	
	
	SELECT GROUP (Categoria), SUM (QtdeEstoque) FROM Produto WHERE QtdeEstoque > 20 
	
	
	SELECT Categoria, Qtde FROM Produto WHERE Qtde > 20 GROUP BY Categoria 
	
	
	SELECT Categoria, COUNT (QtdeEstoque) FROM Produto WHERE Qtde > 20 GROUP BY Categoria

Continue navegando