Cita: Ahora lo que no comprendo bien es que campos tengo que configurar como PK y cuales como FK en las diferentes tablas.
Eso es elemental:
La PK de las tablas ALimento, Electrónica, Muebles, es el mismo valor con que esos mismos datos figuran en la tabla Productos, y es ese campo (producto_id) al que se declara tanto PK como FK.
Es el caso de manual de una entidad débil que no tiene clave propia, sino que hereda la clave de otra superior o fuerte.
Cita: Y por otro lado, luego cuando quiera buscar un producto por el ID, deberia primero recorrer la tabla 1, y si lo encuentra, luego recorrer las 3 tablas para encontrar el registro con ese mismo ID, y obtenter los campos especificos de ese producto.
No es mucho recorrido????
No. la decisión de qué tablas se cruzan (
y no es leer la primera para después leer las otras, eso es un JOIN de manual), es una decisión que debes implementarla en la aplicación. Al menos así se hace.
Simplemente tomas un atributo o de la página o de la primera tabla, donde especificas el
tipo de producto, para definir cuál JOIN vas a hacer...
Piénsalo y veras que es muy simple.