Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/08/2013, 12:00
Avatar de korg1988
korg1988
 
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 18 años, 4 meses
Puntos: 19
Encrucijada sobre normalización de base de datos

Hola, tanto tiempo!. Tengo una duda que me tiene atrapado.

Estoy planteando una tabla con personas, cuentas, movimientos por cuenta, productos, servicios y stock.

El tema es el siguiente...
Existe una tabla Cuentas.. que tiene todas las cuentas de cada persona. Estas cuentas tienen tipos (Cuenta Cliente, Cuenta Proveedor, Cuenta Banco, etc).
El problema es que estas cuentas tienen atributos distintos, pero al estar en la misma tabla hay registros que tienen algunos campos completos, y otros no... (logico)

Al programar, debo realizar todas mis consultas poniendo Where id_tipo = "CLI" en el caso de que quiera cuentas de cliente!...

Trabajar con sqlalchemy (ORM) se complica tambien por el mismo motivo...
La solucion mas orientada a objetos seria tener tablas separadas por cada tipo de cuenta, y que cada una tenga los atributos justos y necesarios que requiere cada cuenta!...

De esta manera podria tener en sqlalchemy por ejemplo, una clase CuentaCliente, otra CuentaProveedor, y las consultas serian mas "directas".

Que opinan sobre esto? Ya que de dividir todo en tablas separadas, tendria que tener una tabla de movimientos de cuenta por cada tipo de cuenta (en lugar de la tabla unificada que tengo ahora), etc.


Saludos!