Partamos de la tabla de productos, quite unos campos porque no son necesarios para lo que en este caso pregunto.
Código
CREATE TABLE [dbo].[producto]( [id] [INT] NOT NULL, -- Esté campo es autoincrementable [referencia] [VARCHAR](20) NOT NULL, [nombre] [VARCHAR](50) NOT NULL, [descripcion] [VARCHAR](100) NULL, [valor] [DECIMAL](18, 0) NOT NULL, [estado] [bit] NOT NULL );
Ahora necesito la tabla maestro cotizacion y la tabla detalle detalleCotizacion.
Supongo que la de detalle tendrá el listado de todos los productos junto con un identificador del detalle. Es decir,
Código
CREATE TABLE [dbo].[detalleCotizacion]( [id] [INT] NOT NULL, -- Esté campo es autoincrementable [idDetalle] [INT] NOT NULL, -- Esté es el que contiene el codigo del detalle, que se repite tantos productos sean ingresados [idProducto] [INT] NOT NULL, -- Esté tiene el id del producto [estado] [bit] NOT NULL -- Esté para mantener un historial y no borrar nada )
Y la de cotización tendrá, el identificador del detalle que se creo en la tabla anterior
Código
CREATE TABLE [dbo].[cotizacion]( [id] [INT] NOT NULL, [idDetalle] [INT] NOT NULL, [referencia] [VARCHAR](20) NOT NULL, [fecha] [datetime] NOT NULL, [estado] [bit] NOT NULL );
No entiendo muy bien eso de las tablas maestros y detalles :s