Buscar

Gabarito Prova II

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

Prévia do material em texto

Nome: RA: Data: 
Bancos de Dados – Avaliação 2 (GABARITO) 
1) [Questão da prova CESGRANRIO - 2010 - Petrobrás - Analista de Sistemas Júnior - 
Infra-Estrutura] Seja o seguinte esquema de banco de dados. 
Cliente(IdCliente: Integer, Nome: Varchar(120)); 
Pedido(IdPedido: Integer, Dia: Integer, Mes: Integer, Ano: Integer); 
Cliente_Pedido(IdCliente: Integer referencia Cliente(IdCliente), IdPedido: 
Integer referencia Pedido(IdPedido)); 
Item(IdProduto: Integer referencia Produto(IdProduto), IdPedido: Integer, 
Quantidade: Integer); 
Produto(IdProduto: Integer, Nome: Varchar(100)); 
Considere que os atributos sublinhados correspondam à chave primária da respectiva relação e 
os atributos que são seguidos da palavra "referencia" sejam chaves estrangeiras. Considere 
ainda que existam as seguintes tuplas no banco de dados: 
Cliente_Pedido(30, 2); 
Cliente_Pedido(15, 3); 
Produto(2, "Caneta"); 
Produto(4, "Caderno"); 
Qual opção apresenta somente tuplas válidas para o esquema apresentado? 
a) Pedido (2, 1, 3, 2010); 
Cliente (4, "Marcelo de Almeida"); 
b) Pedido (30, 2, 2, 2010); 
Item (30, 4, 2); 
c) Item (2, 3, 5); 
Item (3, 4, 10); 
d) Cliente (2, "Pedro Santos"); 
Cliente (3, "Marta Ramos"); 
e) Cliente (30, "Simone Cunha"); 
Item (2, 2, 15); 
2) [Questão 23 do ENADE 2008, para Bacharel em Ciência da Computação] Considere o 
esquema de banco de dados relacional apresentado a seguir, formado por 4 relações, que 
representa o conjunto de estudantes de uma universidade que podem, ou não, morar em 
repúblicas (moradias compartilhadas por estudantes). A relação Estudante foi modelada como 
um subconjunto da relação Pessoa. Considere que os atributos grifados correspondam à chave 
primária da respectiva relação e os atributos que são seguidos da palavra referencia sejam 
chaves estrangeiras. 
Pessoa(IdPessoa:integer, Nome:varchar(40), Endereco:varchar(40)) 
FonePessoa(IdPessoa:integer referencia Pessoa, DDD:varchar(3), 
Prefixo:char(4), Nro:char(4)) 
Republica(IdRep:integer, Nome:varchar(30), Endereco:varchar(40)) 
Estudante(RA:integer, Email:varchar(30), IdPessoa:integer referencia Pessoa, 
IdRep:integer referencia Republica) 
Suponha que existam as seguintes tuplas no banco de dados: 
Pessoa(1, ‘José Silva’, ‘Rua 1, 20’); 
Republica(20, ‘Várzea’, ‘Rua Chaves, 2001’) 
Qual opção apresenta apenas tuplas válidas para esse esquema de banco de dados relacional? 
A Estudante(10, ‘jsilva@ig.com.br’, 1, null); 
FonePessoa(1, ‘019’, ‘3761’, ‘1370’) 
B Estudante(10, ‘jsilva@ig.com.br’, null, 20); 
FonePessoa(10, ‘019’, ‘3761’, ‘1370’) 
C Estudante(10, ‘jsilva@ig.com.br’, 1, null); 
FonePessoa(10, ‘019’, ‘3761’, ‘1370’) 
D Estudante(10, ‘jsilva@ig.com.br’, 1, 20); 
FonePessoa(1, null, ‘3761’, ‘1370’) 
E Estudante(10, ‘jsilva@ig.com.br’, 1, 50); 
FonePessoa(1, ‘019’, ‘3761’, ‘1370’) 
3) [Questão 44 do PosComp 2002] Supondo a Relação PROJ(PNO, Orçam), com chave primária 
PNO, a Relação EMP(ENO, ENome, Cargo) com chave primária ENO, e a Relação DSG(ENO, 
PNO, Dur, Resp), com chave primária {ENO, PNO}, chave estrangeira PNO em relação a PROJ e 
chave estrangeira ENO em relação a EMP. Qual das expressões da álgebra relacional abaixo NÃO 
corresponde à seguinte consulta SQL: 
SELECT ENome 
 FROM EMP, PROJ, DSG 
 WHERE EMP.ENO = DSG.ENO AND PROJ.PNO = DSG.PNO AND Dur > 36 
A)  ENome (PROJ |x|PNO ( EMP |x|ENO  Dur > 36 ( Dur (DSG)))) 
B)  ENome (PROJ |x|PNO ( EMP |x|ENO  Dur > 36 (DSG))) 
C)  ENome (PROJ |x|PNO (( ENome, ENO (EMP)) |x|ENO (  Dur > 36 (DSG)))) 
D)  ENome (PROJ |x|PNO ( Dur > 36 (EMP |x|ENO (DSG) ))) 
E)  ENome ( Dur > 36 (( PNO (PROJ)) |x|PNO ( EMP |x|ENO DSG))) 
4) Para o banco de dados da Transportadora, cujas tabelas são descritas no final desta prova, escreva os 
comandos SQL para 
a) Exibir as viagens em que a quantidade de passageiros transportados excedeu a capacidade de carga 
do veículo que fez aquela viagem. Projetar as colunas referentes ao número da viagem, data e hora 
de início da viagem, destino, placa do veículo e nome do motorista. Exibir os dados em ordem 
alfabética do nome do motorista. 
SELECT NrViagem, DtSaida, Destino, Placas, Nome 
 FROM Viagens, Veiculos, Motoristas 
 WHERE viagens.CdVeiculo = veículos.CdVeiculo 
 AND viagens.CdMotorista = motoristas.CdMotorista 
 AND QtCarga > CapCarga 
 ORDER BY Nome 
b) Exibir todas as viagens que foram iniciadas mas ainda não foram encerradas. Listar todas as colunas 
da viagem. 
SELECT * 
 FROM Viagens 
 WHERE DtRetorno IS NULL 
c) Listar as viagens em que a distância percorrida (quilometragem de retorno menos a quilometragem 
de saída) é superior a 100 km. 
SELECT * 
 FROM Viagens 
 WHERE KmRetorno – KmSaida > 100 
d) Para os motoristas cujo telefone tiver DDD 015 exibir o nome do motorista e o número do telefone. 
SELECT Nome, Telefone 
 FROM Motoristas 
 WHERE Telefone LIKE ‘015%’ 
 
5) Indique V (Verdadeiro) ou F (Falso) para cada uma das afirmações a seguir. 
(V) Se realizarmos o Produto Cartesiano sobre uma tabela A, que possui 4 colunas e 8 linhas, e uma tabela 
B, que possui12 colunas e 4 linhas, teremos como resultado uma relação com 32 linhas e 16 colunas. 
(F) A expressão A  B é equivalente a B  A, mas A  B não é equivalente a B  A. 
(V) A Seleção é uma operação relacional unária, pois possui um único operando, enquanto que a União é 
uma operação relacional binária. 
(V) Se quisermos combinar as linhas de uma tabela com a respectiva linha correspondente de outra tabela, 
precisamos fazer o Produto Cartesiano entre elas e depois executar uma filtragem das linhas (operação 
de Seleção) utilizando a equação de junção. 
(F) As expressões algébricas relacionais Nome, Limite(Limite > 500 (Clientes)) e Limite > 500 ( Nome, 
Limite(Clientes)) não são logicamente equivalentes. 
6) [Questão 68 do PosComp 2009] Com relação às operações da álgebra relacional está 
ERRADO afirmar que o comando: 
A) PROJECT extrai atributos específicos de uma relação específica. 
B) SELECT extrai tuplas específicas de uma relação específica. 
C) JOIN constrói uma relação a partir de duas relações específicas, consistindo em 
todas as possibilidades de pares de tuplas, uma de cada uma das relações 
específicas. 
D) UNION constrói uma relação consistindo em todas as tuplas que aparecem em um par de 
relações específicas que são compatíveis. 
E) DIFFERENCE constrói uma relação a partir de duas relações específicas que são 
compatíveis, consistindo em todas as tuplas que aparecem na primeira relação e não 
aparecem na segunda. 
 
