Buscar

IMPLEMENTAÇÃO DE BANCO DE DADOS AV 2017.3

Prévia do material em texto

Disciplina:  IMPLEMENTAÇÃO DE BANCO DE DADOS
	Avaliação:  _AV_        Data: 18/11/2017 Critério: AV
	Aluno: Anônimo Da Escola
	Professor: Anônimo Da Escola
	Turma: 0002/FD
	Nota Prova: 9,0 de 9,0      Nota Partic.: 0     Av. Parcial.: 2,0
	Nota SIA: 10,0 pts
	 
		
	IMPLEMENTAÇÃO DE BANCO DE DADOS
	 
	 
	 1a Questão (Ref.: 592747)
	Pontos: 1,0  / 1,0
	Jefferson Linhares e seu amigo João Paulo resolveram ser sócios em um novo negócio. Eles resolveram abrir uma loja especializada na compra de peças de computadores antigas (na maior parte, usadas), a Naftalina Digital.
 
A figura representa o modelo Lógico Relacional do Banco de Dados da loja:
 
A fornecedora Flavia Souza ligou para a loja informando que seu e-mail mudou para flasou@provmax.com.br. Escreva abaixo o comando e cláusulas que realizam esta atualização no banco de dados corretamente, supondo que exista apenas uma fornecedora com este nome:
		
	
Resposta: UPDATE FORNECEDOR SET EMAILF = 'flasou@provmax.com.br WHERE NOMEFORNECEDOR = 'Flavia Souza';
	
Gabarito:
Padrão de Resposta:
 
UPDATE FORNECEDOR SET EMAILF = 'flasou@provmax.com.br'
   WHERE NOMEFORNECEDOR = 'Flavia Souza';
		
	
	 2a Questão (Ref.: 120289)
	Pontos: 1,0  / 1,0
	(NCE-UFRJ - 2005 - BNDES - Análise de Sistemas - Desenvolvimento - ADAPTADA)
Considere um banco de dados simplificado referente ao controle de concursos, constituído pelas tabelas Concurso, Cargo, Candidato e Inscrição, criadas pelo script SQL mostrado abaixo.
 
create table concurso (id_concurso int not null primary key, concurso varchar(60) not null);
create table cargo (id_cargo int not null primary key,cargo varchar(60) not null, id_concurso int not null, constraint ci0 foreign key (id_concurso) references concurso (id_concurso));
create table candidato (id_candidato int not null primary key, nome varchar(40) not null);
create table inscrição ( id_concurso int not null, id_candidato int not null, id_cargo int, pontos int, constraint ci1 foreign key (id_concurso) references concurso (id_concurso), constraint ci2 foreign key (id_candidato) references candidato (id_candidato), constraint ci3 foreign key (id_cargo) references cargo (id_cargo), constraint ci4 primary key (id_concurso,id_candidato));
 
Um candidato pode estar inscrito em zero ou mais concursos e um concurso pode ter zero ou mais candidatos nele inscritos. Para cada concurso, o candidato inscrevese em um cargo e recebe um número de pontos. É possível que um candidato fique temporariamente sem cargo definido. Cada concurso tem uma lista de um ou mais cargos nos quais os candidatos podem estar inscritos.
Suponha que um candidato inscrito no concurso 2 não possa ter inscrições nos demais concursos. O comando que remove as inscrições de outros concursos para os candidatos inscritos no concurso 2 é:
		
	
Resposta: delete inscrição where exists (select* from incrição ii where inscrição.id_candidato=ii.id_candidato and ii.id_concurso=2) and inscriçao.id_concurso <> 2
	
Gabarito:
delete  inscrição 
where 
exists 
        (select * 
         from inscrição ii 
         where inscrição.id_candidato=ii.id_candidato and 
                 ii.id_concurso=2) 
         and inscrição.id_concurso <> 2
		
	
	 3a Questão (Ref.: 106891)
	Pontos: 1,0  / 1,0
	Dentre as vantagens da utilização dos SGBDs a seguir, qual NÃO é uma vantagem?
		
	
	Independência dos dados.
	 
	Dependência entre programas e dados.
	
	Redução ou Eliminação de redundâncias.
	
	Compartilhamento de Dados.
	
	Padronização dos dados.
		
	
	 4a Questão (Ref.: 107242)
	Pontos: 1,0  / 1,0
	Em relação a álgebra relacional, o operador de _____________ permite combinar seleções e um produto cartesiano em uma só operação.
		
	
	União
	
	Interseção
	
	Projeção
	 
	Junção
	
	Diferença
		
	
	 5a Questão (Ref.: 797810)
	Pontos: 1,0  / 1,0
	Abaixo segue parte do esquema do banco de dados Shark, sabendo-se que os atributos em negrito e sublinhados são chaves primárias e os atributos em itálico são chaves estrangeiras:
