Buscar

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 77 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 77 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 77 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

Todas as possíveis combinações dos nomes dos tipos de imóvel e tamanhos de imóvel e mais todos os tamanhos de imóvel que não possuem um tipo de imóvel definido.
		
	
	
	
	Todas as possíveis combinações dos nomes dos tipos de imóvel e tamanhos de imóvel, correlacionadas entre si e nenhum outro dado além destes.
	
	
		Todas as possíveis combinações dos nomes dos tipos de imóvel e tamanhos de imóvel e mais todos os tamanhos de imóvel que não possuem um tipo de imóvel definido.
	
		
	
	
	
	
	
	
	
		A operação da álgebra relacional que recupera linhas em uma tabela é denominada:
	
	
	
	Diferença
	
	
	Produto cartesiano
	
	
	Projeção
	
	
	Junção
	
	
	Seleção
		
		
	
	
	
	SELECT * FROM Imovel WHERE Tamanho > 70 OR numQuartos >1
	
	
	SELECT Tamanho > 70 AND numQuartos > 1 FROM Imovel
	
	
	SELECT Tamanho > 70 OR numQuartos > 1 FROM Imovel
	
	
	SELECT Imovel FROM Tamanho > 70 OR numQuartos > 1
	
	
	SELECT * FROM Imovel WHERE Tamanho > 70 AND numQuartos >1
		Sobre Álgebra Relacional é possível afirmar que:
	
	
	
	é o operador de Seleção, usado quando se quer restringir o número de colunas
	
	
	é o operador de Projeção, usado quando se quer restringir o número de linhas
	
	
	O Produto Cartesiano é a concatenação de cada linha da primeira consulta com todas as linhas da segunda consulta
		Considere a relação:
      EMPREGADO (matricula, nome, endereco, bairro, salario, sexo, num_depto)
 A consulta em álgebra relacional que responde a questão ¿ Quais são os empregados que moram na Barra e ganham mais de R$ 3000,00? ¿ está corretamente representada em:
	
	
	
	σ bairro = "Barra"  OR  salario > 3000 (empregado)
	
	
	σ empregado (Bairro= "Barra" AND salario > 3000)                                      
	
	
	π bairro = "Barra"  (empregado)                      
	
	
	π bairro = "Barra" AND salario > 3000 (empregado)
	
	
	σ bairro ="Barra" AND salario > 3000 (empregado)
		
		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
	
	
	Projeção
	
	
	Junçã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(σcod_curso=codigo (Alunos X Cursos))
		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
	
	
	
	σProduto.Cod_Prod = Estoque.Cod_Prod(πNome, Qualidade, Qtde)
	
	
	πNome, Qualidade, Qtde(σProduto.Cod_Prod = Estoque.Cod_Prod)
	
	
	πNome, Qualidade, Qtde(σProduto.Cod_Prod = Estoque.Cod_Prod(Produto X Estoque))
	
	
	
		
	
	
	
	I e II.
	
	
	I, II e IV.
	
	
	I, III e IV.
	
	
	II, III e IV.
		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).
	
	
	
	π salario>5000   (δ nome,endereco  (Empregado))
	
	
	π nome,endereço (Empregado) X (δ salario>5000 (Empregado))
	
	
	π salario>5000    X (δ nome,endereco  (Empregado))
	
	
	π nome,endereco  (δ salario>5000 (Empregado))
		
	
	
	
	I, III e IV.
	
	
	I e III.
	
	
	II, III e IV.
		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 III
	
	
	Somente a II
		Qual dos comandos SQL abaixo efetua uma alteração
desabilitando o recebimento de cesta básica para os
funcionários que ganham mais que R$3.000,00?
	
	
	
	UPDATE funcionario SET funcionario_cestabasica=false WHERE funcionario_salario>=3000
	
	
	UPDATE funcionario SET funcionario_cestabasica=false WHERE funcionario_salario<3000
	
	
	UPDATE funcionario SET funcionario_cestabasica=false WHERE funcionario_salario>3001
	
	
	UPDATE funcionario SET funcionario_cestabasica=false WHERE funcionario_salario>3000
		Em um banco de dados, que comando SQL é utilizado para eliminar uma tabela?
	
	
	
	INSERT
	
	
	DELETE
	
	
	DROP
		Uma imobiliária especializada em aluguéis por temporada contratou uma empresa de TI para dar suporte ao seu negócio. A aplicação está em fase de término e o banco de dados já foi implementado. A engenheira de software Jaqueline está trabalhando temporariamente na imobiliária, testando a aplicação, gerenciando testes de validação e auxiliando as transações utilizando comandos SQL diretamente no SGBD.
Segue abaixo o esquema da tabela Imovel:
Imovel (Registro, Descricao, Tamanho, NumQuartos, NumBanheiros, NumVagasGaragem, CodTipoImovel, IDCidade)
Após a reclamação de dois clientes, Jaqueline verificou que o imóvel de código 10017 tem uma quantidade de números de quartos menor e que o tamanho do imóvel é também menor do que os valores armazenados no banco de dados. Sendo assim, Jaqueline precisa corrigir estes dados, alterando o número de quartos para dois e o tamanho do imóvel para oitenta metros quadrados.
O comando com a sintaxe correta que Jaqueline precisa executar para realizar esta alteração é o:
	
	
	
	UPDATE Registro = 10017 SET Tamanho = 80, NumQuartos = 2
	
	
	UPDATE Imovel SET Tamanho = 80, NumQuartos = 2 WHERE Registro = 10017
		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 + 10 /100;
	
	
	UPDATE X_PROD SET VALOR_UNIT = VALOR_UNIT + VALOR_UNIT * 10 /100;
		A constraint Foreign Key possui no SQL Ansi quais regras?
	
	
	
	On Delete Cascade / On Delete Restrict / On Update Cascade / On Update Delete
		(PRODEST-ES/2014) Sobre a chave primária de uma tabela de um banco de dados relacional, é correto afirmar que:
	
	
	
	não há chave primária em tabelas com até 100 registros.
	
	
	pode ser composta por mais de um atributo.
		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), Primary Key (CodTipoImovel))
	
	
	CREATE TABLE TipoImovel (CodTipoImovel INTEGER, NomeTipoImovel VARCHAR (50) NOT NULL, Primary Key (CodTipoImovel))
		
		
	
	
	
	INSERT INTO Aluguel (2056, 15/8/2017, 10, 180, 1022, 8, NULL)
	
	
	INSERT ON Aluguel VALUES (2056, 15/8/2017, 10, 180, 1022, 8, NULL, 104)
	
	
	INSERT INTO Aluguel VALUES (2056, 15/8/2017, 10, 180,1022, 8, NULL, 104)
		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"?.
	
	
	
	alter paciente set idade=25
	
	
	update paciente set idade=25 where nomePaciente="Fulano de tal"
		Qual o efeito da seguinte instrução no banco de dados? DELETE FROM tabela
	
	
	
	Exclui a tabela do banco de dados
	
	
	Exclui a primeira linha da tabela
	
	
	Exclui todas as linhas da tabela
		Qual dos comandos SQL abaixo pode ser utilizado para incluir na definição da tabela aluno o atributo CPF com 11 caracteres?
	
	
	
	add into aluno cpf char(11);
	
	
	update table aluno insert cpf char(11);
	
	
	alter table aluno add cpf char(11);
		Qual o efeito da seguinte instrução no banco de dados? UPDATE Funcionarios SET salario = salario * 1.1
	
	
	
	A coluna salario é excluída da tabela
	
	
	Todos os funcionários passam a ganhar 1.1
	
	
	Todos os funcionários recebem um aumento de 10%
		Para incluir a tupla mostrada abaixo na tabela PACIENTE executaríamos o seguinte comando:
	
	
	
	INSERT INTO paciente SET (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);
	
	
	INSERT INTO paciente VALUES (5430005, Beatriz Ferro, 1970-05-28, feminino, casada);
		Marque a opção onde certamente ocorrerá um erro de execução:
	
	
	
	insert into disciplina(codigo, nome) values (1, Implementação de BD);
	
	
	insert into disciplina(codigo, nome) values (1, Implementação de BD);
	
	
	insert from disciplina values (1, Implementação de BD);
		
		São comandos da categoria de Definição de Dados (DDL):
	
	
	
	GRANT / REVOKE
	
	
	INSERT / UPDATE / DELETE
	
	
	SELECT
	
	
	COMMIT / ROLLBACK
	
	
	CREATE / ALTER / DROP
		Um projetista de banco de dados, novato na profissão, foi incumbido de criar um banco para
