Mysql, consulta registro sin integridad referencial

Juan Manuel Doren jm.doren en ok.cl
Mie Oct 1 20:15:29 CLT 2008


>
>>SELECT tabla1.*
>> FROM tabla1 LEFT JOIN tabla2 ON tabla1.id=tabla2.id
>> WHERE tabla2.id IS NULL;
>
>>Con eso deberías tener un improvement.
>
> De todas formas es lento, no sé si existe una forma de hacer lo que necesito con consultas sql dado lo que ya está hecho por un tercero.



si lo que quieres es hacer la consulta una vez esa es la mejor
solucion que conozco

ahora si despues de normalizar los programas pueden seguir metiendo
datos si relacion, puedes controlar un poco (harto) tu problema de
integridad con triggers en los insert updates y deletes de las tablas
padre e hijas

por ejemplo al insertar en la tabla hija puedes ir a consultar si va a
quedar huerfana y decides si insertar igual o no. Si insertas podrias
hacer otro insert en una tabla auxiliar con los id de las huerfanas

claro que toda esa pega deberia hacerla sola la base de datos :(







>
> Si existe alguna otra técnica, sería interesante.
>
> He pensado en escribir un caracter especial en un campo por cada uno de los registros de la tabla 2, luego en el select de la tabla 1 usar una comparación, como por ejemplo, campo NOT LIKE "%-id-%", evidéntemente no es una solución "elegante".
>
> Bueno, sinó tocará rediseñar.
>
> Saludos.-
> LP
>
>
>      ____________________________________________________________________________________
> ¡Todo sobre Amor y Sexo!
> La guía completa para tu vida en Mujer de Hoy.
> http://mujerdehoy.telemundo.yahoo.com/
>



-- 
Juan Manuel Doren
Santiago, Chile



Más información sobre la lista de distribución Linux