Ver Mensaje Individual
  #6 (permalink)  
Antiguo 12/09/2008, 17:28
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Como meter mas de una llave foranea en una tabla

Empecemos por el principio:
1. Un FK es un campo de una tabla cuyo valor (o dominio) depende de la clave de otra tabla. Esto implica que lo que se hace es definir que un determinado campo de una tabla tenga como propiedad la de depender para su aceptación que en otra tabla exista el valor que ese campo contiene.

2. Como es FOREIGN KEY (clave foranea, ajena o extranjera), en el momento de creación el motor de la abse verifica que exista en la otra tabla el campo según el nombre indicado en REFERENCES nombredelatablatabla(nombredelcampo) y que el mismo sea PRIMARY KEY o KEY de un índice tipo UNIQUE.

3. En el momento en que da por válida la asignación de la propiedad FK a un campo, crea un índice que controlará la relación, y en donde están presentes las dos claves (la de la tabla referida y la de la tabla donde está el campo FK). SI no se indica un nombre, el motor le asigna uno aleatorio o según un patrón basado en el nombre de las tablas. Si se le quiere asignar un nombre, se debe indicar antes del REFERENCES con la estructura: CONSTRAINT nombredelindice. CONSTRAINT en este contexto significa RESTRICCIÓN. Un FK es por definición una restricción que se asigna al dominio de un campo en una tabla.

¿Se entiende ahora?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)