armazenar dados sobre clientes de uma empresa, contendo identificador e nome; vendedores
dessa empresa, também com identificador e nome; e data da realização das vendas. Esse
projetista decidiu criar uma única tabela, cujo esquema é apresentado abaixo.
CREATE TABLE VENDAS(
ID_CLIENTE INTEGER,
NOME_CLIENTE VARCHAR(60),
ID_VENDEDOR CHAR(2),
NOME_VENDEDOR VARCHAR(60),
DATA_VENDA DATE );
Após criar a tabela, o projetista inseriu alguns registros nela, de forma que o estado final ficou
como o descrito na imagem abaixo:
 
Ao analisar a solução proposta pelo novato, outro projetista, mais experiente, informou que, em
virtude da tabela não estar adequadamente normalizada, algumas operações em SQL, realizadas
sobre ela, podem levar o banco de dados a um estado inconsistente ou à perda de informações.
Quais são essas operações?
	
	
	
	DELETE e SELECT, apenas.
	
	
	DELETE e INSERT, apenas.
	
	
	UPDATE, DELETE e INSERT. 
		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_PROD ( CODIGO NUMBER(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) )
		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
	
	
	
	ALTER SCHEMA ADD TABLE PRODUTO
	
	
	CREATE PRODUTO : TABLE
	
	
	CREATE PRODUTO AS TABLE
	
	
	CREATE TABLE PRODUTO
		São comandos DDL
	
	
	
	CREATE, ALTER, DELETE
	
	
	INSERT, UPDATE, DELETE
	
	
	CREATE, ALTER, DROP
		Que cláusula do comando SQL CREATE TABLE inclui a lista dos atributos que constituem uma chave candidata?
	
	
	
	NOT NULL
	
	
	UNIQUE
		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 (matricula) )
	
	
	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 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), constraint fk_alunos_cursos foreign key (cod_curso) references Cursos(codigo) )
		(PRODEST-ES/2014) Assinale a alternativa que contém a consulta SQL correta para excluir, da tabela T, os registros cujos valores do campo numérico B estejam compreendidos entre 20 e 40.
	
	
	
	DELETE T HAVING B INTO 20 AND 40
	
	
	DELETE T.B AND B >= 20 AND B <= 40
	
	
	DELETE T FOR B BETWEEN 20 AND 40
	
	
	DELETE B FROM T B >= 20 AND B <= 40
	
	
	DELETE FROM T WHERE B BETWEEN 20 AND 40
		
	
	
	
	UPDATE Anuncio SET ValorAnunciado = ValorAnunciado*0.8 WHERE CodAnuncio = 9
		
		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);
		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 E.IDESPECIE = T.IDESPECIE AND T.IDTUBARÃO = C.IDTUBARÃO AND TEMPAGUA IN(25,27);
		ALUNO (cpf : string , nome : string , endereco : string, telefone : string) MATRICULA (cpf : string , cod-cad : string) CADEIRA (cod-cad : string , nome : string , creditos : number) Qual o comando SQL que obtém apenas os nomes de todos os alunos?
	
	
	
	SELECT * FROM ALUNO WHERE nome IS STRING
	
	
	LIST nome FROM ALUNO
	
	
	SELECT nome WHERE ALUNO
	
	
	LIST * FROM ALUNO
	
	
	SELECT nome FROM ALUNO
		 
	
	
	
	SELECT DISTINCT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
		O comando SELECT FROM corresponde a seguinte operação da álgebra relacional:
	
	
	
	Seleção
	
	
	União
	
	
	Interseção
	
	
	Projeção
		O esquema de banco de dados apresentado abaixofaz 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;
		As três cláusulas de uma consulta SQL são:
	
	
	
	select, initial, final.
	
	
	select, up, what.
	
	
	start, from, to.
	
	
	select, from, where.
		Considere a seguinte consulta SQL:SELECT XXX A FROM TAB.Para que não haja repetições nos valores obtidos como resposta para o atributo A, XXX deve ser substituído por:
	
	
	
	LIKE
	
	
	IN
	
	
	SINGLE
	
	
	DISTINCT
		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" é:
	
	
	
	Nenhuma das resposta acima.
	
	
	SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE IN (VW, FIAT);
	
	 
	
	
	
	SELECT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	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 DISTINCT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
		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 cpf é chave primária da tabela empregado.
	
	
	A coluna cod_dep pode receber valores nulos.
	
	
	A coluna cpf é chave estrangeira da tabela empregado.
	
	
	A coluna cod_chefe é chave estrangeira da tabela empregado.
		Sobre a cláusula WHERE do comando SELECT, é correto afirmar que:
	
	
	
	Filtra as linhas a serem exibidas no resultado
		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 DESC NOME_PACIENTE;
	
	
	SELECT * OVER PACIENTE ASC NOME_PACIENTE;
	
	
	SELECT * FROM PACIENTE ORDER BY NOME_PACIENTE;
		
	
	
	
	DELETE * FROM ALUGUEL WHERE CODANUNCIO IS NULL
	
	
	DELETE FROM ALUGUEL WHERE CODIMOVEL IS NOT NULL
	
	
	DELETE FROM ALUGUEL WHERE CODANUNCIO IS NOT NULL
		
	
	
	
	SELECT CODALUGUEL, CODCLIENTE, DATAALUGUEL, PERIODO, VALORDIARIA, PERIODO*VALORDIARIA TOTAL FROM ALUGUEL;
		O comando SQL para excluir os registros da tabela Aluno, cujo campo nome comece com a letra M, é:
	
	
	
	DELETE FROM Aluno WHERE nome LIKE M%.
		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 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 UPPER(CARGO) LIKE %venda% ;
	
	
	SELECT PRIM_NOME || || ULT_NOME FROM EMPREGADO WHERE UPPER(CARGO) LIKE %VENDA% ;
		
	
	
	
	SELECT * FROM TipoImovel WHERE Descricao LIKE _churrasqueira*
	
	
	SELECT * FROM Imovel WHERE Descricao LIKE *churrasqueira*
	
	
	SELECT * FROM Imovel WHERE Descricao LIKE %churrasqueira%
		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 BETWEEN 1000 AND 2000;
		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 NOT IN (SELECT F.UF FROM FORNECEDOR AS F)
		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 ASC;
	
	
	SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME;
	
	
	SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME DESC;
		O comando SELECT  FROM  WHERE  corresponde as seguintes operações da álgebra relacional:
	
	
	
	Seleção e Junção
	
	
	União e Interseção
	
	
	Seleção  e Projeção
		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 LIKE 500 AND 1000;
	
	
	Nenhuma das consultas acima.
	
	
	SELECT CODIGO FROM PRODUTO WHERE VALOR_UNITARIO IN [500, 1000];
	
	
	SELECT CODIGO FROM PRODUTO WHERE VALOR_UNITARIO > 500;
	
	
	SELECT CODIGO FROM PRODUTO WHERE VALOR_UNITARIO BETWEEN 500 AND 1000;
		Qual das consultas a seguir responde a seguinte pergunta: quais os nomes dos alunos que possuem média maior que 6 e idade não superior a 30 anos?
	
	
	
	SELECT nome FROM alunos WHERE media >= 6 OR idade <= 30
	
	
	SELECT nome FROM professores WHERE media > 6 AND idade <= 30
	
	
	SELECT nome, endereco FROM alunos WHERE media > 6 OR idade > 30
	
	
	SELECT nome FROM alunos WHERE media > 6 AND idade <= 30
		Observe a tabela R:
