Hola,
Posiblemente,
Cita:
Iniciado por asabervgz ... Me podéis decir si está bien planteada o si por el contrario habría otra solución mejor? ...
En mi opinión personal, posiblemente, estás obviando algunos conceptos en esa estructura.
Acabo de ir al mercado, y vi que allí estaban todos los vendedores, y todos tenían diferentes productos, unos tenían productos similares pero no iguales y en otros casos los productos eran exactamente los mismos.
Así que me dispuse a comprar manzanas, me acerqué al primer vendedor, le solicité que me mostrara las manzanas y después la leche, pero por favor que los huevos no me los mostrara.
Lo que hizo el vendedor es pedirme amablemente que pasara a la sección de frutas, donde había un cartel que decía Frutas, un área grande y amplia donde habían todo tipo manzanas, peras, albaricoques y demás. Después que pasara a la sección de lácteos, también con un cartel y que decía Lácteos, el área era mucho mas pequeña, además me dijo que no me preocupara, que los huevos no me los iba a enseñar.
Así que al final me dí cuenta de algo, que la organización de los productos del vendedor tenía esta estructura:
Código:
Nevera1 -> Frutas -> Manzanas -> Manzanas Orientales
-> Manzanas Occidentales
-> Peras
-> Lacteos -> Leche -> Leche de Muuu -> Descremada
-> Pasteurizada
-> Leche de Bhee
-> Otros -> Huevos
Es decir, no tenía mezclada la Leche con las Frutas, y me pareció muy lógico; porque en sí la palabra Leche no es una palabra tan genérica como Frutas.
Es decir, con decir Frutas yo no sé a cual me refiero mientras que al decir Leche, ya sé que no es cualquier derivado de la vaca. Aún cuando todavía se puede dividir en varios tipos de leche, no es lo mismo que cualquier derivado de la vaca, como similitud con cualquier derivado de Frutas.
Por cierto, después le pregunté si tenía huevos, después de unos segundos de silencio, son sonreímos cada quien por su cuenta, sino hubiéramos actuado así sido una situación incómoda, y sin mencionar una palabra adicional me entregó una docena de huevos.
Ahora ya un poco más técnico, en tu punto de vista, de poner un tipo de producto, estarías produciendo que en algún momento, exista la posibilidad que al producto Leche se le ponga el tipo Frutas.
En la tabla Neveras y Productos, la estructura posiblemente sería así:
Código:
ID_Nevera
ID_Seccion
ID_Producto
ID_Tipo_Producto
ID_Sub_Tipo_Producto
Por la integridad referencial, no puedo meter en esa tabla un ID_Producto que no pertenezca a la ID_Seccion correspondiente, es decir no puedo meter Huevos en Frutas.
También depende de los lenguajes de programación que vayas a usar, en Java y .NET es pan comido esa estructura. Posiblemente no sea así en Python o PHP, aunque no voy a discutir eso, simplemente es mi punto de vista.
En resumen, si comprendes bien el objetivo de la estructura que deseas lograr, se te va a ser mas fácil tomar las decisiones de diseño correctas, no porque en general las manzanas sean frutas, tienes que obligadamente hacer el diseño que propuse, depende de muchas cosas.
Saludos,
ps:
Muchas personas, simplemente va a tener Nevaras, Productos y posiblemente Neveras X Productos. De allí se va como caiga y como Dios les dé licencia.