Mysql
 sql >> Database >  >> RDS >> Mysql

Implementazione di commenti e Mi piace nel database

La soluzione più estensibile è avere una sola tabella "base" (collegata a "Mi piace", tag e commenti) e "ereditare" da essa tutte le altre tabelle. L'aggiunta di un nuovo tipo di entità implica semplicemente l'aggiunta di una nuova tabella "ereditata", quindi si collega automaticamente all'intero meccanismo di like/tag/comment.

Il termine di relazione tra entità per questo è "categoria" (consultare la Guida ai metodi ERwin , sezione:"Relazioni sottotipo"). Il simbolo della categoria è:

Supponendo che un utente possa apprezzare più entità, uno stesso tag può essere utilizzato per più di un'entità ma un commento è specifico dell'entità, il tuo modello potrebbe assomigliare a questo:

A proposito, ci sono circa 3 modi per implementare la "categoria ER":

  • Tutti i tipi in una tabella.
  • Tutti i tipi di calcestruzzo in tabelle separate.
  • Tutti i tipi concreti e astratti in tabelle separate.

A meno che tu non abbia requisiti di prestazione molto severi, il terzo approccio è probabilmente il migliore (il che significa che le tabelle fisiche corrispondono 1:1 alle entità nel diagramma sopra).