Solo para aclarar las cosas, así es como se ve la tabla después de que se hayan implementado las restricciones de clave externa:
CREATE TABLE `leerplan_oefenreeks` (
`leerplan_oefenreeks_id` int(11) NOT NULL AUTO_INCREMENT,
`leerplan_id` int(11) NOT NULL,
`oefenreeks_id` int(11) NOT NULL,
`plaats` int(11) NOT NULL,
PRIMARY KEY (`leerplan_oefenreeks_id`),
KEY `fk_leerp_oefenr_leerplan` (`leerplan_id`),
KEY `fk_leerp_oefenr_oefenreeks` (`oefenreeks_id`),
CONSTRAINT `fk_leerp_oefenr_oefenreeks` FOREIGN KEY (`oefenreeks_id`) REFERENCES `oefenreeks` (`oefenreeks_id`) ON DELETE CASCADE,
CONSTRAINT `fk_leerp_oefenr_leerplan` FOREIGN KEY (`leerplan_id`) REFERENCES `leerplan` (`leerplan_id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
Observe que los índices fk_leerp_oefenr_leerplan y fk_leerp_oefenr_oefenreeks mysql se agregan automáticamente.
Después de agregar la primera restricción de clave única:
ALTER TABLE leerplan_oefenreeks ADD CONSTRAINT un_leerp_oefenr UNIQUE(leerplan_id, oefenreeks_id);
Mysql elimina el índice fk_leerp_oefenr_leerplan ya que ya no es necesario para admitir las comprobaciones de clave externa en la columna leerplan_id. En este punto, la tabla se ve así:
CREATE TABLE `leerplan_oefenreeks` (
`leerplan_oefenreeks_id` int(11) NOT NULL AUTO_INCREMENT,
`leerplan_id` int(11) NOT NULL,
`oefenreeks_id` int(11) NOT NULL,
`plaats` int(11) NOT NULL,
PRIMARY KEY (`leerplan_oefenreeks_id`),
UNIQUE KEY `un_leerp_oefenr` (`leerplan_id`,`oefenreeks_id`),
KEY `fk_leerp_oefenr_oefenreeks` (`oefenreeks_id`),
CONSTRAINT `fk_leerp_oefenr_leerplan` FOREIGN KEY (`leerplan_id`) REFERENCES `leerplan` (`leerplan_id`) ON DELETE CASCADE,
CONSTRAINT `fk_leerp_oefenr_oefenreeks` FOREIGN KEY (`oefenreeks_id`) REFERENCES `oefenreeks` (`oefenreeks_id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
Para resumir, Sqlyog solo muestra los índices en su vista de árbol a la izquierda, si desea ver las claves externas, seleccione la tabla en la vista de árbol y presione F10.