Será buena practica?

185 views
Skip to first unread message

Eric Natareno Guerra

unread,
Dec 8, 2014, 12:58:06 AM12/8/14
to publicesvfoxpro
Amigos,  quisiera saber si es buena practica almacenar en una sola tabla registros de varios tipos de documentos, por ejemplo Cotizaciones, pedidos, facturas o lo mejor seria crear una tabla por tipo de documento. Por sus comentarios o experiencias muy agradecido

Irwin Rodriguez

unread,
Dec 8, 2014, 9:10:01 AM12/8/14
to publice...@googlegroups.com
Hola Eric,

En teoría se debe tener una tabla por cada tipo de movimiento pero en la practica eres tu quien decide como trabajar. Por mas comodidad se podrían tener todos los movimientos en una misma tabla pero se debe tener en cuenta la cantidad de concurrencias que tendrá dicha tabla, de manera que una estructura normalizada mas unos indices deben ser considerados.

Saludos!


El 8 de diciembre de 2014, 1:28, Eric Natareno Guerra <tqany...@gmail.com> escribió:
Amigos,  quisiera saber si es buena practica almacenar en una sola tabla registros de varios tipos de documentos, por ejemplo Cotizaciones, pedidos, facturas o lo mejor seria crear una tabla por tipo de documento. Por sus comentarios o experiencias muy agradecido



--
Ing. Irwin Rodríguez
 
Consultor Informático
 
"Las ideas son fuerzas intangibles, pero tienen más poder que el cerebro físico de donde nacen. Tienen el poder de seguir viviendo, aún después de que el cerebro que las ha creado haya regresado al polvo"

NOTA: La información mostrada en este mensaje es de caracter Confidencial y está dirigida unicamente a los contactos señalados en el encabezado; si el lector de este correo no es el destinatario del mismo, se le notifica que cualquier copia o distribución queda totalmente prohibida. Si usted ha recibido este mensaje por error, por favor notifique inmediatamente al remitente por este mismo medio y bórrelo de su sistema.

mapner

unread,
Dec 8, 2014, 10:16:58 AM12/8/14
to publice...@googlegroups.com
Hola,

Es un viejo tema de diseño. Si trabajásemos con bases de datos orientadas a objeto, definiríamos un comprobante padre Documento del cual heredarían los demás como Factura, Recibo, ... Pero la realidad es que trabajamos con bases de datos relacionales, y por lo general se hacen adaptaciones de compromiso. El unificar o el diversificar diseño tiene sus ventajas y desventajas. Lo recomendable sería solo unificar cuando las coincidencias de propiedades y comportamiento fueran tantas que así lo justifiquen.

Saludos

Eric Natareno Guerra

unread,
Dec 10, 2014, 12:22:31 AM12/10/14
to publicesvfoxpro
Gracias Irwin y Mapner, tomaré en cuenta sus comentarios de mucha ayuda por cierto. Saludos

Carlos Miguel FARIAS

unread,
Dec 10, 2014, 4:55:06 AM12/10/14
to Grupo Fox

Como diseñes depende de los datos que tengas que manejar en cada tipo de documento.
Todo documento debería tener un identificador interno (campo único), para simplificar las relaciones.
Todo documento tiene un emisor y un receptor (personas, oficina, etc.) Todo documento tiene una fecha de creación, impresión, por supuesto todo documento tiene un tipo de documento, y donde más se pueden diferenciar es en la clave especifica de documento.
Una factura, un remito, una orden de pedido, etc. pueden tener claves similares, y en algunos casos pueden hacerse similares, por ejemplo una factura (en Argentina) tiene una letra, un número de sucursal, punto de venta y un número. Un sistema de expedientes podría perfectamente usar la columna sucursal para guardar el año y el número, seria el mismo que la factura.
En su momento diseñamos un sistema de facturación donde:

personas = {idPersona, etc.}
documentos = {idDocumento, cLetra, iSucursal, iNumero, fCreado, fEmitido, idEmisor, idReceptor, idOperador, etc.}
detalle = {idDetalle, idPedido, idRemito, idFactura, idNota, iCantidad, yPrecio, iListaPrecio}

