04 Gabarito Prova GB
04 Gabarito Prova GB
04 Gabarito Prova GB
Cód:
060423
Atividade
Acadêmica:
Banco
de
Dados
I
Professor(es):
DENISE
BANDEIRA
DA
SILVA
Data:
23/04/2016
Grau:
B
GABARITO
Questão
1
(1,5
ponto)
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
em
negrito
correspondem
à
chave
primária
das
respectivas
relações
e
os
atributos
que
são
seguidos
da
palavra
“referencia”
sejam
as
chaves
estrangeiras.
Pessoa (IdPessoa: integer, Nome: varchar(4), Endereco: varchar (40))
FonePessoa (IdPessoa: integer referecia 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)
Com
base
nas
informações
e
no
esquema
apresentados
acima,
responda
se
cada
uma
das
afirmações
a
seguir
é
verdadeira
(V)
ou
falsa
(F).
Marque
V
ou
F
ao
lado
de
cada
afirmação
NA
FOLHA
DE
RESPOSTAS.
I. (
F
)
IdRep,
na
relação
Estudante,
nunca
pode
receber
valores
nulos
porque
é
uma
chave
estrangeira
nessa
tabela.
II. (
V
)
DDD,
na
relação
FonePessoa,
nunca
pode
receber
valores
nulos
porque
faz
parte
da
chave
primária
nessa
relação.
III. (
F
)
O
banco
de
dados
criado
com
base
nesse
esquema
permitirá
a
inserção
de
um
estudante,
na
relação
Estudante,
somente
se
ele
fizer
parte
de
uma
república.
IV. (
F
)
A
relação
Fone
Pessoa
tem
quatro
chaves
primárias.
V. (
V
)
A
relação
Estudante
tem
duas
chaves
estrangeiras.
(a) Liste
o
nome
das
repúblicas
que
tem
estudantes
morando
nela.
Ou
seja,
se
não
houver
nenhum
estudante
morando
numa
dada
república,
o
nome
dela
não
deve
aparecer
no
resultado.
SELECT R.nome
FROM Republica R, Estudante E
WHERE R.idRep = E.IdRep
(b) Liste
o
nome
de
cada
república
e
a
quantidade
de
estudantes
que
mora
em
cada
uma
delas.
SELECT R.nome, COUNT(*)
FROM Republica R, Estudante E
WHERE R.idRep = E.IdRep
GROUP BY IdRep, R.nome
(b) Liste
o
nome
dos
estudantes
que
moram
em
repúblicas
e
o
endereço
da
republica
onde
eles
moram.
π Pessoa.Nome Republica.Endereço ( Republica |X| Estudante |X| Pessoa )
A
solução
poderia
também
prever
um
relacionamento
1:1
entre
Pessoa
e
Estudante,
ao
invés
de
usar
uma
Generalização/Especialização
como
está
neste
gabarito.
Considerada
como
correta
também.
e
mais
as
seguintes
informações:
• A chave primária da tabela pedidos é composta pelos atributos: Numero do Pedido + Código Produto.
Responda:
(a) A
tabela
Pedidos
está
na
_____.
Complete
a
lacuna
com
2FN
ou
3FN
na
FOLHA
DE
RESPOSTAS.
Pedi
aos
polos
para
darem
a
opção
de
preencherem
a
lacuna
com
2FN
ou
3FN
ou
NENHUMA
DELAS.
AVALIADA
EM
0,2
A
resposta
correta
é:
NENHUMA
DELAS.
(b) Caso
a
tabela
não
esteja
na
3FN,
normalize
até
a
3FN,
passando
pela
2FN.
Apresente,
na
FOLHA
DE
RESPOSTAS,
as
tabelas,
com
suas
chaves,
na
2FN
e,
depois,
na
3FN.
Em
cada
FN,
apresente
cada
tabela
da
seguinte
forma:
Nome
da
Tabela
Atributos:
______________________
Chave
primária:
_______________
Chave
Estrangeira:
_______________
Tabela
que
referencia:
__________________
AVALAIDA
em
1,8
(0,9
PONTOS)
Tabelas
da
resposta,
na
2FN:
Nome
da
Tabela:
Pedido
Atributos:
Número
do
Pedido,
Cliente,
Endereço,
CGC,
Total
Pedido
Chave
primária:
Número
do
Pedido
Chave
Estrangeira:
Não
tem
Tabela
que
referencia:
-‐
Nome
da
Tabela:
Produto
Atributos:
Código
Produto,
Descrição,
Preço
Unitário
Chave
primária:
Código
Produto
Chave
Estrangeira:
Não
tem
Tabela
que
referencia:
-‐