consejo de diseño

06/07/2007 - 19:31 por Pablo Salazar | Informe spam
Hola a todos.
Quisiera consultarles algo.


Tengo una tabla de productos (TMateriaPrima) y otra tabla de Material de
Empaque (TEmpaque).
Necesito llevar el control de los pedidos. Tengo una tabla de pedidos
(TPedido) para la cabecera del pedido.
Mi pregunta es, que seria mejor para el detalle del pedido
Crear una tabla TPedidodetalle donde se almacene el codigo de la materia
prima y el empaque?
o 2 tablas TPedidodetalle1( para Materiaprima ) y TPedidoDetalle2( para
empaque).

Gracias

Preguntas similare

Leer las respuestas

#1 Ricardo Passians
06/07/2007 - 20:41 | Informe spam

Tengo una tabla de productos (TMateriaPrima) y otra tabla de Material de
Empaque (TEmpaque).
Necesito llevar el control de los pedidos. Tengo una tabla de pedidos
(TPedido) para la cabecera del pedido.
Mi pregunta es, que seria mejor para el detalle del pedido
Crear una tabla TPedidodetalle donde se almacene el codigo de la materia
prima y el empaque?
o 2 tablas TPedidodetalle1( para Materiaprima ) y TPedidoDetalle2( para
empaque).




No está claro que tan similares son los atributos de las materias primas
respecto a los materiales de empaque pero, asumiendo que sean similares, veo
varias opciones en orden de mi preferencia :

1) Lo primero chequear la posibilidad de tener una tabla única de items que
me incluya tanto las materias primas como los materiales de empaque,
diferenciándolos con algún atributo ("tipo de item") de esa tabla .
Aquí la decisión se reduce claramente a una sola tabla de detalles de
pedido.

2) Tener dos tablas de items, como ahora, pero una sola tabla de detalles de
pedido. En este caso debes tener ambos códigos en esta tabla de detalle.
Permitiendo quizá que ambos puedan ser NULL a nivel físico (y sólo uno de
los dos a nivel lógico) ya que se llenarían según sea una materia prima o un
empaque.

3) Tener dos tablas de items, como ahora, y también dos tablas de detalles
de pedido (una para las materias prima pedidas y otra para los empaques
pedidos). Es el esquema más normalizado de los tres pero para facilitar la
programación puedes agregar una vista que una ambas tablas de detalle.


Saludos

Ricardo Passians
Respuesta Responder a este mensaje
#2 Victor Koch
06/07/2007 - 22:35 | Informe spam
¿ Y porque no tener una sola tabla para productos y material de empaque ?,
si después de todo también debo llevar las existencias de ambos, tal vez con
identificar si se trata de un producto o material de empaque servirá para
controles, pedir diferentes datos etc,etc.

Un saludo, Víctor Koch.


"Pablo Salazar" escribió en el mensaje
news:uw68aO$
Hola a todos.
Quisiera consultarles algo.


Tengo una tabla de productos (TMateriaPrima) y otra tabla de Material de
Empaque (TEmpaque).
Necesito llevar el control de los pedidos. Tengo una tabla de pedidos
(TPedido) para la cabecera del pedido.
Mi pregunta es, que seria mejor para el detalle del pedido
Crear una tabla TPedidodetalle donde se almacene el codigo de la materia
prima y el empaque?
o 2 tablas TPedidodetalle1( para Materiaprima ) y TPedidoDetalle2( para
empaque).

Gracias



Respuesta Responder a este mensaje
#3 Carlos M. Calvelo
06/07/2007 - 23:36 | Informe spam
Hola Pablo,

On 6 jul, 19:31, "Pablo Salazar" wrote:
Hola a todos.
Quisiera consultarles algo.

Tengo una tabla de productos (TMateriaPrima) y otra tabla de Material de
Empaque (TEmpaque).
Necesito llevar el control de los pedidos. Tengo una tabla de pedidos
(TPedido) para la cabecera del pedido.
Mi pregunta es, que seria mejor para el detalle del pedido
Crear una tabla TPedidodetalle donde se almacene el codigo de la materia
prima y el empaque?
o 2 tablas TPedidodetalle1( para Materiaprima ) y TPedidoDetalle2( para
empaque).

Gracias




Pedidos con materia prima van a tener una referencia a TMateriaPrima
y pedidos de material de empaque van a tener una referencia a
TEmpaque. Solo esta diferencia ya apunta a que se tienen que
considerar entidades distintas. Entonces la respuesta corta es '2
tablas'.
Estas dos tablas tendrán además mucho en común, lo que hace pernsar
en otra entidad (tu versión con una tabla).

Mira, como ejemplo, este esquema:

TMateriaPrima(id_MatPrim(PK), ...)
TEmpaque(id_Empaque(PK), ...)
TPedido(id_Pedido (PK), ...)
TPedidoDetalle(id_PedidoDetalle (PK), id_Pedido (FK), ...)
TPedidoDetalleMatPrim(id_PedidoDetalle (PK, FK), id_MatPrim (FK))
TPedidoDetalleEmpaque(id_PedidoDetalle (PK, FK), id_Empaque (FK))

Para cada id_PedidoDetalle en la tabla TPeriodDetalle es obligatorio
tener un registro en una, y solo una, de las otras dos tablas.

Con este diseño tienes las dos opciones de tu pregunta.
Tienes 'dos' tablas, pero también tienes 'una'. :)

Pero como tu debes tener más información que la que compartes aquí,
yo que tu me pensaría bien si de verdad es necesario tener poductos
y material de empaque en dos tablas distintas, como ya te han
comentado otros. También me preguntaría qué aporta la T en los
nombres de las tablas :)

Saludos,
Carlos
Respuesta Responder a este mensaje
#4 Ricardo Passians
06/07/2007 - 23:45 | Informe spam

... También me preguntaría qué aporta la T en los
nombres de las tablas :)






Yo me pregunté lo mismo... :-)


Ricardo Passians
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida