Uniendo tablas MySQL (y IV). Uniones con más de dos tablas.

Para finalizar con esta serie de artículos vamos a ver una situación muy habitual, que se da en muchísimos desarrollos. Se trata de relacionar datos de dos tablas, a través de una tercera tabla intermedia, que contiene las referencias a los elementos de cada una de las tablas principales, en la típica relación de “muchos a muchos”, también llamada de m-n. Es el caso en que cada elemento de la tabla A puede estar relacionado con uno o más elementos de la tabla B, y recíprocamente. De hecho, este es el caso más habitual cuando dos tablas se relacionan entre sí. También puede ser, conceptualmente, el más complejo de entender cuando uno se inicia en SQL. Este artículo nos enseñará cómo efectuar estas consultas.

El editor de DataTables (V). Tablas con relaciones m-n (leer)

En el artículo anterior hemos visto como manejar datos de tablas con una relación 1 a n. Un miembro de personal podía residir en una ciudad, pero no en varias. Al mismo tiempo, una ciudad podía albergar a n miembros del personal. Lo mismo sucedía con los cargos. Ahora la cosa se nos complica un poco. Vamos a ver que ocurre cuando tenemos tablas que se relacionan entre sí, en una relación de m-n. Cuando esto sucede, siempre hay una tabla intermedia, y la recuperación y gestión de datos es más laboriosa. Si has seguido hasta aquí todos los artículos que he publicado de esta serie, te costará poco esfuerzo entender como hacemos funcionar este ejemplo. No obstante, dada su relativa complejidad si no tienes práctica, lo he dividido en dos artículos. En este primero no vamos, si quiera, a usar el editor. Sólo veremos los datos y manejaremos datatables como si sólo sirviera para eso. Será en el próximo donde veremos la versión completa, con editor y todo, de este ejemplo. ¿Te animas? Pues, hala. ¡Vamos allá!

El editor de DataTables (VI). Tablas con relaciones m-n (editar)

Cuando trabajamos con bases de datos con relaciones m-n entre tablas, la edición de registros, así como, en general, cualquier proceso que se haga sobre los mismos, debe llevarse a cabo teniendo en cuenta el modelado de datos. Una relación m-n implica el uso de una tabla intermedia donde se almacenan las relaciones. En el anterior artículo aprendimos sobre este tipo de escenarios, viendo como recuperar los datos y renderizarlos en la página. En este artículo vamos a completar el proceso, viendo cómo usar el editor de DataTables de un modo que podamos gestionar este modelado de datos lo más eficientemente posible.