Buenas
Es una cuestión meramente de concepto.
Que es mejor desde un punto de vista relacional en bases de datos. Crear 2 tablas con los mismos campos a excepción de uno, o crear una sola tabla y diferenciar los 2 conceptos mediante ese campo.
Me explico:
Tengo una tabla "Menus" y otra tabla "Categorias".
Toda categoria tiene asignado un menú.
La duda es, si crear 2 tablas:
Menu: (id, nombre, posicion);
Categorias: (id, nombre, posicion, idPadre, idMenu); //donde idPadre es la categoria padre, o 0 si no tiene padre e idMenu la relación con su menu.
O bien una sola:
Categorias_y_menus(id, nombre, posicion, idPadre)
//Donde idPadre haría referencia al id de la misma tabla, que puede que sea un menú o una categoria. Diferenciando ambos porque todo menú tendría idPadre a 0 o a null.
Gracias.