आप एक और टेबल बना सकते हैं CommentableEntity
(हालांकि इसे कुछ बेहतर कहते हैं)। आपकी तालिका की प्रत्येक पंक्ति (Articles
, Recipes
आदि) इस तालिका में एक अद्वितीय पंक्ति का संदर्भ होगा। इकाई तालिका में type
हो सकता है इकाई के प्रकार को इंगित करने के लिए फ़ील्ड (रिवर्स जॉइनिंग में सहायता के लिए)।
फिर आप Comment
. कर सकते हैं तालिका जो CommentableEntity
references का संदर्भ देती है , सामान्य तरीके से।
तो उदाहरण के लिए आपको निम्न तालिकाएँ मिलेंगी:
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...
हर बार जब आप कोई लेख/नुस्खा आदि जोड़ते हैं तो आप CommentableEntity रिकॉर्ड जोड़ सकते हैं। आपके सभी कमेंट-हैंडलिंग कोड को CommentableEntity_id जानना होगा - यह परवाह नहीं करता कि यह किस प्रकार की चीज़ है।