Ok.
En primer lugar, es evidente que estás empezando y que no has estudiado en profundidad lo que es una foreign key, o clave foránea, porque de lo contrario no podrías haber plenteado esto:
Cita: El problema lo solucioné creando la clave foránea con el Id de la tabla de origen, no con el campo CodSistema...
Entendamos bien el concepto:
Una clave foránea (FK) es un campo o conjunto de campos que referencia
a la clave primaria de otra tabla, con lo que para ser definida
no puede apuntar a otro tipo de campo..
Ahora , una salvedad: La primera razón de que una FK apunte a la PK de otra tabla es que debe existir una relación de unicidad d la clave a que se hace referencia, es decir, el campo de la tabla referida
no puede tener dos registros con iguales valores en ese campo.
Esto no es un invento, es uno de los
fundamentos del modelo relacional y no se lo peude transgredir.
Ahora bien, existe una
posibilidad que algunos DBMS implementan de apuntar una FK a otro campo que no sea PK en su tabla,
pero eso sólo es posible si el campo referido cumple la condición de unicidad, es decir, si no es PK de su tabla,
debe forzosamente ser UNIQUE.
¿Se entiende?
Desconozco los detalles de Interbase, pero estimo que esa es una condición que deben tener los casos que tu has visto en ese DBMS, o de lo contrario la FK no puede existir.
En ese tipo de FK no existe un error o una "ventaja" de un DBMS, sino que se cumple que nunca hay dos registros con igual valor en la clave UNIQUE. Asi de simple, por lo que sigue cumpliendose el modelo relacional.
¿Queda más claro?
En tu caso, lo que sin duda ha pasado es que estabas intentando apuntar a un campo que no habías declarado como UNIQUE, y MySQL no te lo iba a permitir.
Con sólo que hubieses creado un indice UNIQUE sobre ese "CodSistema", no hubieses tenido problemas.
Por lo demás, ¿me puedes explicar por qué tienes un "ID" en la tabla como "PK", si con el CodSistema como PK hubiese sido suficiente?
Finalmente: La próxima vez, postea lo que se te pide. Es importante que respondas, si quieres un feed-back adecuado.