Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

como hacer Claves foranes

Estas en el tema de como hacer Claves foranes en el foro de SQL Server en Foros del Web. Hola gente Tengo por ejemplo en la base la tipica tabla pais y provincia la tabla provincia como se imaginan tiene idpais entonce la duda ...
  #1 (permalink)  
Antiguo 23/07/2008, 09:52
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 6 meses
Puntos: 19
como hacer Claves foranes

Hola gente

Tengo por ejemplo en la base la tipica tabla pais y provincia

la tabla provincia como se imaginan tiene idpais entonce la duda que tengo es como hacer en sql server para hacer esto. Yo he visto que una de las formas es ir a la tabla provincias y agregar ahi la referencia de idpais de provincia con idpais de paises

Pero tambien vi la otra vez que una posibilidad es crear un diagrama, entonces agrego las dos tablas y arrastro las relaciones y guardo el diagrama.

¿Cual de las formas es la correcta o hay otra forma?


Por ultimo, yo tengo una tabla usuarios, en donde la clave primaria es un autonumerico, pero tengo un campo que se llama mail y no quiero que sea clave primeria pero quiero que no se repita, pero no se como definir esto. En access me acuerdo que el campo tenía un atributo que vos podías decir si era único
¿Tienen idea de como hacer esto en sql server?

MIL GRACIASSSSS.
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #2 (permalink)  
Antiguo 23/07/2008, 11:37
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: como hacer Claves foranes

Cuando creas el diagrama, "por detras" de la consola, se ejecuta el T-SQL que te crea los constrains.

Debes declarar tu campo de email, como LLAVE UNICA (index unique)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:00.