Analizando Base de datos De finanzas Partes 1

El sistema esta pensado para manejar finanzas entre Personas y negocios, y tambien al manejar cuentas, con tasas, tiene todas las caracteristicas para facturar y tener un carrito de compras sin embargo en esta primera version no se tratara solo crearemos la tabla Clientes con los siguientes campos

TABLA Clientes – clients-

  • ID
  • Nombre del cliente (name)
  • Subdominio interno de la plataforma Ejemplo: Mitienda.owfinance (subdomain)
  • dominio a donde puede ser dirigido mitienda.com (esto lo trataremos en una siguiente version
  • TimeStamp
 
Tabla Usuarios -users-

Los usuarios pueden ser Integrantes de una familia, clientes de una empresa, Deudores, empleados de una empresa, entonces un cliente puede tener varios usuarios, en este caso necesitamos que tenga la informacion necesario para acceder, el rol que tiene la preferencia de moneda, pais, Correo electronico entonces seria 

  • id(Clave primaria)
  • name(Nombre)
  • user(usuario)
  • password(contraseña)
  • currency_id(Moneda preferida de este usuario esta estara asociada a otra tabla externa)
  • email (Correo electronico)
  • country (pais)
  • client_id(Cuenta de cliente asociada un cliente puede tener varios usuarios).
  • TimeStamp
Tabla Cuentas -accounts-
La tabla cuentas son los distintas carteras que tiene un usuario pueden ser cuentas personales o deudas, pueden ser asociadas a otros usuarios, ejemplo, si a un amigo le debo una cantidad X de dinero entonces abro una cartera con saldo negativo, puedo tener mi cuenta sin asociarla a otro usuario, pero si deseo puedo añadirlo para que el pueda tenerlo en su Tablero (se usara una tabla pivote para esto) que explicare mas adelante.
 
  • id(Clave Primaria)
  • name (Nombre de la cuenta)
  • initial(Saldo inicial)
  • current(saldo actual)
  • rate (tasa respecto al dolar)
  • currency_id (moneda de la cuenta)
  •  user_id (usuario asociado a la cuenta)
  • active (si esta activada o no la cuenta para usarla en el total)
  • TimeStamp
 Tabla pivote entre cuentas y usuarios -account_users-
 
Esta es la tabla que permite conectar cuentas con usuarios, y alli define los permisos que tiene si es solo permisos de ver por ejemplo el usuario solo podra ver el saldo y no aportar movimientos o requerir aprobacion (esto aun no esta definido), y los permisos administrativos es para cuentas en conjunto. como caracteristica especial el user_id no puede ser igual al registro user_id en el registro account_id porque eso crearia redundancia de datos y no puedes tener una cuenta en conjunto contigo mismo y no puedes tener una deuda contigo mismo
 
  • id
  • user_id
  • account_id
  • permission

Tabla Transacciones

Los saldos de las cuentas se mueven con transacciones, esto permite varias operaciones

las trasnferencias entre cuentas son dos transacciones

si el monto de la trasnferencia es negativo es un gasto, y si es positivo entonces es un deposito

luego se adicionara la tabla de pagos y facturas alli se describen los items 

  • name(nombre de la transaccion esta se genera automaticamente o se usa el id del banco)
  • account_id(id de la cuenta)
  • category_transaction_id(Categoria de la transaccion)
  • amount(monto de la trasnaction)
  • comission(comision en caso de que tenga)
  • rate_tax(tasa del momento de la trasnfaccion)
  • dolar_amount(monto en dolares de la transaction)
  • timestamp

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *