He decidido unificar compras y productos en una sola tabla.
La cual es la siguiente:
Código SQL:
Ver originalCREATE TABLE PRODUCTOS(
PARTIDA_COMPRA NUMBER(10) NOT NULL,
FECHA_COMPRA DATE DEFAULT SYSDATE NOT NULL,
COD_EMP VARCHAR2(15) NOT NULL,
COD_PROD NUMBER(5) NOT NULL,
CANTIDAD NUMBER(4) NOT NULL,
PRECIO_UD NUMBER(6,2) NOT NULL,
MARCA VARCHAR2(15),
MODELO VARCHAR2(30)
CONSTRAINT PK_PRODUCTOS PRIMARY KEY (PARTIDA_COMPRA,COD_PROD)
);
[/CODE]
Pues quiero diferenciar el producto de él mismo según la partida de compra.
Sin embargo, ahora en mi tabla almacén quiero juntar todos los productos del mismo código, dándome igual de qué partida sean. Y a su vez, en la tabla almacén quiero poder restar stock al stock libre para pasarlo a stock reservado, teniendo un stock total como la suma de ambas. (Para hacer pedidos tengo que hacer una reserva del producto en el almacén, pero pudiéndolo controlar para poderla echar hacia atrás.
Como puedo hacer eso?
PD: Lo que define el código del producto es la marca y el modelo, y son tratados como informaciones suplementarias, no informaciones principales. La información principal en este caso es el código del producto. Digamos que yo compro y vendo códigos de productos, lo que sean los productos me dan igual. Es algo solo descriptivo y suplementario. Por lo tanto no veo el motivo de hacer una tabla de marcas y otra de modelos.
Ejemplo:
Cod_Prod 21421 Marca: Ricola Modelo: Caramelo Limón.
Cod_Prod 21422 Marca: Ricola Modelo: Caramelo Fresa.
Cod_Prod 26345 Marca: Philips Modelo: Bombilla 60W Alójena