Modelagem BD - Gesto de Finanças Pessoal

http://www.icefusion.com.br/imagens/gestor.png

Gestor Financeiro Pessoal.

Bom amigos, eu estou estudando melhor a parte de banco de dados e
modelagem de banco, engenharia de software, analise orientada a
objetos e UML e zend framework.
Estão resolvi construir um gestor de finanças pessoais para eu poder
treinar o uso do zend e toda a parte de desenvolvimento. Então vou
contar a “história” do software.
O primeiro passo será cadastrar um usuário. Após isto feito, o
usuario ira cadastrar uma conta, seja um banco ou um cartão de
crédito. Criará também categorias para as despesas para gerar
relatórios que você conhecerá onde está investindo ou gastando seu
dinheiro. Os lançamento chamados de transações, conteram as entradas
de créditos (receitas) e débitos (despesas). O tipo de movimento é que
indicará o que é crédito ou débito. A moeda corrente é habilitada pela
escolha do país na hora do cadastro do usuário. Na hora do lançamento,
se caso o usuário tenha uma receita em moeda estrangeira, ou uma
despesa em moeda estrangeira, o sistema ira acessar um webservice para
obter esta cotação. Cadastrando a moeda e o valor da cotação corrente
no dia do lançamento da despesa ou receita na própria transação.
Se tiverem sugestões ou melhorias, e é cla

A senha com 100 caracteres eu acho é muito grande, seria legal observar o tamanho do INT, porque existe TinyInt, Int, Big Int, você tenque ver qual se adéqua melhor ao seu projeto.