Crear clave candidata para relacionar...
Hola
Lo puedes hacer, pero no es lo procedente por varias razones:
1) Si la relacion es de tipo UPDATE CASCADE tienes que actualizar los valores de la columna que hara de clave candidata.
2) Tienes que elaborar triggers para el caso de realizar INSERT, UPDATE para que te mantenga los valores de dichas columnas .
3) Si la relacion es de tipo DELETE CASCADE hay que poner cuidado y eliminar el registro en la tabla hija, de nuevo con un trigger se
solventa esto.
4) Si la relacion es de tipo DELETE entonces hay que poner en NULL el valor de la columna clave candidata, en otras palabras dejar huerfano al registro de la tabla hija y como iempre usar trigger para esto.
5) Pruebas, realizas las pruebas correspondientes en cada caso para que no te lleves sorpresas.
Mi consejo, el motor BD se encarga de estas cosas muy eficientemente.
Si lo que quieres es ahorrar columnas en la tabla hija convierte la entidad padre debil en una entidad padre fuerte, es decir que tenga una ID unica y esa clave sera la foranea de la tabla hija
Saludos