Acceso a multiples tablas (modulo de ventas) I


Dentro de un sistema existen módulos en lo cuales se requiere el acceso a la información que esta contenida en múltiples tablas de la base de datos, y no solo se trata de acceder sino de modificar la información contenida en ellas.

El modulo mas común que realiza este tipo de actividades es el modulo de ventas de un sistema comercial, pero para algunos programadores jóvenes resulta complicado idear o comprender su funcionamiento.

Lo primero sera describir las tablas de datos que se ven involucradas en este modulo tal y como las vemos en el siguiente esquema:


La tabla de clientes guarda la información de estos, la clave principal de esta tabla es Numcliente, ese mismo campo se encuentra repetido en la tabla de Ventas para poder relacionar las tablas y saber a que cliente corresponde cada folio de venta.

La tabla de productos almacena la descripción, tamaño, precio y existencia de cada articulo que se vende, para poder almacenar de forma correcta las ventas de artículos, estas se dividen en dos tablas, la de ventas y la de detalle, en la de venta se almacena el folio de la venta, la fecha en que se vendió y a quien se le vendió.

La tabla  de detalle se usa para almacenar los artículos que se vendieron en cada folio, para esto se crea una superllave, las cuales son a su vez una llave que esta formada por la unión de 2 o mas campos, en este caso la superllave esta formada por folio y código, si se tratara de almacenar todo en la tabla de ventas se produciría la redundancia de las fechas y números de clientes así como la de los folios.

Observe que en la tabla de detalle se almacena la cantidad que se vendió de cada articulo y el precio de cada uno, el precio aunque podría sacarse de la tabla de productos se almacena por razones históricas, por ejemplo, si el día de hoy un cliente compra un producto a 20 pesos y dentro de dos semanas lo vuelve a comprar pero a 22 pesos, si no se almacenara el precio en la tabla de detalles al consultar la factura o calcular los totales de ventas de hace dos semanas se nos diría que los artículos que compro nuestro cliente se le cobraron a 22 y no 20.

Ahora corresponde analizar el funcionamiento del modulo de ventas, antes de proceder a la programación:

  1. Se busca el ultimo registro de la tabla de ventas
  2. Se extrae el numero de folio, se incrementa en uno y se presenta en pantalla
  3. Se introduce el numero de cliente
  4. Se busca el numero de cliente en la tabla correspondiente
  5. Se existe se presentan los datos del cliente y en caso contrario se muestra el aviso correspondiente
  6. Se solicita el código del articulo
  7. Se busca el código  en la tabla de productos.
  8. Si el código existe se presenta la descripción, la existencia y el precio, en caso contrario se avisa que el código no existe
  9. Se solicita la cantidad de artículos que se llevan.
  10. Se agregan los datos a una lista de compras
  11. Se envía toda la información y  se guardan los datos en la tabla de ventas y en la tabla de detalle.
  12. Se descuentan las cantidades de artículos de las existencias correspondientes.

En el próximo post comenzaremos la programación de este modulo

Anuncios

Acerca de sistemasumma

Blog dedicado a la tecnología y a todos los estudiantes de sistemas, informatica, computación y afines
Esta entrada fue publicada en programacion y etiquetada , , , . Guarda el enlace permanente.

4 respuestas a Acceso a multiples tablas (modulo de ventas) I

  1. Anónimo dijo:

    con esto entendi un poco mas gracias

    Me gusta

  2. Anónimo dijo:

    Esta informacion, es oro molido.

    Me gusta

  3. robert dijo:

    Estamos desarrollando un sistema de compras y almacen, tendras entre tus cursiosidades, algun diagrama ER de un almacen?
    saludos.

    Me gusta

¿Qué estas pensando?

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s