Você está na página 1de 3

IF Sudeste de Minas Gerais Campus de Barbacena

Disciplina: Banco de Dados


Prof. Ilma Barbosa
Resoluo da 3 Lista de Exerccios Modelo Relacional

a)
Verso 1
Programador (CodProgramador, NomeProgramador)
Programa (CodPrograma, NomePrograma)
Analista (CodAnalista, NomeAnalista)
Faz (#CodProgramador, #CodPrograma, #CodAnalista, Nota)
Verso 2
Programador (CodProgramador, NomeProgramador)
Programa (CodPrograma, NomePrograma)
Analista (CodAnalista, NomeAnalista)
Analisa (#CodProgramador, #CodPrograma, #CodAnalista, Nota)
b)
Livro (ISBN, NomeLivro, #CodEditora)
Autor (CodAutor, NomeAutor)
Editora (CodEditora, NomeEditora)
Descritor (CodDescritor, Descricao)
Exemplar (CodExemplar, #ISBN, #CodPrateleira)
Leitor (CodLeitor, NomeLeitor, Endereco)
Prateleira (CodPrateleira, Localizacao)
Descreve (#ISBN, # CodDescritor)
Escreve ((#ISBN, #CodAutor)
Empresta
(#
CodLeitor,#(CodExemplar,
ISBN),
DataParaDevolucao, DataDaDevolucao)

DataEmprestimo,

c)
Resoluo 1:
Comprador (CodClienteComprador, NomeCliente, Morada, Telefone)
Vendedor (CodClienteVendedor, NomeCliente, Morada, Telefone)
Casa (CodCasa, Preco, AnoConstrucao, NumAndares, ZonaLocalizacao,
#CodClienteVendedor)
Interesse (CodInteresse, NumAndares, Localizacao)
Visita (#CodClienteComprador, # CodCasa, DataHora)
Possui (#CodClienteComprador, #CodInteresse)
Resoluo 2: No uma resoluo correta pois um mesmo cliente pode ser
vendedor e comprador e no campo TIPO, tem-se que colocar qual o tipo do
cliente.
Cliente (CodCliente, NomeCliente, Morada, Telefone, Tipo)
Casa (CodCasa, Preco, AnoConstrucao, NumAndares, ZonaLocalizacao,
#CodClienteVendedor)
Interesse (CodInteresse, NumAndares, Localizacao)
Visita (#CodClienteComprador, # CodCasa, DataHora)
Possui (#CodClienteComprador, #CodInteresse)

Resoluo 3: O SGBD ter que garantir atravs de triggers, que nas tabelas se
tenham codcliente comprador ou vendedor, de acordo com o esperado.
Cliente (CodCliente, NomeCliente, Morada, Telefone, Vendedor, Comprador)
Casa (CodCasa, Preco, AnoConstrucao, NumAndares, ZonaLocalizacao,
#CodClienteVendedor)
Interesse (CodInteresse, NumAndares, Localizacao)
Visita (#CodClienteComprador, # CodCasa, DataHora)
Possui (#CodClienteComprador, #CodInteresse)
Resoluo 4: A desvantagem, neste caso o recadastramento do CodCliente
em uma ou duas tabelas diferentes.
Cliente (CodCliente, NomeCliente, Morada, Telefone)
Vendedor (# CodClienteVendedor)
Comprador # CodClienteComprador)
Casa (CodCasa, Preco, AnoConstrucao, NumAndares, ZonaLocalizacao,
#CodClienteVendedor)
Interesse (CodInteresse, NumAndares, Localizacao)
Visita (#CodClienteComprador, # CodCasa, DataHora)
Possui (#CodClienteComprador, #CodInteresse)
d)
Administradora (CodAdm, NomeAdm)
Condominio (CodCondominio, NomeCondominio, #CodAdm)
Unidade (CodUnidade, NomePredio, NumApto, #CodCondominio, #CodLoc,
DataLocacao)
Proprietario (CodProp, NomeProp)
Locatario (CodLoc, NomeLoc)
Pertence (#CodUnidade, #CodProp)
e)
Resoluo 1: Resoluo mais adequada, apesar de que o SGBD ter que
garantir atravs de triggers, que nas tabelas se tenham Nmero de Conta
Corrente ou Poupaa, de acordo com o esperado.
Agencia (CodAgencia, NomeAgencia)
Cliente (CodCliente, NomeCliente, #CodAgencia)
Conta (NumConta, DataAbertura, Tipo)
Cartao (#NumContaCorrente, NumCartao)
Rendimento (#NumContaPoupanca, MesAno, ValorRendimento)
Possui (#CodCliente, #NumConta)
Resoluo 2: O SGBD ter que garantir atravs de triggers, que nas tabelas se
tenham Nmero de Conta Corrente ou Poupana, de acordo com o esperado.
O SGBD ter que garantir atravs de triggers, que na tabela Conta, os campos
booleanos Corrente e Poupana sejam apenas um deles verdadeiro.
Caso contrrio, no uma soluo correta porque uma conta s corrente ou
poupana, no os 2 juntos.

Agencia (CodAgencia, NomeAgencia)


Cliente (CodCliente, NomeCliente, #CodAgencia)
Conta (NumConta, DataAbertura, Corrente, Poupanca)
Cartao (#NumContaCorrente, NumCartao)
Rendimento (#NumContaPoupanca, MesAno, ValorRendimento)
Possui (#CodCliente, #NumConta)
Resoluo 3: A desvantagem, neste caso o recadastramento do CodConta
em mais uma tabela.
Agencia (CodAgencia, NomeAgencia)
Cliente (CodCliente, NomeCliente, #CodAgencia)
Conta (NumConta, DataAbertura)
Corrente (#NumContaCorrente)
Poupanca (#NumContaPoupanca)
Cartao (#NumContaCorrente, NumCartao)
Rendimento (#NumContaPoupanca, MesAno, ValorRendimento)
Possui (#CodCliente, #NumConta)
Resoluo 4: Resoluo incorreta pois na tabela Possui, no se saberia a qual
tabela estaria relacioando o campo CodConta (se corrente ou poupana).
Agencia (CodAgencia, NomeAgencia)
Cliente (CodCliente, NomeCliente, #CodAgencia)
Corrente (#NumContaCorrente)
Poupanca (#NumContaPoupanca)
Cartao (#NumContaCorrente, NumCartao)
Rendimento (#NumContaPoupanca, MesAno, ValorRendimento)
Possui (#CodCliente, #NumConta)