Informática, perguntado por gabypopolin, 11 meses atrás

1 - No seu entendimento, qual a necessidade dos Relacionamentos em banco de dados existirem?
2 - Qual a diferença entre Relacionamentos Condicionais e Incondicionais? Cite um exemplo de cada e argumente sua resposta.
3 - O que é Grau do Relacionamento e qual problema ele resolve? Cite um exemplo na sua argumentação.
4 - Quais são os três graus de relacionamento e qual a diferença entre eles?
5 - Como podemos verificar se um relacionamento existe realmente? Argumente sua resposta ou exemplifique.
6 - O que é chave estrangeira e qual a necessidade de incluirmos ela em nossa estrutura de dados?
7 - Quando haverá ocorrência de valores nulos em nosso banco de dados?
8 - Por que é sempre bom que se efetue a leitura de um relacionamento em ambos os sentidos?


bokomoko: sào 8 perguntas ! algumas demandam uma explicaçao grande. recomendo quebrar em 8 perguntas diferentes e contextualizar

Soluções para a tarefa

Respondido por bokomoko
0
1 - No seu entendimento, qual a necessidade dos Relacionamentos em banco de dados existirem?

Imagine uma empresa que vende laticínios para uma rede de supermercados. Imagine que são 10 lojas na mesma rede e que toda a cobrança é realizada num escritório central. Ou seja, nas lojas, não se paga aos fornecedores. As contas devem ser mandadas para a central onde o departamento financeiro paga. Ou seja, entrega os produtos nas lojas e manda a conta para a central.

Como laticínio é muito perecível, as lojas só armazenam o que cabe na prateleira exposta aos clientes. Uma promotora do produto fica de olho nessas prateleiras e toda vez que elas começam a esvaziar, ela avisa ao fornecedor de laticínios que manda um veículo leve entregar mais algumas caixas de produtos. Isso é o que se chama de "reposição", ou seja, manter as prateleiras cheias. Durante um dia, cerca de 6 entregas são feitas por loja, assim a loja garante a seus clientes que tem produtos "fresquinhos" e diminui o risco de ter produtos com validade vencida.

Façamos as contas
cada loja recebe 6 notas fiscais de venda por dia. Como são 10 lojas, temos 60 notas fiscais por dia. Mantendo essa média (tem dia que dá mais entregas, tem dia que dá menos). Durante 30 dias, teremos 1800 notas fiscais emitidas contra as lojas dessa rede de supermercado.

Agora imagina que o fornecedor de laticínios atende outras 20 redes de supermercados, padarias, restaurantes, etc, Mantendo essa média, teríamos algo perto de 36 mil notas fiscais emitidas por mês, concorda ? 

Agora imagina que entre tamanhos e sabores, existem 12 produtos diferentes na nota. Isso dá 36 mil notas vezes 12 linhas de produtos = 432 mil linhas
20 redes -> 10 lojas -> 6 notas -> 12 ítens -> 30 dias = 432 mil linhas

Vamos colocar isso tudo numa planilha só para emitir as notas
A planilha teria 432 mil linhas  onde os dados de : 
- cada cliente apareceria 21600 vezes repetidas (a qtde de linhas x notas x lojas x dias)
- cada loja apareceria 21600 (a qtde de linhas x notas x dias)
- cada produto apareceria 36 mil vezes (a qtde de clientes x lojas x notas x dias)

Percebe como os dados ficam repetidos ? 
por isso que, em vez de colocarmos nessa planilha, 36 mil vezes os dados inteiros do produto (cor, sabor, tamanho, embalagem, data de validade) colocamos um código do produto. Economizamos muito espaço de memória

Em vez de colocarmos os dados do cliente 21600 vezes (cnpj, endereço de entrega, endereço de fatura) colocamos apenas o código dele.

e assim por diante. Dessa forma, utilizando códigos para cada entidade, estabelecemos uma relaçao entre elas
Por isso que se usa relacionamento: para simplificar os dados e diminuir o espaço que esses dados ocupam na memória (normalmente secundária) do computador.


Perguntas interessantes