Bueno, eso sería sólo si las fotos pudieran corresponder a más de un título. Perdón, lo leí a las apuradas.
Como aclaración, el modelo relacional determina que toda relación N:N entre dos entidades genera una tabla relacional que contiene las PK de ambas tablas .
En tu caso, si no se da esa situación, no es necesario y se podría resolver con una FK de la tabla Títulos en la tabla Fotos (pero si hay al menos una foto que pueda relacionarse con más de un título, tienes que pasar a tres tablas).
Ahora bien, en el caso que tu mencionas, no necesitas un segundo ID incremental por grupos o no en esa tabla. Lo que necesitas es numerar los subitems de fotos relacionados con un título determinado, y dejar que las fotos tengan su propio PK y la FK del título.
Código MySQL:
Ver originalSELECT T.titulo_id
, (@id
:=@id
+1) nroFoto
, T.titulo
, F.nombre_archivo
titulos T
INNER JOIN fotos F
ON T.titulo_id
= F.titulo_id
T.titulo_id = valorbuscado;
Si quieres listar todas, pero numerandolas por grupo, la consulta es algo más complicada, pero se puede hacer.
Incluso ni siquiera necesitas hacer esto, porque puedes numerar una columna en la tabla cuando presentas los datos en la pantalla, en tu aplicación...
Lo importante es que tengas en cuenta que no se deben poner columnas innecesarias en las tablas. Sólo van si son atributos propios del objeto que la tabla representa, y si son
calculables, no van.