@@iosifpuha6114 Tutte le associazioni possono sempre essere tradotte creando una tabella aggiuntiva, avente come primary key l'unione delle primary key delle due tabelle coinvolte. Tuttavia, questa scelta non è ottimale per le associazioni uno a uno o uno a molti, con le dovute eccezioni, poiché la traduzione può essere fatta aggiungendo una foreign key, evitando di creare un'ulteriore tabella. La scelta di tradurre con tabella aggiuntiva o con foreign key dipende da una valutazione sulle prestazioni dell'intero sistema, che non può prescindere dalla conoscenza di informazioni come lo spazio occupato (volumi) e la frequenza delle operazioni che si vogliono effettuare. A seconda che si voglia ottimizzare lo spazio oppure l'efficienza di elaborazione, si possono fare traduzioni diverse. Per le associazioni uno a uno, solitamente si traduce con foreign key, ma se l'associazione è totalmente opzionale, potrebbe essere più conveniente tradurla aggiungendo una tabella, se l'obiettivo è ottimizzare lo spazio occupato. Allego una dispensa che fornisce ulteriori spiegazioni: drive.google.com/file/d/15DZlLEOneJIrW85D0G6gEizj6YyYPPpx/view?usp=sharing
Ma questo metodo vale solo per le associazioni con la cardinalità N:N oppure anche per gli altri tipi di associazioni come 1:N e 1:1?
1:1 sì, per esempio persona che gioca il ruolo di moglie e di marito. 1:n non mi viene in mente un esempio.
@@CinziaBocchi Scusi ma le associazioni 1:1 non vengono tradotte direttamente come chiave esterna senza introdurre una nuova relazione?
@@iosifpuha6114 Tutte le associazioni possono sempre essere tradotte creando una tabella aggiuntiva, avente come primary key l'unione delle primary key delle due tabelle coinvolte. Tuttavia, questa scelta non è ottimale per le associazioni uno a uno o uno a molti, con le dovute eccezioni, poiché la traduzione può essere fatta aggiungendo una foreign key, evitando di creare un'ulteriore tabella. La scelta di tradurre con tabella aggiuntiva o con foreign key dipende da una valutazione sulle prestazioni dell'intero sistema, che non può prescindere dalla conoscenza di informazioni come lo spazio occupato (volumi) e la frequenza delle operazioni che si vogliono effettuare. A seconda che si voglia ottimizzare lo spazio oppure l'efficienza di elaborazione, si possono fare traduzioni diverse. Per le associazioni uno a uno, solitamente si traduce con foreign key, ma se l'associazione è totalmente opzionale, potrebbe essere più conveniente tradurla aggiungendo una tabella, se l'obiettivo è ottimizzare lo spazio occupato. Allego una dispensa che fornisce ulteriori spiegazioni: drive.google.com/file/d/15DZlLEOneJIrW85D0G6gEizj6YyYPPpx/view?usp=sharing
@@CinziaBocchi grazie mille della disponibilità, molto gentile!😊Buona giornata