Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Ayuda con estructura de BBDD (https://www.clubdelphi.com/foros/showthread.php?t=25565)

taita 27-09-2005 09:30:11

Ayuda con estructura de BBDD
 
Hola a tod@s:
Me encuentro con el siguiente problema, en el que me he quedado atrancado y no veo forma de salir. A ver si alguno de ustedes me puede ayudar a encontrar una solución...
Estoy preparando un proyecto en el que trabajo con una tabla de artículos y otra de familias. El problema es que hay determinados artículos que están compuestos a su vez por otros artículos de la misma lista, por ejemplo:
- tarta de queso: harina, queso, huevos...
- tortilla española: patata, huevos, cebolla...
Es decir, harina, queso, huevos, patatas, cebollas, tarta de queso y tortilla española son artículos, pero en el caso de elegir estos dos últimos deberían aparecer además los artículos (ingredientes) que lo componen (incluyendo el número de artículos necesario).
¿alguien sabe cómo hacer esto con Access?
Desde ya, muchas gracias.

Neftali [Germán.Estévez] 27-09-2005 10:15:13

Existen las relaciones reflexivas de una tabla consigo misma; En éste caso es una N-M, así que debes crear otra tabla que te permitirá saber qué artículos son ingredientes de otros artículos.

Siguiendo el ejemplo que has puesto:
ARTICULOS (ID, Nombre)
============
1 harina
2 queso
3 huevos
4 patatas
5 cebollas
6 tarta de queso
7 tortilla española

y en ingredientes tendrás algo así:
INGREDIENTES (ID, ID_Padre)
===========
tarta de queso: harina, queso, huevos...
tortilla española: patata, huevos, cebolla..
1 6
2 6
3 6
3 7
4 7
5 7

De forma que id_Padre=6 tiene los ingredientes 1, 2 y 3
y id_padre=7 tiene los ingredientes 3, 4 y 5

Algo así:
http://img354.imageshack.us/img354/3...ticulos4sc.png

taita 27-09-2005 23:07:51

Gracias
 
Neftali:
Si pudiera te daria un beso en los morros. Eres lo más.
Ya había pensado en algo similar, solo que le había dado tantas vueltas que ya me había mareado y no sabía si estaba al derecho o al revés o ambas cosas...
Gracias por poner un poco de luz sobre nuestros oscuros dilemas. :cool:


La franja horaria es GMT +2. Ahora son las 04:57:59.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi