15/11/2010, 06:31
|
| Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años Puntos: 2658 | |
Respuesta: Campo duplicado La idea es esa. Cuando tienes dos tablas relacionadas, no se debe relacionarlas por un campo que no sea PK. Como mucho MySQL te admite que uses un campo definido como UNIQUE.
Por otro lado, si sólo tienes esos dos valores el defecto del combo box puede estar surgiendo de algún bug de phpMyADmin.
En cualquier caso que sea, es mejor que la relación sea por la PK de la tabla de poblaciones. Luego el nombre de las poblaciones se recupera con un simple INNER JOIN entre ambas.
Tip: Por cuestiones prácticas es conveniente que los nombres de los campos clave, fundamentalmente numéricos, no sean simplemente "ID". Trata de usa nombres mnemotécnicos tales como poblacion_id, persona_id, empleado_id, y luego usa ese mismo nombre en las tablas donde los uses como clave foránea (o externa). De esa forma ciertas consultas de JOINs serán más simples de escribir, y además los nombres de las claves más fáciles de recordar.
Por caso, si estás acostumbrado a usar la coma en el FROM y no escribir JOIN o INNER JOIN, el parser de MySQL funcionará mejor, porque la coma le indica que empareje siempre los campos del mismo nombre, y con esta forma no se puede equivocar.
Esa es la forma estandar de usarlos si te fijas en modelos de bases de datos profesionales.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |