
Giovanni Osorio
PreguntaNo me queda muy claro porque en el ejemplo de 2FN hay 2 id para la misma materia
El id se supone que debe ser único
Tal vez lo que esta mal es el nombre que se le dio
no debería llamarse materia_id sino alumno_materia_id

David Castillo
La clave 'materia_id' es la clave primaria de toda la tabla 'materias'. Mientras que la clave 'alumno_id' es la clave foranea que necesita la tabla 'materias' para poder identificar que materia le corresponde a que alumno de la tabla 'alumnos'.
PD: Cuando realiza la 2FM genera una relación entre las nuevas tablas generadas, para resaltar esta relación y identificación de cada uno de los registros (tuplas) se le agrega un atributo o campo llamado 'alumno_id' que se lo nombra clave foranea.
Mas adelante te explica de mejor manera las relaciones y las claves foraneas.