Hola.
Me gustaría pedir la opinión de la gente acerca de una cuestión a la que me estoy enfrentando. Pongamos, por ejemplo, que tengo un sistema de noticias y categorías con las siguientes tablas:
noticia
id
titulo
contenido
categoria
id
nombre
noticia_categoria
id_noticia
id_categoria
A partir de esta estructura tenemos que cada noticia puede pertenecer a varias categorías. El caso de la inserción y la eliminación de noticias es bastante sencillo. El problema me surge cuando me dispongo a hacer una edición de la noticia. Cargo el formulario bien, con sus respectivos checkbox para cada categoría y marco los que corresponden como checked, sin embargo, a la hora de guardar no tengo muy claro qué es lo mejor.
Normalmente lo que hago es un "DELETE" de todos los registros de noticia_categoria correspondientes a la noticia que estoy editando y posteriormente recorro los check y voy insertando registros en esta misma tabla, pero no sé si esto es lo correcto.
Otra opción sería no borrar ninguno e ir comprobando uno a uno, si esta relación noticia-categoria ya tiene un registro en la tabla, y si no lo tiene insertarlo, pero creo que esto provocaría bastantes más consultas.
Quisiera saber qué es lo óptimo en esta situación.
Un saludo