Salta el contingut

DAM - DAW - MP 0484 Bases de Dades

PAS 5 Interrelacions n-àries

Crearem una nova relació amb

  • totes les claus primàries de les entitats relacionades com a claus foranes.

  • tots els atributs de la relació

Determinarem la clau primària de la nova taula segons la connectivitat de les entitats:

  • Quan la connexió de totes les entitats es produeix amb cardinalitat N, la clau primària de la nova relació es compon de totes les claus primàries de les entitats interrelacionades (n).

  • Quan la connexió d'una o més de les entitats es produeix amb cardinalitat 1, la clau primària de la nova relació es compon de totes les claus primàries de les entitats interrelacionades excepte una (n-1). L'entitat que no incorpora la seva clau primària a la de la nova relació ha d'estar forçosament connectada amb un 1.

Connectivitat M:N:P

La clau primària està formada per les claus primàries de les tres entitats interrelacionades.

Exemple

En el següent exemple, guardem informació sobre la pràctica d'esports de cadacun dels alumnes per cadascun dels cursos en què està al centre.

MRE004d

ALUMNE (dni, nom, cognoms

ESPORT (codi, descripcio

CURS (codi

PRACTICA (alumneDni, codiEsport, codiCurs, diaSetmana
      ON (alumneDni) REFERENCIA ALUMNE(dni)
      ON (codiEsport) REFERENCIA ESPORT(codi)
      ON (codiCurs) REFERENCIA CURS(codi)

Connectivitat 1:M:N

La clau primària està formada per les claus primàries de les dues entitats interrelacionades amb cardinalitat N o M.

Exemple

En el següent exemple, guardem informació sobre la pràctica d'esports de cadacun dels alumnes per cadascun dels cursos en què està al centre. En aquest cas només permetem fer un esport per alumne i curs.

MRE004e

ALUMNE (dni, nom, cognoms

ESPORT (codi, descripcio

CURS (codi

GESTIONA (alumneDni, codiCurs, codiEsport, diaSetmana
      ON (alumneDni) REFERENCIA ALUMNE(dni)
      ON (codiEsport) REFERENCIA ESPORT(codi)
      ON (codiCurs) REFERENCIA CURS(codi)

En aquest cas codiEsport és Clau Forana però no forma part de la Clau Primària

Connectivitat 1:1:N

La clau primària està formada per la clau primària de l'entitat interrelacionada amb cardinalitat N i una altra clau primària de qualsevol de les entitats interrelacionades amb cardinalitat 1.

Exemple

En el següent exemple, guardem informació sobre el coordinador de cadacun dels esports que oferim cada curs. Un alumne només pot coordinar un esport cada curs i només tenim un coordinador de cada esport per curs.

MRE004f

ALUMNE (dni, nom, cognoms

ESPORT (codi, descripcio

CURS (codi

COORDINA (codiCurs, alumneDni, codiEsport, diaSetmana
      ON (codiCurs) REFERENCIA CURS(codi)
      ON (alumneDni) REFERENCIA ALUMNE(dni)
      ON (codiEsport) REFERENCIA ESPORT(codi)

En aquest cas codiEsport és Clau Forana però no forma part de la Clau Primària

ALUMNE (dni, nom, cognoms

ESPORT (codi, descripcio

CURS (codi

COORDINA (codiCurs, codiEsport, alumneDni, diaSetmana
      ON (codiCurs) REFERENCIA CURS(codi)
      ON (codiEsport) REFERENCIA ESPORT(codi)
      ON (alumneDni) REFERENCIA ALUMNE(dni)

En aquest cas alumneDni és Clau Forana però no forma part de la Clau Primària

Hi ha tantes solucions possibles com ENTITATS amb costat 1

Connectivitat 1:1:1

La clau primària està formada pels atributs que formen la clau primària de dues entitats qualssevol (cardinalitat 1).

Exemple

En el següent exemple, guardem informació sobre el coordinador de cadacun dels esports que oferim cada curs. Un alumne només pot coordinar un esport cada curs i només tenim un coordinador de cada esport per curs. A més, un alumne només podrà ser coordinador un sol curs.

MRE004g

ALUMNE (dni, nom, cognoms

ESPORT (codi, descripcio

CURS (codi

COORDINA (codiCurs, alumneDni, codiEsport, diaSetmana
      ON (codiCurs) REFERENCIA CURS(codi)
      ON (alumneDni) REFERENCIA ALUMNE(dni)
      ON (codiEsport) REFERENCIA ESPORT(codi)

En aquest cas codiEsport és Clau Forana però no forma part de la Clau Primària

ALUMNE (dni, nom, cognoms

ESPORT (codi, descripcio

CURS (codi

COORDINA (codiCurs, codiEsport, alumneDni, diaSetmana
      ON (codiCurs) REFERENCIA CURS(codi)
      ON (codiEsport) REFERENCIA ESPORT(codi)
      ON (alumneDni) REFERENCIA ALUMNE(dni)

En aquest cas alumneDni és Clau Forana però no forma part de la Clau Primària

ALUMNE (dni, nom, cognoms

ESPORT (codi, descripcio

CURS (codi

COORDINA (codiEsport, alumneDni, codiCurs, diaSetmana
      ON (codiEsport) REFERENCIA ESPORT(codi)
      ON (alumneDni) REFERENCIA ALUMNE(dni)
      ON (codiCurs) REFERENCIA CURS(codi)

En aquest cas codiCurs és Clau Forana però no forma part de la Clau Primària

Hi ha tantes solucions possibles com ENTITATS amb costat 1