On 27/02/2015 14:37, Guimarães Faria Corcete DUTRA, Leandro wrote:
2015-02-27 14:14 GMT-03:00 Flávio Silveira <[email protected]>:
   Me parece que o e-mail caiu no spam de vocês pois coloquei link com fotos
do diagrama.
Não seria normal, pelo menos não se vier em texto simples.


  Certo.

   Primeira pergunta: Qual a forma correta de postar diagramas aqui? No meu
caso eu mandei para o imgur e coloquei o link aqui.
Parece razoável.  Mas a forma preferida é mandar o SQL.  Diagramas
são, necessariamente, resumos da realidade.  O SQL é a realidade, no
caso.

Certo, é que eu resolvi dar muita atenção ao modelo relacional e comprrende-lo bem, antes de me aventurar
  pelo mundo SQL em si.

   Certo, sou novato em banco de dados, comecei agora aprendendo modelagem
relacional, meu primeiro problema é o seguinte: Meu pai me pediu um sistema
simples para controlar financiamentos, saber vencimento, parcelas, juros
etc.
Não seria melhor usar o GNUCash ou algo até mais simples?  O GNUCash
inclusive podia gravar os dados em PostgreSQL.


Tenho certeza que seria, mas eu preciso praticar e futuramente isso será integrado num ERP que estou desenvolvendo para a empresa. É por causa desse ERP que comecei a estudar Banco de Dados e também a razão pela qual comecei uma faculdade de Análise e Desenvolvimento de Sistemas.

   Minha primeira ideia foi criar 3 entidades: Empresa (ID, Nome_Empresa),
Banco (ID, Nome_Banco), Pessoa (ID, Nome_Pessoa, Tipo).
Esses IDs parecem desnecessários.  Parece que os nomes são chaves
naturais, no caso — embora em casos mais complexos dificilmente sejam.
Uma alternativa é substitui-los por CPF/CNPJ.


Como sou novato e para não complicar muito a validação dos cadastros eu pensei em usar IDs para garantir unicidade, futuramente pretendo trocar ID por CNPJ, CPF e código do Banco respectivamente assim que eu for evoluindo. Parece sensato, concorda?

   Meu amigo olhou e sugeriu 3 entidades: Empresa (ID, Nome_Empresa, Tipo),
Financiamento (Parâmetros de financiamento aqui), Pessoa (ID, Nome_Pessoa,
Tipo), sendo que o atributo Tipo na entidade Empresa pode ser B (de Banco)
ou E (Empresa).
Se os atributos de empresa normal e banco forem os mesmos, não há
problema.  Mas isso poderá obrigar a consultar frequentemente o tipo
de empresa.


Exatamente, pode ser excesso de zelo meu, mas estou me dedicando bastante a modelagem relacional para ter coisas com qualidade, mesmo que simples. Comecei lendo o livro Projeto Banco de Dados do Carlos Alberto Heuser, depois comprei o Modelagem Lógica de Dados do Eduardo Bernardes de Castro e para tentar intensificar um pouco meu conhecimento além da leitura, comprei o curso Modelagem Relacional do Eduardo Morelli e oferecido pela DevMedia.

Basicamente todos são claros nesse ponto de definir bem as entidades e colocar atributos que só dependem da entidade, caso contrário tem de ir para o relacionamento entre as entidades.

   Sei que faltam detalhes, mas é só uma visão geral: Qual das duas soluções
parecem mais corretas?
A tua me parece boa.  A dele também não está errada.  Depende dos
detalhes.  Mas pense em usar o GNUCash.  Se for para operar um
negócio, há alternativas mais robustas.  Agora me fogem os nomes, mas
lembro de xTuple, PostBooks…



Obrigado pela ajuda e talvez agora com mais elementos possa fazer novos comentários, fique a vontade!

Abraço,
  Flávio
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a