Informações
Nome da disciplina: Banco de Dados (semestre: 2024/2)
Nome do professor: Josemar Luis Felix
Tipo: Atividade
Deadline: 2024-09-02T00:00:00.000-03:00
Aluno
Nome: Matheus de Lara Szajda
RGM: 13356089
Curso: Engenharia de Bioprocessos e Biotecnologia
Versão online também disponível em https://ph.omg.lol/up-bd-ativ3, apenas após a data de entrega (2024-09-02T00:00:00.000-03:00).
Exercícios
1
Deseja-se desenvolver um banco de dados para uma empresa de consultoria para guardar dados sobre seus projetos e funcionários. Tendo feito o levantamento de requisitos, a solicitação do cliente diz que, para cada projeto você deverá armazenar o código, nome, logradouro, CEP, cidade, estado da empresa que solicitou o projeto, número do projeto, as datas de início e finalização do projeto, valor estipulado do projeto, valor real do projeto, número, nome, RG e especialização dos funcionários que tiveram alguma colaboração durante o projeto, as horas trabalhadas em cada projeto e a função exercida (gerente ou membro). Ressalta-se que uma mesma empresa pode solicitar diversos projetos e um mesmo funcionário pode trabalhar em diversos projetos. Elabore o MER e o DER com suas respectivas cardinalidades.
erDiagram
FUNCIONARIO {
string id_funcionario PK
string nome
string rg
string especializacao
}
EMPRESA {
string id_empresa PK
string nome
string logradouro
string cep
string cidade
string estado
}
PROJETO {
string id_projeto PK
string nome
string id_empresa FK
date data_inicio
date data_fim
decimal valor_estimado
decimal valor_real
}
ALOCACAO {
string id_projeto FK
string id_funcionario FK
int horas_trabalhadas
string funcao
}
EMPRESA ||--o{ PROJETO : solicita
PROJETO ||--|{ ALOCACAO : envolve
FUNCIONARIO ||--|{ ALOCACAO : trabalha_em2
Você foi contratado para desenvolver um BD de uma empresa contendo determinados produtos, fornecedores, clientes, vendas e lojas. Sabe-se que:
- Um dado produto tem a possibilidade de ser fornecido por diversos fornecedores, um determinado fornecedor pode fornecer inúmeros produtos;
- A venda a um cliente pode conter vários tipos de produto e um tipo de produto pode fazer parte de várias vendas;
- O processo de venda não é realizado de maneira online aos clientes, ou seja, as vendas somente são feitas nas lojas da empresa;
- Uma venda obrigatoriamente possui os dados referente ao número da NF, data da venda e valor da venda;
- Um produto possui código, nome, preço, quantidade e descrição;
- Um fornecedor possui código, nome, CNPJ, logradouro, CEP, cidade e estado;
- Uma loja possui código, nome, CNPJ, logradouro, CEP, cidade e estado;
- Um cliente possui nome, CPF, logradouro, cidade e estado.
Construa um MER e um DER com suas respectivas cardinalidades para o problema acima.
erDiagram
PRODUTO {
string codigo_produto PK
string nome
decimal preco
int quantidade
string descricao
}
FORNECEDOR {
string codigo_fornecedor PK
string nome
string cnpj
string logradouro
string cep
string cidade
string estado
}
FORNECEDOR_PRODUTO {
string codigo_produto PK
string codigo_fornecedor PK
}
CLIENTE {
string nome
string cpf PK
string logradouro
string cidade
string estado
}
LOJA {
string codigo_loja PK
string nome
string cnpj
string logradouro
string cep
string cidade
string estado
}
VENDA {
string numero_nf PK
date data_venda
decimal valor_venda
string cpf_cliente FK
string codigo_loja FK
}
ITEM_VENDA {
string numero_nf FK
string codigo_produto FK
int quantidade
decimal preco_unitario
}
FORNECEDOR ||--o{ FORNECEDOR_PRODUTO : fornece
FORNECEDOR_PRODUTO }o--|| PRODUTO : faz_parte
CLIENTE ||--o{ VENDA : realiza
LOJA ||--o{ VENDA : realiza
VENDA ||--|{ ITEM_VENDA : inclui
PRODUTO ||--o{ ITEM_VENDA : faz_parte3
A partir do levantamento de requisitos junto ao cliente e posterior modelagem conceitual foi criado o diagrama de entidade e relacionamento (DER) abaixo.

Avalie as seguintes afirmações a respeito de DER proposto.
- No modelo lógico, o resultado final é a criação da tabela Cliente (CPF (PK), nome, endereço, número, saldo).
- No modelo lógico, o resultado final é a criação das tabelas Cliente (CPF (PK), nome, endereço, nrConta(FK)) e Conta (nrConta (PK), saldo).
- No modelo lógico, o resultado final é a criação das tabelas Cliente (CPF (PK), nome, endereço) e Conta(numero (PK), saldo, CPF(FK))
- No modelo lógico, o resultado final é a criação das tabelas Cliente(CPF (PK), nome, endereço, nrConta (FK)) e Conta (nrConta (PK), saldo, CPF(FK))
4
Em uma empresa cada funcionário recebe uma senha e uma quantia para a realização de chamadas telefônicas pertinentes a rotina da empresa. Com o objetivo de um maior controle nas suas ligações, uma funcionária (que faz faculdade na área de sistemas) resolveu desenvolver uma aplicação para controlar as ligações telefónicas. Toda ligação será feita pelo computador. Após o levantamento de dados, ela chegou ao seguinte modelo conceitual.

Em relação ao modelo lógico, considere as afirmativas a seguir.
- Serão criadas as Tabelas Ligações, Contatos e Telefone.
- A tabela Ligações receberá como chave estrangeira o atributo Id da tabela Contatos.
- A tabela Contatos será formada pelos seguintes atributos: Id, Nome, DDD, NrTelefone. Onde Id é a chave primária da tabela.
- A tabela Contatos será formada pelos seguintes atributos: Id, Nome, IdLigação. Onde Id é a chave primária da tabela Contatos e IdLigação é a chave estrangeira.
5
Considerando um BD relacional, tem-se que o modelo lógico de dados, tem como conceito básico estabelecer relações entre linhas de tabelas. Qual o tipo de chave que possui como particularidade se relacionar com a chave primária de outra tabela ou da mesma tabela.
6
Assinale a alternativa que preenche de maneira adequada as lacunas abaixo.
- Restrição de _________ : Nenhum valor de chave pode ser nulo, porque este valor identifica a tupla numa relação.
- Restrição de _________ : Especificada para manter a consistência entre tuplas de duas relações.
- Restrições de _________ : Especificam as chaves candidatas de cada esquema de relação; valores de chaves candidatas devem ser distintos.