05/10/2007, 09:56
|
| | | Fecha de Ingreso: febrero-2002 Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 11 meses Puntos: 8 | |
Re: ** llaves foraneas ** Fijar una "clave foránea" (en adelante FK) en la base de datos es algo más que cuestión de presentación. En realidad estás marcando unas normas de "llenado" de la base. Por ejemplo, en tu caso, el campo B_A_ID podría ser una FK relacionada con el campo A_ID de la tabla A. Si fijas eso en la base de datos no podrás meter un registro en la tabla B sin que exista un registro en la tabla A con el que se relacione. Es decir, si intentas meter un registro en B del tipo (001,"Su trabajo",007) deberá haber un registro en A cuyo A_ID sea 007.
Por otra parte, no podrás borrar de A registros que estén relacionados en B. Es decir, que no podrías borrar de A un registro con A_ID valor 007 mientras haya registros en B con ese valor en el campo B_A_ID.
Bueno, ésto es solo un barniz de lo que es y como se comporta una FK...
Puede hacer una consulta relacionando las dos tablas, aunque estrictamente no es necesario que exista la FK para hacerlo. Más o menos así:
SELECT A_ID, A_NOMBRE, A_APELLIDO, B_TRABAJO FROM A LEFT JOIN B ON A.A_ID=B.B_A_ID WHERE A_NOMBRE LIKE "JU%"
Para obtener el nombre, apellido y trabajo de los currelas cuyo nombre empieza por "JU"
__________________ Kelpie
Última edición por Kelpie; 05/10/2007 a las 10:01 |