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.
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.
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.
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.
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