PDA

Ver la Versión Completa : Un consejo sobre como armar una bd


Walterdf
11-05-2004, 19:18:00
Buenas a todos. Esta consulta es mas de técnica que de programación de bases de datos en si:
Actualmente manejo una base de datos de stock de mercaderías hecha en Access pero quisiera armar una aplicación en Delphi y migrar los datos a Interbase. Hasta aquí todo bien. Lo campos serían mas o menos los siguientes: código, marca, cantidad ingresada, stock, precio, proveedor y, aquí viene el problema, fechas de salida y cantidad. Una vez que la mercadería entra al deposito se va retirando por partes, en algunos códigos de 1 sola vez, otras en 2 veces, otras en 10, 20, 30, 43, 105, lo que sea. En Access directamente no tenía registro de las fechas, lo cual resulta muy engorroso a la hora de rastrear un error en algun retiro.
En fin, necesitaría que esas fechas de retiro y cantidad queden registradas de alguna manera para luego despues poder consultarlas. Lo primero que se me ocurrió es armar una tabla de salidas para cada código pero resulta que estos son miles y disculpen mi ignorancia pero ¿qué se suele hacer en estos casos?.
Si alguien puede darme una mano se lo agredeceré.
Saludos.
Walter

roman
11-05-2004, 19:22:08
Pero bastaría con una sola tabla de salidas ¿no?

salidas = (codigo, fecha, cantidad)

quedando codigo+fecha como llave primaria.

// Saludos

Walterdf
11-05-2004, 19:40:30
Si, en realidad olvidé nombrar un campo importante que es 'referencia', allí se anota un número con lo cual se registra la llegada de esa mercadería al depósito, cuando se retira la merc. se lo hace primero de la referencia mas vieja. Yo había pensado en armar una tabla de salidas como vos me decis pero pensé que con este campo de referencia se iba a complicar pero en realidad simplemente a los campos codigo+fecha+cantidad le agrego el de referencia y como llave referencia+codigo+fecha, ¿verdad?
Muchas gracias por tu sugerencia.
Salu2.
Walter

sanxpue
11-05-2004, 19:47:44
Como dice nuestro compañero Roman..


salidas = (codigo, fecha, cantidad)

quedando codigo+fecha como llave primaria.


aunque tambien faltaria el numero de folio de salida

salidas = (codigo,fecha,cantidad,folio)
ya que me imagino que sacan muchos articulos en un solo folio y la clave primaria como la comenta Roman puede marcarte error ya que un mismo dia pueden sacar el mismo articulo ¡¡¡pero si le ponemosFolio¡¡¡

entonces la clave primaria te debe de quedar quedando
codigo+fecha+Folio como llave primaria.

Pero ahora resulta que te puede marcar otro Key Violation eso te lo dejo de tarea

Aunque sean miles como dices..te recomiendo que te bajes el firebird 1.5 de phoenix, es gratis, por que en Interbase vas a tenr problemas de cuantos usuarios entran, a excepcion de que puedan comprar las licencias..y buena decision de cambiar de base de datos..

:p

Walterdf
11-05-2004, 19:53:33
Voy a probar con FireBird. Despues les cuento.
Muchas gracias a todos por su ayuda.
Un abrazo.
Walter