7) Para o esquema lógico resumido apresentado a seguir, indique no diagrama abaixo os erros de 
normalização verificados, mencionando qual a forma normal que não está sendo atendida no caso. 
Depois, na folha de respostas, refaça o diagrama corrigindo os problemas encontrados. O quadro no 
canto inferior esquerdo mostra algumas DFs conhecidas no modelo. 
 
Aluno Disciplina
NmAluno
Sexo
Telefone
EstadoCivil
NmDisc
NmProfessor
RA (PK)
SiglaDis (PK)
NmCurso
Matriculas
SiglaCurso
RA (FK)
Discip (FK)
Semestre_Ano
PK
Nota1Bim
Faltas1Bim
Nota2Bim
Faltas2Bim
Nota3Bim
Faltas3Bim
Nota4Bim
Faltas4Bim
CargaHorDisc
CodProfessor
 
 
Alunos
PK RA
 NmAluno
 Sexo
 Telefone
 EstadoCivil
Matriculas
PK SemestreAno
PK,FK1 RA
PK,FK2 SiglaDisc
 Bimestre
 Nota
 Faltas
Disciplinas
PK SiglaDisc
 NmDisc
 CargaHorDisc
FK1 CodProfessor
FK2 SiglaCurso
Professores
PK CodProfessor
 NmProfessor
Cursos
PK SiglaCursoNmCurso
 
 
Dependências funcionais: 
 SiglaCurso  NmCurso 
 Discip  CargaHorDisc 
 SiglaDis  NmDisc 
 CodProfessor  NmProfessor 
3FN 
3FN 2FN 
1FN 
8) Considere a tabela Empregado (Matricula, Nome, CPF, Data_Nascimento, Codigo_Cargo, 
Nome_Cargo, Salario, Codigo_Departamento, Nome_departamento) onde Matricula e 
CPF são chaves candidatas, e as seguintes dependências funcionais: 
1- Matricula  Nome 
2- Codigo_Departamento  Nome_Departamento 
3- Codigo_Cargo  Nome_Cargo 
Pode-se afirmar que: 
a) Das três possíveis dependências funcionais, apenas 2 e 3 são de fato dependências funcionais 
b) A tabela Empregado, como apresentada, já está em 3ª. Forma Normal 
c) Para a tabela Empregado ficar em 3ª. Forma Normal as dependências funcionais 2 e 3 
precisam ser eliminadas 
d) Para a tabela Empregado ficar em 3ª. Forma Normal as três dependências funcionais precisam ser 
eliminadas 
e) Para a tabela Empregado ficar em 3ª. Forma Normal a dependência funcional 1 precisa ser eliminada 
Tabelas do banco de dados da Transportadora (exercício 4) 
Veiculos(CdVeiculo, Modelo, Ano, Cor, Placas, CapPassag, CapCarga, 
KmAtual, Oleo, Revisao) 
Motoristas(CdMotorista, Nome, Rg, NrHab, Categ, Registro, DtHab, DtValHab, 
TelResid, EndResid) 
Viagens(NrViagem, Destino, DtSaida, KmSaida, DtRetorno, KmRetorno, 
QtPassag, QtCarga, CdMotorista, CdVeiculo) 
Manut(NrManut, CdVeiculo, DtInicio, DtFinal, DsManut, TpManut, KmFinal, 
VrManut)

Continue navegando