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