Qual será o resultado da consulta:
SELECT X FROM R WHERE Y is null;
	
	
	
	1 e 5
	
	
	4 e null
	
	
	1 e 4
		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 indisponibilidade (maybe)
	
	
	Operador de Listas(in)
	
	
	Operador de Caracteres semelhantes (like)
		
	
	
	
	SELECT DISTINCT * FROM Imovel
	
	
	SELECT ALL NumQuartos FROM Imovel
	
	
	SELECT * NumQuartos FROM Imovel
	
	
	SELECT DISTINCT NumQuartos FROM Imovel
		
	
	
	
	DELETE FROM ALUGUEL WHERE CODIMOVEL IS NOT NULL
		Acerca do conjunto de operações para manipulação de dados, marque a alternativa correta:
	
	
	
	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.
		Considere a relação abaixo:
CLIENTE (cpf, nome, endereço, telefone)
A consulta SQL que responde a pergunta"Quais os clientes (cpf e nome) que não possuem endereço cadastrado" é:
	
	
	
	SELECT CPF, NOME FROM CLIENTE;
	
	
	SELECT CPF, NOME FROM CLIENTE WHERE ENDERECO IS NULL;
		
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;
		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 não possuem em alguma parte 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.
		Observe a tabela empregado:
Qual a quantidade de registros retornados ao efetuarmos a consulta abaixo:
	
	
	
	1
	
	
	4
	
	
	3
	
	
	0
	
	
	2
		Observe a tabela empregado:
Qual será o resultado se executarmos a consulta abaixo:
	
	
	
	Niterói, Rio de Janeiro, Santos, São Paulo
	
		UM recurso do comando SELECT é a possibilidade de agruparmos nossos dados. Para isso usamos a cláusula:  
	
	
	
	SUM
	
	
	ORDER
	
	
	ORDER BY
	
	
	GROUP BY
		Acerca do conjunto de operações para manipulação de dados, marque a alternativa correta:
	
	
	
	O operador IN pode ser usado para comparar valores na cláusula FROM
	
	
	O operador AND faz a checagem de valores zerados
	
	
	O operador LIKE é usado para operações com booleanos
	
	
	DESC é obrigatoriamente necessário à cláusula ORDER BY quando se deseja ordenar decrescentemente
		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 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 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;
		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 todos os campos e os registros da tabela turma
	
	
	Seleciona os campos ID e DESCRICAO da tabela Turma
	
	
	Seleciona os campos ID e DESCRICAO da tabela Turma ordenando os registros por DESCRICAO em ordem decrescente
		Qual o resultado da consulta SELECT COUNT(DISTINCT X) FROM R?
	
	
	
	3
		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)
 
Assinale a alternativa abaixo que retorna a média de comprimento dos tubarões e a temperatura mínima e máxima da água agrupadas pelo nome científico da Espécie:
	
	
	
	SELECT Nome_Científico, SUM(Comprimento), MIN(TempAgua), MAX(TempAgua) FROM ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE E.IDEspecie = T.IDEspecie AND T.IDTubarão = C.IDTubarão GROUP BY (Nome);
	
	
	SELECT IDEspecie, AVG(Comprimento), MAX(TempAgua), MIN(TempAgua) FROM ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE E.IDEspecie = T.IDEspecie AND T.IDTubarão = C.IDTubarão GROUP BY (Nome_Científico);
	
	
	SELECT Nome, AVG(Comprimento), MIN(TempAgua), MAX(TempAgua) FROM ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE E.IDEspecie = T.IDEspecie AND T.IDTubarão = C.IDTubarão GROUP BY (Nome_Científico);
	
	
	SELECT Nome_Científico, SUM(Comprimento), MIN(TempAgua), MAX(TempAgua) FROM ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE E.IDEspecie = T.IDEspecie AND T.IDTubarão = C.IDTubarão GROUP BY (Nome_Científico);
	
	
	SELECT Nome_Científico, AVG(Comprimento), MIN(TempAgua), MAX(TempAgua) FROM ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE E.IDEspecie = T.IDEspecie AND T.IDTubarão = C.IDTubarão GROUP BY (Nome_Científico);
		Quando usar o Group By
	
	
	
	Quando usar a Função Where
	
	
	Sempre apos o comando Where
	
	
	Quando usar o Order By em conjunto com a função SUM
	
	
	Quando Usar o Order By
	
	
	Quando usar funções de Coluna
		Após a execução dos seguintes comandos em linguagem SQL:
