MySQL - Diseño de BD tienda

   
Vista:

Diseño de BD tienda

Publicado por Jose Luis (10 intervenciones) el 19/08/2008 17:53:15
Hola buenas tardes, quisiera ver si alguien me podria hechar la mano, ya que realmente soy programador y no soy nada bueno diseñando base de datos, tengo el siguiente problema.
Me pidieron que haga un mini punto de venta para una caja de una escuela, este punto de venta tiene que poder el usuario dar de alta sus productos para almacenarlo en inventario para que posteriormente pueda realizar una venta a un alumno. Los tipo de producto que manejan son los siguientes:

Camisetas ( producto camiseta con alguno de los atributos)
.Tipo polo
.Tipo normal
.Hombre o Mujer
.Color
.Talla
.Cantidad en inventario

Jeans
.Color
.Hombre o mujer
.talla
.Cantidad en inventario

Boligrafos
.Color de tinta
.Cantidad en inventario

Tazas para café
.Cantidad en inventario

entre otros.
El gran problema que tengo es que no se de que manera crear la base de datos, ya que son productos completamente diferentes a excepcion de camisteas y jeans, que necesito hacer? crear una sola tabla productos? hacer tablas por cada producto?
El problema que surge es que se tiene que generar un venta por ejemplo un alumno se
llevo un camiseta, un boligrafo y una taza, mediante que ID lo relaciono?

Cabe recalar que el usuario necesita saber cuantas camisetas tipo polo, color rojas de talla chica (es un ejemplo) se vendieron hoy y cuantas me quedan en inventario.

Por favor necesito que me orienten ya que soy programador y no diseñador de base de datos.
Si no quedo entendido el problema puedo explicarlo detalladamente, pero ayudenme por favor.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Diseño de BD tienda

Publicado por m@slfire (20 intervenciones) el 20/08/2008 07:49:20
Puedes crear una sola tabla que contemple todos los atributos de todos los campos, pero usar solo los adecuados, dependiendo del producto que vayas a dar de alta:

CREATE TABLE productos(
CodigoProducto CHAR(15) NOT NULL,
CategoriaProducto VARCHAR(10),
DescripcionProducto VARCHAR(50),
TipoProducto VARCHAR(15),
ColorProducto VARCHAR(15),
TallaProducto VARCHAR(10),
CantidadProducto INTEGER);

En CategoriaProducto puedes poner: Hombre, Mujer o N/A
En TipoProducto: Normal, Polo, N/A
En ColorProducto: El color del producto o el color del boligrafo o N/A
En TallaProducto: Si aplica, se pone el numero de talla o N/A

Supongo que te faltaran algunos campos mas en esa tabla, especialemente el del PrecioProducto.

El ID de relacion que mencionas, para crear la relacion de productos vendidos, se debera de crear una tabla en la que registres la venta, y otra en la que listas los productos vendidos en tal venta:

CREATE TABLE ventas(
NumeroVenta INTEGER NOT NULL,
FechaVenta DATETIME,
SubtotalVenta DECIMAL(15,2),
ImpuestosVenta DECIMAL(15,2),
TotalVenta DECIMAL (15,2) );

CREATE TABLE detalle(
NumeroVenta INTEGER NOT NULL,
NumeroDetalle INTEGER NOT NULL,
CodigoProducto CHAR(15),
CantidadVendida INTEGER;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar