Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Normalizacion de tabla

Estas en el tema de Normalizacion de tabla en el foro de Bases de Datos General en Foros del Web. Hola tengo esta tabla que pertenece a un sistema de contabilidad: Código: idpartida idcuenta concepto debe haber 1 1 xxxxxxx 5000 0 2 2 xxxxxxx ...
  #1 (permalink)  
Antiguo 24/10/2005, 15:01
 
Fecha de Ingreso: julio-2005
Ubicación: Mexico
Mensajes: 140
Antigüedad: 18 años, 9 meses
Puntos: 0
Normalizacion de tabla

Hola tengo esta tabla que pertenece a un sistema de contabilidad:

Código:
idpartida    idcuenta    concepto    debe          haber

1              1         xxxxxxx     5000           0
2              2         xxxxxxx      0            3000
3              3         xxxxxxx      0            2000
4              4         xxxxxxx     1000           0
5              1         xxxxxxx      0            4000


¿Es corecta? o tengo que cambiarla a esta:


Código:
idpartida    idcuenta    concepto    tipo          monto

1              1         xxxxxxx     debe          5000
2              2         xxxxxxx     haber         3000
3              3         xxxxxxx     haber         2000
4              4         xxxxxxx     debe          1000
5              1         xxxxxxx     haber         4000
__________________
SELECT * FROM LA_VIDA
  #2 (permalink)  
Antiguo 24/10/2005, 16:17
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 4 meses
Puntos: 11
voy por la segunda

si existe el debe no puede existir el haber y en la primera si puede ser posible
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #3 (permalink)  
Antiguo 24/10/2005, 16:47
 
Fecha de Ingreso: julio-2005
Ubicación: Mexico
Mensajes: 140
Antigüedad: 18 años, 9 meses
Puntos: 0
Objecion

Por medio de la programacion se puede restringir
__________________
SELECT * FROM LA_VIDA
  #4 (permalink)  
Antiguo 26/10/2005, 12:03
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 4 meses
Puntos: 11
Cita:
Iniciado por ane_aaron
Por medio de la programacion se puede restringir
Si la puedes restringir pero que pasa con los datos que son introducidos a traves de un query o por transacciones de importacion? lo mejor es como te he dicho
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #5 (permalink)  
Antiguo 27/10/2005, 09:14
 
Fecha de Ingreso: julio-2005
Ubicación: Mexico
Mensajes: 140
Antigüedad: 18 años, 9 meses
Puntos: 0
El que sabe sabe

Ni hablar gracias ya lo modifique.
__________________
SELECT * FROM LA_VIDA
  #6 (permalink)  
Antiguo 27/10/2005, 09:21
 
Fecha de Ingreso: julio-2005
Ubicación: Mexico
Mensajes: 140
Antigüedad: 18 años, 9 meses
Puntos: 0
Oye, que opinas de esta otra tabla:

Cita:
Iniciado por ane_aaron
Gracias, no sabia ni por donde entarle, porfa checa esto y denme tu opinion (cambie algunos nombres para hacerlo mas generico) a ver si capte tu idea:

1. Para el numero de cuenta se concatenarian los niveles: 21000000 Terrenos,¿Sera necesario almacenarlo como un campo?
2. El campo ultimo_nivel indica que la cuenta puede ser incluida en las partidas: 1 puede incluirse. 0 no puede incluirse, es una cuenta que agrupa a otras.
3. Las consultas las veo medio dificiles con esta estructura.
Código:
+----------+---------+---------+---------+---------+----------------------------------------------------+--------------+
| idcuenta | nivel_1 | nivel_2 | nivel_3 | nivel_4 | nombre                                             | ultimo_nivel |
+----------+---------+---------+---------+---------+----------------------------------------------------+--------------+
|        1 | 11      | 00      | 00      | 00      | Caja y Banco                                       |            0 |
|        2 | 11      | 01      | 00      | 00      | Efectivo                                           |            1 |
|        3 | 11      | 02      | 00      | 00      | Caja chica                                         |            1 |
|        4 | 11      | 03      | 00      | 00      | Bancos                                             |            0 |
|        5 | 11      | 03      | 01      | 00      | Banco de Reservas                                  |            1 |
|        6 | 11      | 03      | 02      | 00      | Banco Popular                                      |            1 |
|        7 | 11      | 03      | 03      | 00      | Banco del Comercio                                 |            1 |
|        8 | 12      | 00      | 00      | 00      | Cuentas por Cobrar                                 |            0 |
|        9 | 12      | 01      | 00      | 00      | Cuentas por cobrar clientes                        |            1 |
|       10 | 12      | 02      | 00      | 00      | Cuentas por cobrar funcionarios y empleados        |            1 |
|       11 | 12      | 03      | 00      | 00      | Otras cuentas por cobrar                           |            1 |
|       12 | 12R     | 00      | 00      | 00      | Reservas para cuentas incobrables                  |            1 |
|       13 | 13      | 00      | 00      | 00      | Inventarios                                        |            0 |
|       14 | 13      | 01      | 00      | 00      | Mercanc�s                                          |            1 |
|       15 | 13      | 02      | 00      | 00      | Materia prima                                      |            1 |
|       16 | 13      | 03      | 00      | 00      | Productos en proceso                               |            1 |
|       17 | 13      | 04      | 00      | 00      | Productos terminados                               |            1 |
|       18 | 21      | 00      | 00      | 00      | Terrenos                                           |            1 |
La estructure asi porque lascuentas tienen una relacion con si mismas. Agunas agrupan a otras y solo algunas se consideran de ultimo nivel. Deberia hacer Cuatro tablas, una para cada nivel?
nota: no todas las cuentas tienen el mismo nivel de agrupacion
__________________
SELECT * FROM LA_VIDA
  #7 (permalink)  
Antiguo 27/10/2005, 14:03
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 4 meses
Puntos: 11
pues te recomendaria una estructura mas o menos asi

TABLA
-------
cuenta (identificador unico, numero de cuenta)
Nombre (descripcion)
Nivel (nivel al que pertenece)
bandera (Bandera para determinar si es de detalle o de resumen)
Padre (numero de cuenta padre si es que tiene)
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:43.