Relacion N:M

Estoy haciendo mi primera base de datos y tengo un problema que por mucho que pregunto no consigo que me solucionen. A ver si tu conoces una solución
Te explico:
Esto me pasa en varios casos pero te pongo un ejemplo. Un colegio recibe varias Publicaciones y una publicación es repartida en varios colegios. Yo, lo que he hecho, a sido hacer una tabla con 2 claves foráneas (la clave de centro y la clave de publicaciones). Las 2 son claves principales y al añadir no me da problema pero al borrar hay veces que no me deja. Lo hogo mediante 2 cuadros combinados, elijo el colegio y elijo la publicación y le doi a añadir y para borrar hago lo mismo. ¿Sabéis por qué no me deja borrar? El error que me da es el siguiente:
""Los cambios solicitados en la tabla no se Realizaron correctamente porque crearían valores duplicados en el indice, clave principal o relación. Cambie los datos en el campo o los campos que contienen datos duplicados, quite el indice o vuelva o vuelva a definir el indice para permitir entradas duplicadas e inténtelo de nuevo"
La opción de integridad referencial la tengo activada y también la opción eliminar en cascada porque si borro un centro su relación con las publicación no me interesa.
¿Cómo puedo hacer para que pueda añadir y borrar sin problemas? Si les quito a las claves ajenas la propiedad de clave primaria me funciona bien pero en ese caso el problema es que me permite tener varios registros iguales y eso tampoco lo puedo dejar así.
Respuesta

Lo creo que se debe realizar es crear 2 tablas escuela y publicación una sera escuela llave foránea para un código de escuela (que se repite) y otro código interno código destino (que es llave principal) todo esto en TABLA ESCUELA para solo que se enlace como llave foránea dentro de TABLA PUBLICACIÓN por código de destino...

1 respuesta más de otro experto

Respuesta
1
A ver si he entendido lo que tienes.
Por un lado una tabla de colegios con una clave principal, y por otro una de publicaciones con otra tabla principal.
Si lo tienes así te debe dejar eliminar registros sin problemas.
Si no, deberías tener los colegios en una tabla y las publicaciones en otra, y a parte una tabla que relacione las dos, y que contenga todos los campos que son clave en las dos tablas, y con un indice principal por todos los campos.
Si no te estoy ayudando me lo comentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas