
| |||
Duda diseño para servicios/productos. Hola, tengo una simple duda ya que soy algo novato con esto de la base de datos, me gustaría saber cual seria la solución mas adecuada, o la que implementaríais vosotros. Es una base de datos para una estética, y tiene que tener un control total de las comandas, una comanda puede tener servicios y/o productos,, cuando he terminado una comanda me gustaría hacer estadístico de por ejemplo que servicio ha ganado mas dinero. Se aceptan ideas, mis ideas principales son; ![]() |
| ||||
Respuesta: Duda diseño para servicios/productos. La opción 1 está mal si me atengo a lo que describes en las tablas de la opción 2. En realidad necesitas una combinación de ambas y cinco tablas: 1) Orden. 2)DetalleOrden. 3) Producto. 4) Producto_Servicio 5) Producto_Fisico donde las dos ultimas heredan la PK de la tercera. ¿Se entiende?
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: Duda diseño para servicios/productos. Es la tabla "Padre" de los productos. Evita tener que crear dos tablas de detalle, ya que en una dabla de detalle no puedes apuntar una misma FK a dos tablas diferentes, y crear dos tablas con el mismo propósito (como pones en la opcion 2) es un error de diseño. ¿Nunca has estudiado el caso de jerarquía y herencia en el modelo relacional extendido? Este sería un caso de "Empleado" en un DER Lógico: ![]() Cada una de las entidades es una débil, y eventualmente una tabla que hereda su PK de la primera o "padre".
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: Duda diseño para servicios/productos. Antes que nada, @1304654: Este es un foro publico, las preguntas y las respuestas son siempre publicas. En consecuencia, yo no respondo consultas por mensaje privado (MP). Cualquier duda, tienes que postearlo aquí. Yendo al tema de tu pregunta, respecto a cómo queda esa tabla productos y que lleva, me parece que el problema es que no conoces el modelo Entidad - RElación. ¿Me equivoco? Digo esto porque tu duda se responde sola cuando menciono que cada sub-entidad de Producto es una entidad débil, y por definición eso indica que la tabla maestra (Producto) es la que contiene las PK de los productos, y los atributos (datos) que sean comunes, tales como números de codigos de barra, marca de fábrica, nombre del producto. Por su lado cada una de las otras (Producto_Servicio y Producto_Fisico) lleva como PK la FK que apunta a Producto, y como atributos sólo aquellos que son característicos de la entidad. Esto último sería para el caso de Servicio el Tiempo_servicio, Tipo_servicio, y otros que puedas querer poner. En el caso de Producto_Fisico sería la PF_Presentacion (tipo de envase o unidad menor), así como todo otro atributo comun a los que indiques. ¿Se va entendiendo? Es entonces la PK de Producto la que va como FK en Detalle_Orden, y la relación con cada subclase de producto (fisico o de servicio) es transitiva, para lo cual el SQL usa los JOIN... Dime exactamente qué conoces del modelo E-R. Si entendemos lo que sabes es mas facil saber qué tenemos que explicarte. Con lo que comentas hasta ahora no es posible deducirlo completamente.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
Etiquetas: |