En realidad no tienes la cédula como PK. has hecho una tontería muy común: Has creado una PK con los dos campos, cuando uno de ellos es un auto_increment. Siento decirlo así.
Me explico:
El id_doc de por sí es único, por lo que no requeriría de ningún otro campo para ser PK. Como se incrementa automáticamente, cada INSERT crea un valor nuevo y no repetitivo.
Pero como lo estás combinando con la cédula, en realidad estás creando una PK que puede duplicar valores de cédulas.
Para que quede claro: Tu PK puede aceptar perfectamente esto:
Cita: (1, 12345678)
(2, 12345678)
(3, 12345678)
(4, 12345678)
(4, 12345679)
(4, 12345670)
Es decir, que en tu caso se pueden repetir en diferentes registros el mismo numero de cédula, o repetir el id_doc, con diferentes cédulas. Eso es un
error de diseño.
No te olvides que en una PK de dos campos, lo que es único es el
par combinado.
Lo que yo te digo es que si la cédula ya es un identificador único, entonces lo que te conviene es eliminar el id_doc y dejar la cédula. A fin de cuentas, con ella es suficiente.
Finalmente, tu problema inicial es que como has definido la PK con dos campos, entonces la FK
también debe tener dos campos, del mismo tipo, y en el mismo orden.
PD: Yo sigo insistiendo que hacer la relación entre dos tablas es una mala idea. Necesitas la tabla Docente_Materia para esa base. En tu modelo, un docente puede dar muchas materias, pero
cada materia sólo puede ser dada por un único docente. O sea que no podrías abrir dos cursos para la misma asignatura, que cubrieran horarios solapados... Y ni hablar de contratar otro docente paa la misma asignatura.
Eso es una mala idea.