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

Claves Externas - MySQL -

Estas en el tema de Claves Externas - MySQL - en el foro de Bases de Datos General en Foros del Web. Tengo el siguiente problema. Tengo dos entidades relacionadas entre sí mediante una asociación de muchos a muchos (N:M). La tabla que genero para dicha asignación ...
  #1 (permalink)  
Antiguo 24/07/2003, 04:45
 
Fecha de Ingreso: julio-2003
Mensajes: 8
Antigüedad: 20 años, 9 meses
Puntos: 0
Claves Externas - MySQL -

Tengo el siguiente problema. Tengo dos entidades relacionadas entre sí mediante una asociación de muchos a muchos (N:M).

La tabla que genero para dicha asignación contiene una clave primaria compuesta (1 de una entidad y 1 de la otra entidad), y dos claves externas (cada una referenciando a la entidad correspondiente).

Pues bien, mi intención es hacer que cada vez que borre una tupla/registro de cualquiera de las dos entidades pase lo siguiente:

- Se borre el registro correspondiente en la asociación (lo hace porque las claves externas están ON DELETE CASCADE ...)

- Si solo hay un registro que referencie a la borrada, se borre ese registro (además del registro en la tabla de asociacion).


Pregunta del millón: ¿ Hay alguna manera de lograr esto mediante un buen diseño de la base de datos o tendría que realizarlo en tiempo de ejecución manualmente mediante consultas y borrados ?

Disculpas por esta patata de mensaje.

Gracias de antemano.
  #2 (permalink)  
Antiguo 25/07/2003, 05:50
 
Fecha de Ingreso: enero-2002
Mensajes: 1.438
Antigüedad: 22 años, 3 meses
Puntos: 0
actualmente tienes que programenres la integridad referencial tu a mano con el codigo.

Pero he leido que las claves ajenas es una de las mejoras en las q se esta trabajando.

tb he oido que si en vez de utilizar las tablas q hay por defecto se utilizan otro tipo de tabla mysql si se pueden utilizar claves ajenas.

Insito que las dos ultimas cosas, son cosas que he leido en algun sitio, posiblemente en ingles y no esta contrastada la información
  #3 (permalink)  
Antiguo 25/07/2003, 06:08
 
Fecha de Ingreso: julio-2003
Mensajes: 8
Antigüedad: 20 años, 9 meses
Puntos: 0
Sip, por lo que sé:

Las claves externas se pueden utilizar en la versión 4 de mysql pero sólo funcionan con tablas de tipo INNODB, hay q crear índice para ellas ...

Eso ya lo he leido y consigo que funcione para la mayoría de los casos, pero tengo ese caso especial y bueno aunque sé que se puede hacer manualmente, si lo puedo hacer con un buen diseño pos mejor que mejor.

Gracias por responder.
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 05:31.