ESPECIE (IDESPECIE, NOME_CIENTIFICO, DENTICAO, STATUS_EXTINCAO, HABITAT, TIPOREPRODUCAO)
TUBARAO (IDTUBARAO, IDESPECIE, COMPRIMENTO, SEXO)
Deseja-se criar uma tabela chamada Marcacao. Supondo que no instante da captura de alguns tubarões deseja-se marca-los com três possíveis tipos de marcação T, R ou G, representando marcações tradicional, a rádio ou GPS, respectivamente. Analise os comandos abaixo relacionados a criação da tabela Marcacao:
I - CREATE TABLE MARCACAO (IDMARC INT PRIMARY KEY, IDTUBARAO NUMBER(4) REFERENCES TUBARAO NOT NULL, TIPOMARC CHAR NOT NULL );
II - CREATE TABLE MARCACAO (IDMarc INT, IDTubarao NUMBER(4) NOT NULL, TipoMarc CHAR NOT NULL, PRIMARY KEY (IDMarc), FOREIGN KEY (IDTubarao) REFERENCES Tubarao );
III - CREATE TABLE MARCACAO (IDMarc INT PRIMARY KEY,   IDTubarao NUMBER(4) NOT NULL, TipoMarc CHAR NOT NULL, FOREIGN KEY (IDTubarao) REFERENCES Tubarao );
IV - CREATE TABLE MARCACAO (IDMarc INT PRIMARY KEY(IDMarc), IDTubarao NUMBER(4) NOT NULL,  TipoMarc CHAR NOT NULL, FOREIGN KEY(IDTubarao) REFERENCES Tubarao );
Assinale a alternativa que indica quais dos comandos acima funcionariam ao serem executados:
		
	 
	I, II, III e IV.
	 
	I, III e IV.
	 
	I, II e IV.
	 
	II, III e IV.
	 
	I, II e III.
		
	
	 6a Questão (Ref.: 263009)
	Pontos: 1,0  / 1,0
	Qual a sintaxe abaixo gera um produto cartesiano entre as duas tabelas:
		
	 
	SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, C.VC_CAR_NOME AS CARGO FROM EMPREGADO E, CARGO C;
	
	SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, C.VC_CAR_NOME AS CARGO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO;
	
	SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, C.VC_CAR_NOME AS CARGO FROM EMPREGADO E LEFT JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO;
	
	SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, C.VC_CAR_NOME AS CARGO FROM EMPREGADO E, CARGO C WHERE E.NU_EMP_CARGO = C.ID_CAR_CODIGO;
	
	SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, C.VC_CAR_NOME AS CARGO FROM EMPREGADO E RIGHT JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO;
		
	
	 7a Questão (Ref.: 108051)
	Pontos: 1,0  / 1,0
	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.
	
	todos os atributos da tabela nome, além do atributo especial Count.
	
	o atributo nome e a soma do conteúdo do atributo nome, da tabela aluno.
	
	o atributo nome e o número de registros existentes para cada nome, na tabela nome.
	
	todos os atributos das tabelas nome e aluno.
		 Gabarito Comentado.
	
	 8a Questão (Ref.: 589803)
	Pontos: 1,0  / 1,0
	 
		
	
	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 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 FROM PROFESSOR P , TCC T, ALUNO A;
		 Gabarito Comentado.
	
	 9a Questão (Ref.: 124200)
	Pontos: 0,5  / 0,5
	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?INTERSECT
	
	MINUS ALL
	
	UNION
	
	UNION ALL
	 
	MINUS
		 Gabarito Comentado.
	
	 10a Questão (Ref.: 259107)
	Pontos: 0,5  / 0,5
	A indexação é um conceito antigo e já utilizado em muitas situações fora do ambiente computacional. Os Sistemas Gerenciadores de Banco de Dados (SGBD's) incorporaram os conceitos de indexação em seus projetos com intuito de possibilitar a busca otimizada de registros em ambientes com grande volume de dados e com diferentes demandas de recuperação de informação.
Assinale as questões abaixo, indicando as afirmações corretas. Sobre a recuperação de dados utilizando a Técnica de Hash é possível afirmar:
		
	 
	A utilização da técnica de Hasing pode reduzir o tempo de uma consulta porque o acesso ao dado será feito de forma seqüencial.
	 
	Endereçamento aberto é uma técnica de tratamento de colisões que permite a utilização de uma área de overflow para armazenamento de registros colididos.
	 
	 Hash múltiplo é uma técnica de tratamento de colisões, onde a ocorrência de colisões faz com que o SGBD  aplique uma nova função de hash para encontrar outro endereço provável, e caso haja novas colisões pode ser utilizado o Endereçamento aberto ou Encadeamento para tratamento de colisões.
	 
	 Encadeamento é uma técnica de tratamento de colisões onde o registro é alocado na primeira posição livre depois do endereço calculado.
	 
	A utilização da técnica de Hasing pode reduzir o tempo de uma consulta porque a função de hash retorna um ponteiro para o Bucket de dados em que o dado esta gravado.

Continue navegando