7. Relacions de diversos a diversos

Índex
Capítol anterior

7.1. Definició

Aquesta relació és radicalment diferent de les dues anteriors, ja que no es fa sobre la base de l'existència de camps en comú; és, en canvi, una associació de registres d'una taula amb els d'una altra en virtut d'algun fet que inclogui algunes de les parelles possible i n'exclogui d'altres.

Una relació de diversos a diversos (N:M) és aquella que s'estableix entre dues taules les claus primàries de les quals pertenyen a dominis diferents i entre les quals es pot establir algun criteri d'inclusió o exclusió dels aparellaments possibles.

 

7.2. Producte cartesià

Donats dos conjunts, s'anomena producte cartesià d'aquests el conjunt de tots els aparellaments possibles entre els elements del primer conjunt i els elements del segon conjunt.

Si aquests conjunts són dues taules, els aparellaments fan referència als registres d'aquestes.

Un grup de nois G1={A, B, C, D} ha anat a ballar amb un grup de noies G2={P, Q, R}. El producte cartesia comprèn totes les parelles de ball possibles, que seran les formades pels aparellaments dels elements de G1 amb els de G2:

AP   AQ   AR
BP   BQ   BR
CP   CQ   CR
DP   DQ   DR

En Access podem obtenir el producte cartesià de dues taules fent una consulta conjunta sobre les dues prescindint en la consulta de qualsevol relació que pugui haver-se establert entre les taules.

 

7.3. Subconjunts del producte cartesià

Un determinat criteri pot establir la inclusió o l'exclusió dels aparellaments en un subconjunt.

En l'exemple anterior, suposem que algunes de les parelles de ball possibles no s'han arribat a produir. Diguem que A no ha ballat amb Q ni amb R, i que B no ha ballat amb P. Les parelles realment formades són doncs:

{AP, BQ, BR, CP, CQ, CR, DP, DQ, DR}

Un altre exemple: tenim una base de dades amb una taula amb dades de pel·lícules i una altra amb dades d'actors. Es evident que no tots els actors han participat en totes les pel·lícules; per tant, el producte cartesià no ens serveix. La majoria dels actors han participat en més d'una pel·lícula, i la majoria de les pel·lícules tenen més d'un actor; per tant no podem establir relacions 1:N. La relació és clarament N:M i hi haurà doncs uns aparellaments actor/pel·lícula vàlids i altres que no ho seran.

 

7.4. Taules d'unió

Una taula d'unió és una taula que ens indica la inclusió dels aparellaments reals entre els registres de dues taules N:M. Aquestes taules d'unió es relacionen amb les altres dues segons sengles relacions 1:N.

En el primer dels exemples anteriors establiríem una taula anomenada anomenada Parelles de Ball, en què es recollirien només les que realment s'han produït. En el segon exemple hi hauria una taula anomenada Interpretacions, en què s'aparellarien, amb un criteri anàleg, pel·lícules amb actors.

A fi d'assegurar que cada aparellament s'introdueix una sola vegada, és convenient - no pas obligatori - d'establir com a clau primària de la taula d'unió el conjunt format pels dos camps que entren a formar part de les dues relacions 1:N.

 

7.5. Atributs propis en una taula d'unió

Els aparellaments que es produeixen en una taula d'unió constitueixen una nova sèrie d'elements, sovint força abstractes, però que poden posseir atributs propis.

En la taula de Parelles de Ball podríem crear un camp que recollís el nombre de balls de la parella. En la taula Interpretacions podríem recollir el nombre d'Oscars obtinguts per cada actor o actriu per aquella pel·lícula determinada.

Adonem-nos que aquests atributs no són propis dels registres de cap de les taules inicials, sinó dels aparellaments com a tals i, per tant, dels registres de la taula d'unió.