Duda con lógica en tablas sql.

Grunt

Bovino adicto
#1
Saludos compañeros bakunos, pues bueno, aquí denuevo fregando con ustedes jeje.

El problema es el siguiente:

Quiero hacer una tabla que me acepte ventas de una tienda, por ejemplo, que me tome el número de articulos que se venden, nombre y eso, hasta hai todo bien, el problema es que, no se como hacer para que al momento de hacer la venta se me registren 2 o más productos distintos.

Cualquier ayuda me serviria de mucho.

(Si necesitan ver como llevo las tablas, con gusto les pondre imagenes)
 

AlxRex

Bovino maduro
#2
YO me iria por 3 tablas...

Tabla de Catalogo de articulos
(idarticulo, nombre, descripción, costo)
Tabla Venta (Donde guardas el numero de venta, a quien, fecha hora y datos asi.)
(idventa, comprador, fecha, rfc, y demas datos detalle de la venta)

Tabla relacion Cantidad de articulos a la venta. (Entonces por cada articulo insertaras una linea relacionada a la cantidad y costo actual.)
(idventa,idarticulo, costo)
 

Sherbec

Bovino maduro
#3
Mi consejo es que hagas dos tablas 1 en donde registres todos los generales de la orden de compra, es decir, numero de pedido, fecha, hora, usuario, totales, descuento, etc... solo los generales. y la 2da con el detalle de pedido relacionandolas con el numero de pedido, cantidad de piezas, color, etc...
Saludos!!!
 
#5
Tienes que crear 2 tablas una donde se encuentren los registros de las ventas y la otra donde se encuentre los detalles de ese registro osea de la venta asi como te comentan los compañeros

Ejemplo:
tabla_ventas
id_venta-folio-descripcion-fecha

venta_detalle
id_detalle-folio-descripcion-cantidad etc

Estas dos tablas las ligas con el folio

Saludos!!!
 
#6
Tabla Encabezado Venta
tbl_venta_hdr
idventahdr, cliente_fk, vendedor_fk, fecha_venta, fecha_pagar, acredito, subtotal, impuesto, descuento, etc... todo lo que harias en papel

Tabla Detalle venta
tbl_venta_det
idventadet, venta_hdr_fk, articulo_fk, articulo_descuento, cantidad, articulo_decuento, etc...

Tabla Clientes
tbl_clientes
idcliente, nombre, paterno, materno, rfc, calle, num_exteriror, num_interior, colonia_fk, cp, etc...

Tabla Vendedores
tbl_vendedores
idvendedor, nombre, paterno, materno, comisión, etc....

etc etc

Todo esto para evitar redundancia de datos. pero para resolver tu problema solo necesitas dos tablas, encabezado de venta (datos generales como cliente y fecha) y detalle de venta (articulos y cantidades).

Espero te sirva de ayuda. Cualquier duda mandame un mp.

Saludos!
 

Grunt

Bovino adicto
#7
Pues estas son las tablas que pensaba hacer, no se si esten bien.

Tabla datos:
Correo, password, nombre, apellidos, dirección, colonia, calles, ciudad, estado, código postal, teléfono, teléfono oficina, (esto es opcional por si quieren factura) Razón social, dirección, colonia, ciudad, estado, código postal, teléfono, rfc.

Tabla productos:
Clave, descripción, precio.

Tabla Ventadetalle:
Id_ventahd, folio, correo, clave, precio, descuento, subtotal, impuesto, fecha.

Tabla Ventaproducto:
Id_ventadt, folio,clave, descuento, cantidad.


La idea es de poner una tienda online.

2 preguntotas.

En las tablas de ventadetalle y ventaproducto, el poner un identity a los campos folios, no me generara algún error?

Entonces, al momento de generar una compra de varios articulos, la tabla ventaproducto me guardara todos los productos que se realizen en una compra?


Saludos y gracias por sus respuestas..
 
#8
Pues estas son las tablas que pensaba hacer, no se si esten bien.

Tabla datos:
Correo, password, nombre, apellidos, dirección, colonia, calles, ciudad, estado, código postal, teléfono, teléfono oficina, (esto es opcional por si quieren factura) Razón social, dirección, colonia, ciudad, estado, código postal, teléfono, rfc.

Tabla productos:
Clave, descripción, precio.

Tabla Ventadetalle:
Id_ventahd, folio, correo, clave, precio, descuento, subtotal, impuesto, fecha.

Tabla Ventaproducto:
Id_ventadt, folio,clave, descuento, cantidad.


La idea es de poner una tienda online.

2 preguntotas.

En las tablas de ventadetalle y ventaproducto, el poner un identity a los campos folios, no me generara algún error?

Entonces, al momento de generar una compra de varios articulos, la tabla ventaproducto me guardara todos los productos que se realizen en una compra?


Saludos y gracias por sus respuestas..
Aclarando el punto, el folio de ventaproducto hará referencia al folio de ventadetalle en todos los artículos de esa venta, es decir, para un elemento en ventadetalle de folio 2 por ejemplo, va a haber varios registros en ventaproducto con folio 2 pero con clave 500,450,600 por ejemplo para los artículos.

Aquí el problema es que necesitas normalizar tus bases de datos, busca un poco en google sobre diseño de bases de datos y practica creandolas y llenando datos a mano para que veas de que manera se pueden organizar los datos de mejor manera.

lo que yo te recomiendo para este caso es tener una tabla de clientes, con todos sus datos y un id, una tabla de productos con su propio id, una tabla de inventario (si es que lo necesitas) para las existencias de cada producto con su referencia a cada artículo, una tabla de encabezado de venta, con la referencia al id del cliente, fecha, total de venta, referencia a id de vendedor, cajero etc, y una tabla de detalle de venta, con referencia al id del encabezado de venta y al id del articulo vendido más la cantidad, descuento y precio al que se vendió.

Esto en visión general del problema.

Espero te sirva de ayuda.

Saludos!
 
Arriba