Los documentos podrían corresponder a la empresa o a los proveedores (depende del idEmisor, asociado con personas, eso permitía además manejar facturación multiempresa.
La ventaja de esto es que renglón de detalle de un pedido se podía atender con distintos remitos, y en distintas facturas, un remito podía incluir artículos de diferentes pedidos y facturarse por separado, y una factura atendía a diversos pedidos y diversos remitos. Algo parecido con las notas de crédito débito.
Si algún detalle no tenia el documento correspondiente asociados, simplemente cargaba un valor null en las claves correspondientes
Si un detalle se cargaba a un documento por error, se podía pasar a otro documento (o anular el vinculo).
Ref: Negrita identificadores (indices) si subrayado: clave primaria, si itálica, admiten valores nulos.
Solo cuestión de gustos y de diseño
Saludos: Miguel, La Pampa (RA)

Victor Espina

unread,
Dec 11, 2014, 5:50:36 PM12/11/14
to publice...@googlegroups.com
Es cuestion de diseño de tu BD y de experiencia personal.  Yo tuve un jefe que diseño una BD que podia almacenar todas las transacciones tipicas de una empresa, incluyendo la contabilidad, en solo 6 archivos principales.... cuando nos lo presento pense (y le dije) que era una locura... y resulto que no solo fue posible sino que funciono de maravillas.

Victor

Eric Natareno Guerra

unread,
Jan 27, 2015, 6:42:06 PM1/27/15
to publicesvfoxpro
Gracias por sus observaciones amigos, me sirvió de mucho sus comentarios. Me decidí por una tabla para almacenar encabezados de documentos (Diferentes tipos de documentos) Muchas gracias

Allan Raúl Acuña

unread,
Jan 27, 2015, 6:50:17 PM1/27/15
to publice...@googlegroups.com
Considero mas prudente, por separado.

Ya que puede ser que en algún momento lleguen a pesar más las facturas que las cotizaciones o cualquiera de ellos. Es decir cuando necesites consultar un tipo de documento que a lo mejor hay poco registros la CONSULTA puede ser un poco más tardada.

Saludos cordiales.

Lic. Allan Raúl Acuña
Analista Programador
msn= allan...@hotmail.com
skype= NicEasySoft
            +(505) 8 999 8950
Managua, Nicaragua
Centroamérica



Date: Tue, 27 Jan 2015 17:42:03 -0600
Subject: Re: [vfp] Re: Será buena practica?
From: tqany...@gmail.com
To: publice...@googlegroups.com

mpulla

unread,
Jan 27, 2015, 11:46:55 PM1/27/15
to publice...@googlegroups.com
Hola Allan.

Como dice es cuestión de diseño, con unos buenos índices no me preocuparía mucho por el peso de los diferente documentos, pero si se daria el caso podrías echar mano de índices filtrados, en todo caso sería de probar.

Saludos.
Mauricio.

Carlos Miguel FARIAS

unread,
Jan 28, 2015, 10:54:26 AM1/28/15
to Grupo Fox
Yo también soy de meter varios tipos de documentos en un mismo archivo, hay muchísima información en común (fecha emisión, fecha impresión, emisor, receptor, etc.) probablemente con un formulario basado en una misma clase, pueda consultarse todo sin tener que reinventar cada consulta desde cero (cambia un filtro).
Pero te simplifica si tienes que buscar todos los documentos de un mismo emisor, a un mismo receptor (por ejemplo, un mismo cliente), y si tienes que mantener vínculos entre documentos (pedido, remito, factura) puedes hacerlo con una jerarquía dentro de la misma tabla o una única tabla de vinculación (si hay relación muchos a muchos).
Saludos: Miguel, La pampa (RA)

Eric Natareno Guerra

unread,
Jan 30, 2015, 2:37:29 PM1/30/15
to publicesvfoxpro
Si Carlos, de hecho asi la diseñe, ya que me permite obtener los documentos de un mismo cliente por ejemplo sin tener que unir los resultados de varias tablas. Como dicen los muchachos tiene ventajas y desventajas, pero en este caso le encuentro mas ventajas. Saludos
Reply all
Reply to author
Forward
0 new messages