Una FK debe ser igual a la PK a que hace referencia.
Si la PK es como describes, así debe ser la FK.
Para ser específicos, tienes que entender claramente lo que es una FK: Es un campo o conjunto de campos que referencia a la PK de otra tabla, siendo que debe cumplir el principio de
igualdad a la clave referida, la forma de constituir la FK dependerá de cómo esté definida la PK en la tabla a la que apunta.
No existen, en ese sentido, muchos limitantes de la PK, a excepción que no se pueden usar campos TXT o BLOB para ello. Fuera de eso, mientras la PK sea única y no nula (reglas básicas), la puedes crear con cualquier tipo de dato o conjunto de ellos.
Lo que si debes tener en cuenta cuando luego creas la FK es que debe:
1) Tener la misma cantidad de campos.
2) Cada campo debe ser exactamente del mismo tipo del que compone la PK.
3) Si es una PK compuesta, la definición de la FK debe respetar el mismo orden de los campos que aparecen en la PK de referencia.
Esto ultimo quiere decir que si tienes una tabla donde la PK al momento de crearla es:
La FK debe definirse en su cláusula correspondiente como:
Si la pusieras como
no sería correcto y dispararía un error de ejecución y no se crearía la FK.