database - datos - como crear un sistema contable en access paso a paso
DiseƱo de la base de datos: tabla de transacciones contables (2)
En un diseño de base de datos contable general, es lógico y eficiente almacenar sus débitos y créditos en un solo campo (es decir, la opción 2), ya que esto simplificaría la agregación, la manipulación de números y la generación de informes. Debe haber un campo de fecha y hora adjunto a cada transacción de débito y crédito para filtrar un período en particular. Obtenga el libro de Smashwords, titulado, diseño de base de datos contable. Proporciona algunas buenas muestras sobre el diseño del sistema contable y alguna consulta de SQL interesante para informes financieros.
Almacenar la entrada de transacción en una base de datos de contabilidad de doble entrada.
Se me ocurrieron dos soluciones, opción 1 y opción 2, me dijeron que la mayoría de los paquetes bancarios eligieron la opción 2 para el diseño de su base de datos. Sin embargo, prefiero la opción 1 sobre la opción 2 porque simplemente tiene sentido y es más eficiente.
Es decir, para el movimiento de fondos 2, la opción 1 requiere 2 registros, mientras que la opción 2 requiere 4 registros.
Me gustaría saber por qué el banco elegiría la opción 2 sobre la opción 1? ¿Cuál es la razón para esto?
Option 1)
TRANSACTION
Credit_AccountId
Debit_AccountId
Amount
...
Option 2)
TRANSACTION
AccountId
Amount
...
La opción 1 será potencialmente un poco más eficiente desde una perspectiva de inserción. Pero como muchas de las transacciones contables van a afectar a más de dos cuentas, es probable que el beneficio sea sustancialmente menor a 2: 1.
La opción 2 será más clara para estas transacciones más complejas. Es decir, un contador normalmente encontraría tres filas
- Débito A $ 100
- Crédito B $ 60
- Crédito C $ 40
más claro que dos filas
- Débito A $ 60 Crédito B $ 60
- Débito A $ 40 Crédito C $ 40
Si tiene varias cuentas en ambos lados, también sería poco claro cómo hacer coincidir los débitos y créditos en una sola cuenta. Es decir,
- Débito A $ 100
- Débito B $ 30
- Crédito C $ 60
- Crédito D $ 70
podría ser representado como
- Débito A $ 60 Crédito C $ 60
- Débito A $ 40 Crédito D $ 40
- Débito B $ 30 Crédito D $ 30
pero también hay otras formas posibles de construir los datos para el modelo de datos 2.
Además, la opción 2 será más eficiente si intenta determinar el saldo actual de una cuenta en particular agregando las transacciones.