Hola,
tabla PRODUCTO:
ID
NOMBRE
ID_FAMILIA (Enlaza con la familia a la cual pertenece el producto)
tabla FAMILIA:
ID
NOMBRE
ID_PADRE (Elnaza con la familia "padre" o "madre" de esta familia)
Con esta sencilla estructura puedes tener illimitados niveles de familias/subfamilias en una sola tabla.
Si quieres puedes limitarlo a 2 o 3 niveles, o dejar que decida el usuario.
Eso si, para Editar/Seleccionar familias tendrás que proporcionar un arbol (TTreeView). Una lista no te vale.
p.e.
Código:
Productos
ID Nombre ID_Familia
1 Delphi 2010 4
2 Interbase 7 6
Familias
ID Nombre ID_Padre
1 Software NULL
2 Hardware NULL
3 Herramientas 1
4 Compiladores 3
6 Bases de datos 1
7 Componentes 2
8 Discos duros 7
Cordialmente,
Gerard.