CREATE TABLE Carros (Codigo int PRIMARY KEY,  Modelo varchar(30))
INSERT INTO Carros VALUES (NULL, Alfa Romeo)
INSERT INTO Carros VALUES (5000, Mazda)
SELECT COUNT(*) FROM Carros
Será retornado o valor:
	
	
	
	NULL
	
	
	2
	
	
	5000
	
	
	0
	
	
	1
		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), SUM (QtdeEstoque) FROM Produto WHERE QtdeEstoque > 20
	
	
	SELECT GROUP (Categoria), COUNT (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
	
	
	SELECT Categoria, SUM (QtdeEstoque) FROM Produto GROUP BY Categoria HAVING SUM (QtdeEstoque) > 20
		Qual a sintaxe SQL-SELECT errada?
	
	
	
	SELECT COUNT(*) FROM TABELA1;
	
	
	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 FROM TABELA1 WHERE COLUNA3 IN (1,2,3);
	
	
	SELECT COLUNA1, COLUNA2 FROM TABELA1 WHERE COLUNA3 LIKE (%X%) ORDER BY 3;
		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 (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 (*) 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/2002AND 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 01/01/2002 AND 31/12/2013;
		Considere a relação:
FUNCIONARIO (matrícula, cargo, salario, admissao)
A consulta SQL que mostra média dos salários dos funcionários é:
	
	
	
	SELECT SUM(SALARIO) FROM FUNCIONARIO;
	
	
	Nenhuma das respostas acima.
	
	
	SELECT MEDIA(SALARIO) FROM FUNCIONARIO;
	
	
	SELECT SALARIO FROM FUNCIONARIO AVG;
	
	
	SELECT AVG(SALARIO) FROM FUNCIONARIO;
		Quando desejamos selecionar o maior e o menor valor de um atributo numérico usamos:
	
	
	
	SUM
	
	
	MIN, MAX
		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.
		Considere a relação:
FUNCIONARIO (matrícula, cargo, salario, admissao)
A consulta SQL que mostra o total dos salários dos funcionários é:
 
	
	
	
	SELECT SUM (SALARIO) FROM FUNCIONARIO WHERE SALARIO;
	
	
	SELECT * FROM FUNCIONARIO WHERE SUM (SALARIO);
	
	
	SELECT SALARIO FROM FUNCIONARIO WHERE SUM (SALARIO);
	
	
	Nenhuma das repostas acima
	
	
	SELECT SUM (SALARIO) FROM FUNCIONARIO;
		
	
	
	
	SELECT SUM(NUMVAGASGARAGEM) "MÉDIA NUM. VAGAS DE GARAGEM" FROM IMOVEL
	
	
	SELECT AVG(NUMVAGASGARAGEM) FROM IMOVEL
	
	
	SELECT MEDIA(NUMVAGASGARAGEM) FROM IMOVEL
	
	
	SELECT MEDIA(NUMVAGASGARAGEM) "MÉDIA NUM. VAGAS DE GARAGEM" FROM IMOVEL
	
	
	SELECT AVG(NUMVAGASGARAGEM) "MÉDIA NUM. VAGAS DE GARAGEM" FROM IMOVEL
		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 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 * FROM TURMA t,MATRICULA m ON t.nome_turma = m.nome_turma WHERE count(*) > 20
	
	
	SELECT nome_turma,count(*) FROM TURMA t INNER JOIN MATRICULA m ON t.nome_turma = m.nome_turma WHERE 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
	
	
	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
		
	
	
	
	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 realizar uma consulta da tabela Captura exibindo-se a data e a temperatura da água apresentada em graus Celsius, convertida para graus Fahrenheit (Fórmula °F = °C × 1, 8 + 32). Assinale a alternativa que exibe os dados convertidos corretamente:
	
	
	
	SELECT DATA, TEMPAGUA * 1.8 + 32 "°F" FROM CAPTURA;
		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 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;
		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 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 AND A.MATA = T.MATA;
		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 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;
	
	
	SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY SALARIO, DT_ADMISSAO;
		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 Nome FROM Empregado ORDER BY DISTINCT 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
		Ano: 2014 - Banca: INSTITUTO AOCP - Órgão: UFPB - Prova: Analista de Tecnologia da Informação - Processos
Em bancos de dados Oracle, as instruções CREATE TABLE, ALTER TABLE e DROP TABLE pertencem a qual das categorias a seguir?
	
	
	
	Data Manipulation Language (DML).
	
	
	System Control.
	
	
	Session Control.
	
	
	Transaction Control.
	
	
	Data Definition Language (DDL).
		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-dac0cd734263Caracterí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)
Nome (IDNome, IDEspécie, NomePopular)
Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo)
Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua)
 
Deseja-se exibir os nomes das ordens das Espécies de Tubarões cadastradas até o identificador de espécie de número 018103, sem que os nomes se repitam. Assinale a alternativa correta abaixo:
	
	
	
	SELECT nomeEspécie FROM Ordem O, Espécie E WHERE O.IDOrdem = E.IDordem AND E.IDEspécie <= 018013;
	
	
	SELECT nomeOrdem FROM Ordem O, Espécie E WHERE O.IDOrdem = E.IDordem AND E.IDEspécie <= 018013;
	
	
	SELECT DISTINCT nomeOrdem FROM Ordem O, Espécie E WHERE O.IDOrdem = E.IDordem AND E.IDEspécie <= 018013;
		
Sabendo-se que existem dados de TCC cadastrados com datas de defesa que variam de 20/11/2012 até a data de hoje, assinale qual das alternativas abaixo retornaria o mesmo resultado que o comando "SELECT * FROM TCC WHERE DTDEFESA BETWEEN 15/11/2014 AND 16/11/2014;":
	
	
	
	SELECT * FROM TCC WHERE DTDEFESA > 15/11/2014 AND < 16/11/2014;
	
	
	SELECT * FROM TCC WHERE DTDEFESA IN (15/11/2014 AND 16/11/2014);
	
	
	SELECT * FROM TCC WHERE DTDEFESA = 15/11/2014 AND 16/11/2014;
	
	
	SELECT * FROM TCC WHERE DTDEFESA IN (15/11/2014,16/11/2014);
		
	
	
	
	Somente I.
	
	
	I e II.
	
	
	I, II e III.
		Dentre as opções a seguir, qual não é uma função de grupo?
	
	
	
	MAX(x)
	
	
	AVG (x)
	
	
	SUM(x)
	
	
	CONT(*)
	
	
	MED(X)
		
	
	
	
	2,35
	
	
	6
		São comandos da categoria de Manipulação de Dados (DML):
	
	
	
	SELECT
	
	
	GRANT / REVOKE
	
	
	CREATE / ALTER / DROP
	
	
	COMMIT / ROLLBACK
	
	
	INSERT / UPDATE / DELETE
	A linguagem SQL é dividida em subconjuntos de acordo com as operações que queremos efetuar sobre um banco de dados. Indique a alternativa que apresenta um exemplo de comandos DDL (Linguagem de Definição de Dados):
		
	
	SELECT NOME, TURMA, IDADE FROM ALUNOS
	 
	DELETE * FROM ALUNOS
	
	UPDATE ALUNOS SET NOME = JOSÉ DA SILVA WHERE ID = 10
	
	SELECT NOME FROM ALUNOS WHERE ID IN (1, 2, 3)
	 
	DROP TABLE ALUNOS
	O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263
Características do esquema: Chave primária sublinhada e chave estrangeira em itálico.
Seguem algumas tabelas do Esquema:
Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo)
Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua)
Local (IDLocal, CodArea, NomeLocal)
Area (CodArea, NomeArea)
Deseja-se saber qual a quantidade de locais que foram utilizados na captura de tubarões agrupados pelo nome de cada área. Assinale a alternativa que retorna corretamente esta consulta:
 
		
	
	SELECT NOMELOCAL, COUNT (L.CODAREA)"QTD DE LOCAIS" FROM AREA A, LOCAL L WHERE A.CODAREA = L.CODAREA GROUP BY NOMEAREA;
	 
	SELECT NOMEAREA, COUNT (L.CODAREA)"QTD DE LOCAIS" FROM AREA A, LOCAL L WHERE A.CODAREA = L.CODAREA;
	
	SELECT NOMEAREA, COUNT (CODAREA)"QTD DE LOCAIS" FROM AREA, LOCAL GROUP BY NOMEAREA;
	
	SELECT NOMELOCAL, COUNT (CODAREA)"QTD DE LOCAIS" FROM AREA A, LOCAL L WHERE A.CODAREA = L.CODAREA GROUP BY NOMEAREA;
	 
	SELECT NOMEAREA, COUNT (L.CODAREA)"QTD DE LOCAIS" FROM AREA A, LOCAL L WHERE A.CODAREA = L.CODAREA GROUP BY NOMEAREA;
	
	Acerca do conjunto de operações para manipulação de dados, marque a alternativa correta:
		
	
	O operador ALIAS é usado para renomear definitivamente colunas e tabelas
	
	O operador LIKE é usado para operações com booleanos
	 
	O operador IN pode ser usado para comparar valores na cláusula WHERE
	
	O operador AND faz a checagem de valores zerados
	 
	DESC é dispensável à cláusula ORDER BY quando se deseja ordenar decrescentemente
	Uma junção pode produzir a representação de produto cartesiano, onde a consulta retorna a junção entre duas tabelas que origina uma terceira tabela constituída por todos os elementos da primeira combinados com todos os elementos da segunda.
Dessa forma, marque a alternativa que apresenta esse tipo de junção:
		
	
	FULL JOIN
	
	INNER JOIN
	
	RIGHT JOIN
	 
	LEFT JOIN
	 
	CROSS JOIN
	Depois que uma transação termina com sucesso, as alterações que ela realizou no Banco de Dados devem persistir mesmo que haja falhas do sistema. A característica apresentada diz respeito a seguinte propriedade das transações:
		
	
	Atomicidade;
	 
	Rollback.
	 
	Durabilidade;
	Sobre visões (views) em Bancos de Dados, é INCORRETO afirmar:
		
	 
	Uma visão é criada por uma consulta que usa tabelas de origem ou tabelas base para extrair os dados. As tabelas base podem ser tabelas ou outras visões.
	
	A definição de uma tabela é armazenada no dicionário como um texto que contém os comandos SQL usados para sua criação. Quando uma visão é referida por um comando SQL, o SQL mescla esse comando com aquele de definição da visão para retornar os dados.
	
	Uma visão pode conter colunas de diferentes tabelas e apenas aquelas linhas que satisfaçam alguma condição.
	 
	Uma visão Join é aquela que possui mais de uma tabela especificada em sua cláusula from e dispõe das seguintes cláusulas: DISTINCT, AGGREGATION, GROUP BY, START WITH, CONNECT BY, ROWNUM e as operações (UNION ALL, INTERSECT etc.).
	Álgebra Relacional é o conjunto de operações sobre modelos relacionais de dados. Referente as operações de álgebra relacional, relacione cada uma com os objetivos apresentados a seguir. 
1. Seleção
2. Projeção
3. Produto Cartesiano
4. Junção
(     )    É utilizada para selecionar um subconjunto de tuplas de uma relação.
(     )    Seleciona um conjunto determinado de colunas de uma relação.
(     )    É uma operação binária que combina todas as tuplas de duas relações.
(     )    O resultado conterá apenas as tuplas que se relacionam de acordo com uma determinada condição.
A relação correta entre as camadas e as características, de cima para baixo, é:
		
	
	2, 1, 4, 3
	 
	1, 3, 4, 2
	
	2, 1, 3, 4
	 
	1, 2, 3, 4
	Qual comando SQL é utilizado para obter um conjunto de dados em uma tabela em um banco de dados?
		
	
	UPDATE
	 
	SELECT
	Em uma instrução SQL, o caractere utilizado para representar qualquer caractere em uma consulta é o
		
	
	$
	 
	&
	
	#
	
	?
	 
	%
	Em uma tabela criada no banco de dados com o nome VEICULOS, contendo os campos ID, DESCRICAO, MARCA e MODELO, indique a alternativa que apresenta o comando correto para selecionar a quantidade de veículos cadastrados por modelo, ordenado por modelo em ordem crescente.
		
	 
	SELECT * FROM VEICULOS GROUP BY MODELO;
	 
	SELECT MODELO, COUNT(ID) FROM VEICULOS GROUP BY MODELO ORDER BY MODELO Asc;
	
		
	
	seis linhas.
	
	cinco linhas.
	 
	oito linhas.
	
	dez linhas.
	 
	quinze linhas.
	Em um select usando duas tabelas, para retornar todas as linhas da tabela utilizada na cláusula from, mesmo se não houver nenhuma correspondência na outra tabela, deve-se utilizar a palavra chave sql
		
	
	right join.
	
	inner join.
	 
	left join.
	Dentre as regras de utilização de NEXTVAL e CURRVAL, qual das opções abaixo NÃO pode ser usada?
		
	 
	Na cláusula WHERE de um comando DELETE
	Considere a seguinte tabela criada:
Aluno {matricula, nome, email}
Marque a alternativa que representa em Álgebra Relacional, a PROJEÇÃO  apenas do nome do aluno cuja matrícula é 0364.
		
	 
	
	
	
	
	
	 
	
	O operador que possibilita a seleção de uma faixa de valores sem a necessidade do uso dos operadores >=, <= e AND é:
		
	
	GROUP BY
	 
	BETWEEN
	
	HAVING
	
	LIKE
	 
	IN
	Em uma instrução SQL, para manipular dados retornados de funções agregadoras, utiliza-se a cláusulaSHOW
	
	UNIQUE OUT
	
	ORDER BY
	 
	HAVING
	 
	GROUP IN
	
	
		Considere a consulta a seguinte:
