Originariamente inviato da nicolabiondo
A

Non vedo la necessità di usare chiavi esterne. Semplicemente devi prevedere un campo per i commenti nella tabella delle opere.
Quando l'utente seleziona l'opera gli viene proposta una form dove scrivere il proprio commento. Quando clicca su invia allora viene attivato un UPDATE nella tabella del tipo UPDATE tabopere SET commento=commentolasciato WHERE opera=operaselezionata

B
O utilizzi una specie di tabella temporanea e quindi i commenti anziché essere salvati subito nella tabella delle opere, vengono salvati in una tabella temporanea che avrà due campi: opera (chiave esterna), commento. Quando tu approvi il commento fai due operazioni SQL: una di UPDATE nella tabella delle opere e una di cancellazione dalla tabella temporanea.
Altrimenti, più efficente, nella tabella opere prevedi anche un campo di tipo flag "visibile", all'inizio non è fleggato poi quando approvi lo imposti su si. Se fai così quando un utente apre un'opera allora devi fare anche un if in cui determini se visualizzare o meno i commenti.
per il punto A...non è che però se vengono inviati + commenti per la stessa opera quello + recente si sovrappone a quello vecchio nella colonna "commento" del DB?

per il punto B non ho capito molto...puoi spiegarmelo + dettagliatamente?