GABARITO
DISCIPLINA
EID002 - Bancos de Dados
APLICAÇÃO
30/09/2020
CÓDIGO
DA PROVA P006/07/08
QUESTÕES OBJETIVAS
Questão 1.1
Examine as seguintes assertivas considerando-as verdadeiras (V) ou falsas (F) e assinale a alternativa
correta.
I. Linguagem de Definição de Dados permite especificar o esquema do banco de dados, através de
um conjunto de definições de dados.
II. Consistência: sempre que a mesma informação é armazenada, mesmo que em locais diferentes
(redundância), podem conter valores distintos.
III. Na arquitetura de duas camadas os componentes são distribuídos em clientes e servidor de
aplicação.
IV. Abstração de dados é a característica que permite a independência de dados do programa e a
independência da operação do programa.
V. Sistema Gerenciador de Banco de Dados (SGBD) é uma coleção de dados manipulados pelos
usuários de um banco de dados.
VI. Quando os comandos DML são incorporados em uma linguagem de programação, é chamada de
linguagem hospedeira.
a) V, V, F, V, F, F
b) V, F, V, V, F, F
c) F, V, F, F, V, V
d) F, V, F, F, V, F
e) V, F, F, V, F, V
RESOLUÇÃO
A resposta correta é: V, F, F, V, F, V
Justificativa
I. Linguagem de Definição de Dados permite especificar o esquema do banco de dados, através de um
conjunto de definições de dados. [verdadeira]
II. Consistência: sempre que a mesma informação é armazenada, mesmo que em locais diferentes
(redundância), podem conter valores distintos. [falsa]
III. Na arquitetura de duas camadas os componentes são distribuídos em clientes e servidor de
aplicação. [falsa]
IV. Abstração de dados é a característica que permite a independência de dados do programa e a
independência da operação do programa. [verdadeira]
V. Sistema Gerenciador de Banco de Dados (SGBD) é uma coleção de dados manipulados pelos
usuários de um banco de dados. [falsa]
VI. Quando os comandos DML são incorporados em uma linguagem de programação é chamada de
Linguagem hospedeira. [verdadeira]
Questão 1.2
Para o diagrama ER apresentado a seguir, assinale a alternativa que melhor representa o
Mapeamento do Modelo Entidade Relacionamento para o Modelo Relacional (nas relações, as chaves
primárias estão sublinhadas e as chaves estrangeiras estão identificadas por FK (Foreign Key).
a) CINEMA (COD_CINEMA, NOME, CAPACIDADE, UF)
FILME (COD_FILME, TITULO, DURACAO, COD_ATOR (FK), NOME_PERSONAGEM)
ATOR (CODIGO, NOME, CPF, NACIONALIDADE)
PASSA (COD_FILME (FK), COD_CINEMA (FK))
b) CINEMA (COD_CINEMA, NOME, CAPACIDADE, UF)
FILME (COD_FILME, TITULO, DURACAO, COD_CINEMA (FK))
ATOR (CODIGO, NOME, CPF, NACIONALIDADE)
ATUA (COD_FILME (FK), CODIGO (FK), NOME_PERSONAGEM)
c) CINEMA (COD_CINEMA, NOME, UF)
FILME (COD_FILME, TITULO, DURACAO, COD_CINEMA)
ATOR (CODIGO, NOME, CPF, NACIONALIDADE)
ATUA (COD_FILME (FK), CODIGO (FK))
PASSA (COD_FILME (FK), COD_CINEMA (FK))
d) CINEMA (COD_CINEMA, NOME, CAPACIDADE, UF)
FILME (COD_FILME, TITULO, DURACAO)
ATOR (CODIGO, NOME, CPF, NACIONALIDADE)
PASSA (COD_FILME (FK), CODIGO (FK), COD_CINEMA (FK))
e) CINEMA (COD_CINEMA, NOME, CAPACIDADE, UF)
FILME (COD_FILME, TITULO, DURACAO)
ATOR (CODIGO, NOME, CPF, NACIONALIDADE)
ATUA (COD_FILME (FK), COD_CINEMA (FK))
RESOLUÇÃO
A resposta correta é: CINEMA (COD_CINEMA, NOME, CAPACIDADE, UF)
FILME (COD_FILME, TITULO, DURACAO, COD_CINEMA (FK))
ATOR (CODIGO, NOME, CPF, NACIONALIDADE)
ATUA (COD_FILME (FK), CODIGO (FK), NOME_PERSONAGEM)
Justificativa
Para cada relacionamento regular com cardinalidade 1:N entre entidades E1 e E2, respectivamente, e
que geraram as relações R1 e R2, respectivamente, deve-se inserir a chave primária de R1 como chave
estrangeira em R2.
Para cada relacionamento regular com cardinalidade N:N entre entidades E1 e E2, cria-se uma nova
relação R1, contendo todos os atributos do relacionamento mais o atributo chave de E1 e o atributo
chave de E2.
Questão 1.3
Considerando o banco de dados composto pelas relações a seguir, assinale a expressão em Álgebra
Relacional que retoma o código dos participantes do estado de SP que não estão inscritos em
minicursos.
Participantes (codigo_participante, nome, e-mail, cidade, uf)
Eventos (codigo_evento, descricao, data_inicio, data_termino, valor_evento)
Minicursos (codigo_minicurso, descricao, carga_horaria)
Eventos_minicursos (codigo_evento, codigo_minicurso, qtde_vagas, valor_minicurso)
Inscritos_eventos(codigo_participante, codigo_evento, data_inscricao, status)
Inscritos_minicursos (codigo_evento, codigo_minicurso, codigo_participante, presenca)
a) (𝛑 (codigo_participante) 𝞼 (uf = “SP”) (Participantes)) - 𝛑 (codigo_participante)
(Inscritos_minicursos)
b) (𝛑 (codigo_participante) 𝞼 (uf = “SP”) (Participantes X Inscritos_minicursos)
c) (𝞼 (codigo_participante) 𝛑 (uf = “SP”) (Participantes X Inscritos_minicursos)
d) (𝞼 (codigo_participante) 𝛑 (cidade = “SP”) (Participantes)) - 𝛑 (codigo_participante)
(Inscritos_minicursos)
e) (𝞼 (codigo_participante) 𝛑 (uf = “SP”) (Participantes)) - 𝛑 (codigo_participante)
(Inscritos_minicursos)
RESOLUÇÃO
A resposta correta é: (𝛑 (codigo_participante) 𝞼 (uf = “SP”) (Participantes)) - 𝛑 (codigo_participante)
(Inscritos_minicursos)
Justificativa
Realizar a diferença da relação resultante da projeção do atributo codigo_participante da seleção dos
participantes do estado de SP com a relação resultante da projeção do atributo codigo_participante da
relação inscritos_minicursos.
A operação de Diferença (R – S) seleciona as tuplas que estão na primeira relação (R), mas não estão na
segunda (S), ou seja, os participantes que não estão inscritos em minicursos.
As duas relações precisam ser compatíveis em número de atributos e domínio.
Questão 1.4
Considerando o banco de dados composto pelas relações a seguir, assinale a expressão em SQL que
retoma o nome dos participantes que realizaram inscrição em dois eventos.
Participantes (codigo_participante, nome, e-mail, cidade, uf)
Eventos (codigo_evento, descricao, data_inicio, data_termino, valor_evento)
Minicursos (codigo_minicurso, descricao, carga_horaria)
Eventos_minicursos (codigo_evento, codigo_minicurso, qtde_vagas, valor_minicurso)
Inscritos_eventos(codigo_participante, codigo_evento, data_inscricao, status)
Inscritos_minicursos (codigo_evento, codigo_minicurso, codigo_participante, presenca)
a) select [Link], as qtde_eventos from participantes, inscritos_eventos
where participantes.codigo_participante = inscritos_eventos.codigo_participante
having qtde_eventos = 2
b) select [Link], count (*) as qtde_eventos from participantes, inscritos_eventos
where participantes.codigo_participante = inscritos_eventos.codigo_participante
group by participantes.codigo_participante
having qtde_eventos = 2
c) select [Link], count (*) > 2 from participantes, inscritos_eventos
where participantes.codigo_participante = inscritos_eventos.codigo_participante
group by participantes.codigo_participante
d) select [Link], qtde_eventos > 2 from participantes, inscritos_eventos
where participantes.codigo_participante = inscritos_eventos.codigo_participante
e) select [Link], count (*) from participantes where
participantes.codigo_participante = inscritos_eventos.codigo_participante
having qtde_eventos = 2
RESOLUÇÃO
A resposta correta é:
select [Link], count (*) as qtde_eventos from participantes, inscritos_eventos
where participantes.codigo_participante = inscritos_eventos.codigo_participante
group by participantes.codigo_participante
having qtde_eventos = 2
Justificativa
Realizar a projeção do atributo nome do participante e a quantidade de participantes agrupados cuja
quantidade de eventos seja igual a 2.
QUESTÕES DISSERTATIVAS
Questão 2
Considere o esquema de relação e as dependências funcionais (DF) especificadas pelo projetista do
banco de dados, realize o processo de normalização para atender à Terceira Forma Normal (3NF).
MATRICULA (RA, nome_aluno, data_consulta, codigo_paciente, nome_paciente, data_nascimento_pac,
codigo_medico, nome_medico, codigo_especialidade, especialidade_med, dignostico).
num_consulta → codigo_paciente, data_consulta, codigo_medico, codigo_especialidade,
diagnostico
codigo_paciente → nome_paciente, data_nascimento
codigo_medico → nome_medico, codigo_especialiadade
codigo_especialidade → especialidade_med
RESOLUÇÃO
Passo a passo:
1FN: a relação está na 1FN, pois não há atributos não atômicos e atributos multivalorados.
2FN: a relação está na 2FN, considerando as dependências funcionais, não há chave composta.
3FN: para estar na 3FN, os atributos não chaves devem depender da chave:
CONSULTA (num_consulta, data_consulta, codigo_paciente, codigo_medico, codigo_especialidade,
dignostico)
PACIENTE (codigo_paciente, nome_paciente, data_nascimento_pac)
MEDICO (codigo_medico, nome_medico, codigo_especialidade)
ESPECIALIDADE (codigo_especialidade, especialidade_med)
Rubricas | critérios de correção
100%: o estudante respondeu a pergunta de maneira completa e correta.
50%: o estudante respondeu parte da pergunta de maneira correta.
Questão 3
Considerando o banco de dados composto pelas relações a seguir, escreva a expressão em Álgebra
relacional que retoma os nomes de todas as disciplinas com mais de cinco créditos.
Depto(CodDepto, NomeDepto)
Disciplina(CodDepto,NumDisc,NomeDisc,CreditosDisc)
PreReq(CodDepto,NumDisc,DeptoReq,NumDisReq)
Oferta(CodDepto,NumDisc,SiglaOfer, AnoSem,DiaSem,HoraInicio,NumHoras,
CodPred,NumSala)
Prédio(CodPred,NomePred)
Sala(CodPred,NumSala,CapacSala)
Professor(CodProf,NomeProf,CodTit,CodDepto)
ProfOferta(AnoSem,CodDepto,NumDisc,SiglaOfer,CodProf)
Titulação(CodTit,NomeTit)
Observações:
● As Chaves Primárias estão sublinhadas.
● O Código de uma disciplina (matéria) é composto pelo código do departamento que a ministra
e pelo número da disciplina dentro do departamento.
● Uma oferta é o horário em que uma disciplina é oferecida.
● Um pré-requisito é uma disciplina que um aluno deve ter cursado como aprovação para poder
cursar a disciplina em questão.
RESOLUÇÃO
𝛑 nome_disc ( 𝞼 ( créditos_disc > 5 (disciplina))
Rubricas | critérios de correção
100%: o estudante respondeu a pergunta de maneira completa e correta.
50%: o estudante respondeu parte da pergunta de maneira correta.