Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/01/2008, 06:55
seyko
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: Clave Foranea

Cita:
El campo clave, que vas a referenciar como clave ajena/foránea, debe ser llave unica (unique key).
Correcto, como te dice cacr debes la clave a referenciar debe ser única logicamente, sino a que registro referencia???

Cita:
Normalmente, sí el campo clave es serial, al crearlo, automágicamente la crea como llave unica, no así cuando es otro tipo de dato, por lo que se debe tener presente al momento de crearla, lamentablemente, no puedes hacer un alter para agregar/eliminar un unique key a un campo, ni desde psql, ni phppgadmin ni pgadmin3, así que te toca borrar la tabla y volver a crearla...
Incorrecto, primero un campo serial te crea una secuencia y le da un valor por defecto al campo donde se crea, NO tiene nada que ver con una PK ni con unique, otro tema es que normalmente al campo de PK se crea con un "tipo" serial.

En segundo lugar si que puedes agregar/eliminar un unique key a un campo con un alter!!

Un saludo