Marque a alternativa que representa o script equivalente em SQL:
	
	
	
	SELECT aluno WHERE matricula = 0364;
	
	
	SELECT matricula = 0364 FROM aluno WHERE nome; 
	
	
	SELECT nome FROM aluno WHERE matricula = 0364;
		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 WITH P% IN nome;
	
	
	SELECT nome FROM func WHERE nome CONTAINS P%;
	
	
	SELECT nome FROM func WHERE nome=P%;
	
	
	SELECT nome FROM func LIKE nome=P%;
	
	
	SELECT nome FROM func WHERE nome LIKE P%;
		Acerca do conjunto de operações para manipulação de dados, marque a alternativa correta:
	
	
	
	O operador LIKE é usado para operações de booleanos
	
	
	A cláusula WHERE restringe o número de linhas no resultado da consulta
	
	
	A cláusula ORDER BY ordena, por padrão, os valores decrescentemente
	
	
	O operador ALIAS é usado para renomear definitivamente colunas e tabelas
	
	
	O operador AND faz a checagem de valores zerados
		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]% OR nome LIKE %Silva
	
	
	SELECT * FROM alunos WHERE nome LIKE [B-T]%Silva
	
	
	SELECT * FROM alunos WHERE nome LIKE [BT]%Silva
		Qual será o resultado da consulta SQL SELECT COUNT(*) FROM pecas WHERE cor=Vermelho ao ser aplicada na tabela peças?
	
	
	
	2
	
	
	0
	
	
	1
	
	
	4
	
	
	3
	
		
	 
	Dois alugueis do Tipo1, quatro do Tipo2 e um do Tipo3.
	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 FROM carro WHERE ano > (SELECT AVG(ano) FROM carro)
	Qual das alternativas a seguir apresenta a sintaxe correta do comando SELECT aplicando as cláusulas GROUP BY e HAVING?
		
	
	SELECT HAVING FROM WHERE GROUP BY
	
	SELECT FROM GROUP BY WHERE HAVING
	
	SELECT FROM HAVING GROUP BY WHERE
	 
	SELECT FROM WHERE GROUP BY HAVING
		Qual o comando capaz de retornar a relação de todos os produtos que NÃO possuem pedidos?
Qual o comando capaz de retornar a relação de todos os produtos que NÃO possuem pedidos?
	
	
	
	SELECT fi.nome filial, count(*) FROM Filial fi INNER JOIN Carro c ON fi.idfilial=c.filial_idfilial GROUP BY filial
		Quando dois conjuntos de dados são concatenados de acordo com uma determinada condição, representa o resultado da operação relacional:
	
	
	
	junção
		
		
	
	
	
	quatro e quatro.
	
	
	quatro e três.
	
	
	três e quatro.
	
	
	cinco e quatro.
		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 sintaxe do comando está incorreta, pois deveria apresentar a cláusula GROUP BY.
		Qual opção Representa a interpretação Correta sobre o CROSS JOIN
	
	
	
	É um comando que substitui o INNER JOIN
	
	
	Nunca é usado em Estruturas SELECT
	
	
	Não se aplica aos comandos DML
	
	
	É um comando exclusivo da DDL
	
	
	Serve para fazer a combinação dos elementos de uma tabela com todos os elementos de outra tabela sem a necessidade de junção de chaves primárias e estrangeiras.
		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.
	
	
	Ambas sentenças estão erradas.
	
	
	Ambas sentenças estão certas.
		Em uma junção Cruzada entre três tabelas com respectivamente 10, 8 e 4 resgistros, gerará uma saída com quantos registros?
	
	
	
	160 registros
	
	
	320 registros
		
	
	
	
	Dois alugueis do Tipo1, quatro do Tipo2 e um do Tipo3.
		
		A partir das relações abaixo, responda em SQL: quantos alunos (nota maior ou igual a 6) foram aprovados na disciplina Banco de Dados com o professor Rui?
Use inner join. Relações:
PROFESSOR (idprofessor, nomeprofessor);
LECIONA (idprofessor, iddisciplina);
DISCIPLINA (iddisciplina, nomedisciplina);
ALUNO (matricula, nomealuno);
MATRICULA (inscrição, iddisciplina, matricula, nota, período, ano)
	
	
	
	SELECT count(distinct) AS total FROM professor p INNER JOIN leciona l ON p.idprofessor = l.idprofessor INNER JOIN disciplina d ON l.iddisciplina = d.iddisciplina INNER JOIN matricula m ON m.iddisciplina = d.iddisciplina WHERE nomeprofessor = Rui AND nomedisciplina = Banco de Dados
		
	
	
	
	quatro
	
	
	sete
	
	
	cinco
	
	
	três
		
	
	
	
	três
	
	
	quatro
	
	
	cinco
	
	
	sete
	
	
	seis
		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;
	
	
	30 linhas;
	
	
	6.000 linhas.
		A cláusula LEFT JOIN em SQL retorna todas as
	
	
	
	linhas da tabela da esquerda, mesmo que não haja uma correspondência na tabela da direita, porém só retorna as colunas que possuam valores em comum.
	
	
	linhas da tabela da esquerda, desde que haja uma correspondência na tabela da direita, porém só retorna as colunas que possuam valores em comum.
	
	
	linhas e colunas da tabela da esquerda, mesmo que não haja correspondência na tabela da direita.
	
		
	
	
	
	seis.
	
	
	sete.
		
	
	
	
	SELECT * FROM TipoImovel T FULL JOIN Imovel I ON T.CodTipoImovel = I.CodTipoImovel
	
	
	SELECT * FROM TipoImovel T LEFT JOIN Imovel I ON T.CodTipoImovel = I.CodTipoImovel
	
	
	SELECT * FROM TipoImovel T, Imovel I WHERE T.CodTipoImovel= I.CodTipoImovel(+)
	
	
	SELECT * FROM TipoImovel T RIGHT JOIN Imovel I ON T.CodTipoImovel = I.CodTipoImovel
		
	
	
	
	quatro
	
	
	sete
	
	
	seis
	
	
	cinco
		
	
	
	
	SELECT * FROM TipoImovel T, Imovel I WHERE T.CodTipoImovel = I.CodTipoImovel
	
	
	SELECT ALL FROM TipoImovel T, Imovel I WHERE T.CodTipoImovel = I.CodTipoImovel
	
	
	SELECT ALL FROM TipoImovel, Imovel
	
	
	SELECT * FROM TipoImovel, Imov
		
	
	
	
	cinco
	
	
	quatro
		(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´);INSERTINTODepartamen→VALUES(2,Vendas´);INSERTINTODepartamen→VALUES(2,Engenharia´);
INSERT INTO Departamento VALUES (3, Contabilidade´);INSERTINTODepartamen→VALUES(4,Contabilidade´);INSERTINTODepartamen→VALUES(4,RH´);
INSERT INTO Empregado VALUES (11111´,11111´,Juliana´, 1);
INSERT INTO Empregado VALUES (22222´,22222´,Gabriela´, 3);
INSERT INTO Empregado VALUES (33333´,33333´,Francisco´, 3);
INSERT INTO Empregado VALUES (44444´,44444´,Inácio´, 4);
INSERT INTO Empregado VALUES (55555´ ,55555´ ,João´, 4);
INSERT INTO Empregado VALUES (66666´,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?
	
	
	
	Sete
	
	
	Quatro
	
	
	Cinco
	
	
	Três
		
	
	
	
	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*PERIODO > (SELECT AVG(VALORDIARIA) FROM ALUGUEL);
	
	
	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 > (SELECT AVG(PERIODO) FROM ALUGUEL);
	
	
	SELECT PNOME || || SNOME CLIENTE, VALORDIARIA, PERIODO FROM CLIENTE NATURAL JOIN ALUGUEL WHERE VALORDIARIA > (SELECT AVG(VALORDIARIA) FROM ALUGUEL);
	
	Um banco de dados relacional foi criado através da execução dos comandos em SQL a seguir
 
Considerando que a consulta de seleção fornecida a seguir foi executada sobre o banco de dados
com esquema e estado resultantes da sequência de comandos anteriores, qual a quantidade de
registos retornados?
select * from empregado left outer join departamento on empregado.departamento_id =
departamento.dep_id;
	
	
	
	4
	
	
	7
	
	
	6
		
		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:
	
	
	
	SELECT E.NomeEstado, Count(*) FROM Cidade C, Estado E WHERE C.UF = E.UF GROUP BY E.NomeEstado
		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:
	
	
	
	SELECT E.NomeEstado, Count(*) FROM Cidade C, Estado E WHERE C.UF = E.UF GROUP BY E.NomeEstado
		
	
	
	
	Três.
		
	
	
	
	Cinco.
	
	
	Seis.
	
	
	Quatro
		
	
	
	
	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;
		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 e, caso eles participem de eventos, a descrição do evento.
	
	
	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 combinados com a descrição de todos os eventos
	
	
	O nome de todos os artistas, a descrição de todos os eventos e, caso eles se relacionem, os dois combinados.
		
	
	
	
	Quatro.
	
	
	Seis.
	
	
	Três.
	
	
	Cinco.
	
	
	Dois.
		Sobre Junções (JOIN), analise as assertivas e assinale a alternativa que aponta a(s) correta(s). I. A operação de junção é utilizada para combinar as tuplas relacionadas em duas relações dentro de uma única. II. Junções podem ser criadas através do aninhamento das operações, ou podemos aplicar uma operação por vez e criar relação dos resultados intermediários. III. Junções são muito importantes em banco de dados relacionais com mais de uma relação, porque nos permite processar os relacionamentos entre as relações. IV. Na Junção apenas as combinações de tuplas que satisfazerem a condição de junção aparecerão no resultado, enquanto, no produto Cartesiano, todas as combinações de tuplas serão incluídas no resultado.
	
	
	
	I, II, III e IV.
	
	
	Apenas I, III e IV.
	
		
	
	
	
	Diferem no número de linhas e colunas retornadas.
	
	
	São idênticos no número de colunas retornadas.
	
	
	São idênticos no número de linhas e colunas retornadas.
	
	
	Diferem no número de colunas retornadas.
	
		
	
	
	
	quarenta e cinco
	
	
	trinta
		
	
	
	
	SELECT ALL FROM TipoImovel T, Imovel I WHERE T.CodTipoImovel = I.CodTipoImovel
	
	
	SELECT * FROM TipoImovel, Imovel
		
	
	
	
	seis.
	
	
	sete.
		
	
	
	
	Seis.
	
	
	Quatro.
		Sabendo que a estrutura da tabela é: ID_EMP_MATRICULA, VC_EMP_NOME, NU_EMP_CARGO, NU_EMP_SALARIO, NU_EMP_GRATIFICACAO, NU_EMP_DESCONTO. Pede-se que, exiba a(s) matrícula(s), o(s) nome(s), o(s) salário(s) líquido(s) do(s) maior(es) salário(s) pago(s) aos empregados pela empresa. Qual a alternativa válida:
	
	
	
	SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO > E.NU_EMP_SALARIO;
	
	
	SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO IN MAX(E.NU_EMP_SALARIO);
	
	
	SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO = MAX(E.NU_EMP_SALARIO);
	
	
	SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO IN (SELECT MAX(X.NU_EMP_SALARIO) FROM EMPREGADO X));
		(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, aparecerá todas as repetições no resultado.
	
	
	Se um cliente não possui conta mas 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.
		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
		
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 é:
 
 
	
	
	
	2
	
	
	1
	
	
	5
		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 OUTER JOIN.
	
	
	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 osvendedores.
	
	
	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.
		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 );
		Sobre o script abaixo: SELECT nome pessoa from Pessoa UNION ALL SELECT numero from Empregado Assinale a alternativa correta:
	
	
	
	Retorna os números dos empregados e os nomes das pessoas sem repetição.
	
	
	Não existe retorno, uma vez que os dados são diferentes das colunas.
		I. Sempre que uma condição na cláusula where de uma consulta aninhada referencia algum atributo de uma relação declarada na consulta externa, as duas consultas são consideradas correlacionadas. 
