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

Kommentarer til mange tabeller database design problem

Du kan oprette en anden tabel CommentableEntity (selvom kalder det noget bedre). Hver af rækkerne i dine tabeller (Articles , Recipes osv.) ville have en reference til en unik række i denne tabel. Enhedstabellen kan have en type felt for at angive typen af ​​enhed (for at hjælpe med omvendt sammenføjning).

Du kan derefter få en Comment tabel, der refererer til CommentableEntity , på en generisk måde.

Så for eksempel ender du med følgende tabeller:

Articles
-----------------
Article_id
CommentableEntity_id (fk, unique)
Content
....

Recipes
-----------------
Recipe_id
CommentableEntity_id (fk, unique)
Content
....

CommentableEntity
-----------------
CommentableEntity_id (pk)
EntityType (e.g. 'Recipe', 'Article')

Comment
-------
Comment_id (pk)
CommentableEntity_id (fk)
User_id (fk)
DateAdded
Comment 
...etc...

Du kan tilføje CommentableEntity-posten, hver gang du tilføjer en artikel/opskrift osv. Alt din kommentarhåndteringskode skal kende er CommentableEntity_id - det er ligeglad med, hvilken type ting det er.



  1. Hvordan man skriver en brugerdefineret CrudRepository-metode(@Query) for at filtrere resultatet i mit tilfælde

  2. Understøtter Oracle DB flere (parallelle) operationer pr. forbindelse?

  3. ASP.Net / MySQL:Oversættelse af indhold til flere sprog

  4. PostgreSQL:Hvilken datatype skal bruges til valuta?