Regola per associazioni molti a molti

Dopo aver applicato le regole di derivazione per entità e attributi di entità, nel caso di associazioni molti a molti si procede come segue.

Importante

Regola 5 (prima parte): per ogni associazione binaria N:N tra due entità, è necessario aggiungere alla due relazioni derivate dalle due entità, una terza relazione i cui attributi sono chiavi esterne logicamente collegate alle chiavi primarie delle prime due relazioni.

Nel caso in cui nell' associazione molti a molti siano presenti attributi, la regola continua così:

Importante

Regola 5 (seconda parte): gli eventuali attributi dell'associazione N:N diventano attributi della relazione che contiene anche le chiavi esterne.

Esempio 3.8. Derivazione dell'associazione esame

Derivare Lo schema E-R de Gli esami non finiscono mai :

Le due entità dànno luogo alle relazioni «studenti» e «materie» a cui va aggiunta, a causa della regola appena vista, la relazione «esami». In questa relazione saranno presenti due chiavi esterne «matricola-studente» e «codice-materia», collegate alle chiavi primarie delle altre due relazioni: «matricola» in studenti e «codice» in materie. L'ordine con cui vengono scritte le tre relazioni è importante.

studenti ( matricola, cognome, nome, telefono, via, citta);

materie (codice, nome ) ;

esami ( matricola-studente, codice-materia )

Per concludere l'esempio è necessario aplicare anche la seconda parte della Regola 5:

studenti ( matricola, cognome, nome, telefono, via, citta);

materie (codice, nome ) ;

esami ( matricola-studente, codice-materia, data, voto )

Per esercizio, verificare che i dati nelle seguenti tabelle rispettino i vincoli delle chiavi esterne e contengano una casistica abbastanza varia da permettere di verificare le regole di lettura scritte in precedenza.

Tabella 3.7. studenti

matricola cognome nome via citta telefono
025221 Rossi Mario via stretta, 5 Pisa 050111111
025223 Verdi Giuseppe p.zza italia, 3 Roma 06123456

Tabella 3.8. materie

codice nome
01 chimica
02 informatica
03 inglese

Tabella 3.9. esami

matricola-studente codice-materia data voto
025221 02 2008/11/31 28
025223 02 2007/01/29 19
025221 01 2009/01/01 25


Nota

Nell'ultimo esempio è stato volutamente omesso l'accento sul termine «città» perchè potrebbe capitare che alcuni software non ammettano l'uso di lettere accentate durante la realizzazione di tabelle.