II. Na consulta correlacionada a consulta aninhada é avaliada uma vez para cada tupla (ou combinação de tuplas) na consulta externa.
Assinale a opção correta:
	
	
	
	A primeira afirmação e verdadeira e a segunda é falsa
	
	
	A primeira afirmação é falsa e a segunda é verdadeira
	
	
	Ambas são verdadeiras e a segunda complementa a primeira
		Qual dos operadores de comparação de consultas Multi-Linhas a seguir NÃO é válido?
	
	
	
	< ALL
	
	
	<> ALL
	
	
	> ALL
	
	
	=
		(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 crosstab.
	
	
	Uma subconsulta.
		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 > (SELECT MAX (SALARIO) FROM EMP WHERE DEPTNO = 5)
		Qual dos tipos de sub-consulta que faz referência a uma coluna da tabela da consulta externa?
	
	
	
	Sub-Consulta Multi-Valorada
	
	
	Sub-Consulta Principal
	
	
	Sub-Consulta Simple
	
	
	Sub-Consulta Multi-Linhas
	
	
	Sub-Consulta Correlata
		(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
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 * FROM TipoImovel T INNER JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL
	
	
	SELECT * FROM TipoImovel T LEFT JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL
	
	
	SELECT * FROM TipoImovel T FULL JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL
		
	
	
	
	SELECT * FROM TipoImovel T INNER JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL
	
	
	SELECT * FROM TipoImovel T FULL JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL
		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, 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;
	
	
	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);
		Quais as propriedades necessárias às ações que compõem uma transação?
	
	
	
	tempo de execução, isolamento, segurança e persistência
	
	
	isolamento, durabilidade, consistência e segurança
	
	
	durabilidade, segurança, consistência e isolamento
	
	
	atomicidade, inconsistência, redundância e segurança
	
	
	consistência, durabilidade, atomicidade e isolamento
		O comando SQL que garante a atomicidade de uma transação é:
	
	
	
	GRANT
	
	
	ROOLBACK
	
	
	USER
	
	
	COMMIT
		A propriedade que garante que depois de a transação completar-se com sucesso, as mudanças que ela faz no banco de dados permanecem, até mesmo se houver falha no sistema é:
	
	
	
	Consistência
	
	
	Atomicidade
	
	
	Persistência
	
	
	Durabilidade
		Dentre as propriedades de uma transação, qual delas é responsável por preservar a integridade do banco de dados?
	
	
	
	Isolamento
	
	
	Durabilidade
	
	
	Isonomia
	
	
	Atomicidade
	
	
	Consistência
		I. Uma transação é um programa em execução que forma uma unidade lógica de processamento de banco de dados; inclui uma ou mais operações de acesso ao banco de dados como inserção, exclusão, modificação ou recuperação.
II. As operações que formam uma transação podem ser embutidos em um programa de aplicação ou especificados interativamente por meio de uma linguagem de consulta como o SQL.
III. Um modo de especificar os limites de transação é determinado pelas instruções explicitas begin transaction e end transaction, que indicam o fim e o início de uma transação em um programa de aplicação
IV. Sempre que uma transação é submetida a um SGBD para execução, o sistema é responsável por garantir que todas as operações na transação sejam concluídas com sucesso, e seu efeito seja registrado permanentemente no banco de dados, ou que a transação não tenha qualquer efeito no banco de dados.
As afirmações corretas são:
	
	
	
	I, II e IV
		A propriedade que garante que todas as operações de uma transação são refletidas corretamente no banco de dados ou nenhuma será é:
	
	
	
	Indisivibilidade
	
	
	Consistência
	
	
	Isolamento
	
	
	Durabilidade
	
	
	Atomicidade
		Dentre os estados de transação, em qual estado se encontra uma transação após a execução da última operação?
	
	
	
	Efetivada
	
	
	Em falha
	
	
	Em efetivação parcial
		
		A propriedade da transação que garante a credibilidade do banco de dados é:
	
	
	
	Consistência
		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) 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
		Observe as tabelas abaixo:
professor ( idProfessor INT NOT NULL PRIMARY KEY, nome VARCHAR(50) NOT NULL, valor_hora INT, certificados VARCHAR(255), idCoordenador INT )
turmas ( idTurma INT NOT NULL PRIMARY KEY, idProfessor INT NOT NULL, idCurso INT NOT NULL, data_inicio DATE, data_final DATE, carga_horaria INT )
O seguinte script foi executado:
create view turmasProfessor as select p.idProfessor, p.nome, t.data_inicio, t.data_final from professor p inner join turmas t ON t.idProfessor = p.idProfessor Podemos afirmar que:
I. O script contém erro não executará.
II. Será criada a view turmasProfessor.
III. A instrução: update turmasProfessor set data_final = GETDATE(); poderá ser executada normalmente.
	
	
	
	Apenas a III está correta
	
	
	Apenas a I está correta
	
	
	I e II estão corretas
	
	
	Apenas a II está correta
	
	
	II e III estão corretas
		Em um SGBD relacional, são pertinentes à linguagem de definição de dados e à linguagem de manipulação de dados, respectivamente:
	
	
	
	Delete e Select.
	
	
	Update e Drop Table.
	
	
	Drop Index e Alter Table.
	
	
	Create Index e Insert
		Para criarmos um índice para a tabela Fornecedor pelo Bairro e Cidade devemos dar o seguinte comando:
	
	
	
	Create Index Fornecedor ON Forn_Bairro_Cidade(Bairro, Cidade)
	
	
	Create Index Fornecedor BY Bairro, Cidade
	
	
	Create Index Forn_Bairro_Cidade From Fornecedor BY Bairro, Cidade
	
	
	Create Index Forn_Bairro_Cidade ON Fornecedor(Bairro, Cidade)
		Na base de dados de um sistema de controle de clientes, foi criada a tabela CLIENTES, que conta com as colunas: ID, NOME, ENDERECO, CIDADE e UF. Os valores da coluna ID não se repetem. 
Sobre essa tabela CLIENTES foi criada a visão VCLIENTES_RJ, que busca apresentar os clientes do estado do Rio de Janeiro. O comando de criação da visão VCLIENTES_RJ é:
CREATE VIEW VCLIENTES_RJ 
AS SELECT ID, NOME, ENDERECO, CIDADE, UF 
FROM CLIENTES WHERE UF = RJ¿ Umusuário⊂meteuosegu∫ecomandoparaexecuçãopelo≥renciadordobancodedados:UPDATEVCLIENTESRJSETNOME=¿JOAO¿ WHEREIDIN(1,2,3)ANDUF=RJ¿ Umusuário⊂meteuosegu∫ecomandoparaexecuçãopelo≥renciadordobancodedados:UPDATEVCLIENTESRJSETNOME=¿JOAO¿ WHEREIDIN(1,2,3)ANDUF=SP¿
O comando UPDATE acima, quando submetido para execução, resulta na atualização de:
	
	
	
	até três linhas da tabela CLIENTES.
	
	
	até três das linhas da visão, cujo novo valor para a coluna Nome pode ser verificado através de consulta à própria visão VCLIENTES_RJ.
	
	
	nenhuma linha, pois não é possível realizar atualização sobre visões.
	
	
	até três linhas da visão VCLIENTES_RJ, não sendo atualizadas linhas da tabela CLIENTES.
	
	
	nenhuma linha, pois, como a visão VCLIENTES_RJ somente apresenta clientes do Rio de Janeiro, não é possível atualizar o nome de um cliente de São Paulo.
		O comando para apagar um visão é:
	
	
	
	NEW VIEW
	
	
	DEL VIEW
	
	
	CANCEL VIEW
	
	
	DROP VIEW
		Admita a seguinte definição de um sequence chamado seq:
CREATE SEQUENCE seq AS int
START WITH 150 INCREMENT BY 10 MINVALUE 100 MAXVALUE 200 CYCLE
Qual valor será retornado pelo sequence seq quando o comando NEXT VALUE FOR seq for executado pela décima vez?
	
	
	
	200
	
	
	100
	
	
	150
	
	
	130
		O comando SQL para criar uma visão chamada Eye, abrangendo os atributos A1 e A2 da tabela Pen, é:
	
	
	
	CREATE DROP Eye FROM A1, A2 FROM Pen
	
	
	BUILD Eye AS INSERT A1, A2 FROM Pen
	
	
	COMPILE Eye AS INSERT A1, A2 FROM Pen
	
	
	CREATE VIEW Eye AS SELECT A1, A2 FROM Pen
		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 II são corretas.
	
	
	Apenas a afirmação III é correta.
	
	
	Todas as afirmações estão corretas.

Outros materiais