Hola, tengo dudas con las relaciones en las bases de datos. No sé si ponerlas o no, a la hora de hacer copias y restaurarlas es un coñazo el problema que dan, ya que tienes que ordenar las insert
. Al igual pasa con el problema de si puse restrict
en el delete
, y en el futuro cambia esto o me equivoque y debo cambiarlo, no hay manera de hacerlo fácilmente.
Fijándome en CMS veo que nunca las hacen, pero claro me enseñaron a tener las relaciones pero ya no sé si son más ventajas que desventajas.
Un saludo
Respuestas
Si hablamos del desarrollo de aplicaciones profesionales, entonces no hay ninguna duda sobre la respuesta: siempre hay que utilizar las relaciones en las tablas de la base de datos. Tienes razón en que cuesta más trabajo, pero a la larga compensa. Si no utilizas relaciones, puedes acabar con pedidos no relacionados con clientes, artículos duplicados en tu inventario y muchos más problemas que te pueden costar dinero y mucho tiempo solucionarlos.
No obstante, en algunas situaciones es muy recomendable desactivar momentáneamente las relaciones entre tablas. Cuando utilizas por ejemplo el comando mysqldump
para volcar toda la información de la base de datos, MySQL desactiva las relaciones para que luego al restaurar los datos no te vuelvas loco. Este es el comentario que se puede ver al principio del archivo .sql
que genera el comando mysqldump
:
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */
@javiereguiluz
Vaya la verdad que eso lo suelo quitar de los backup ya que no sabia para que era o si me modificaría algo jaja.
Muchas gracias!!! lo probaré.
@AlbertoVioque