मैं एक छोटा सा कार्यक्रम बना रहा हूं जहां उपयोगकर्ता पोस्ट बनाते हैं या ब्लॉग लिखते हैं। उन पोस्टों पर, अन्य उपयोगकर्ता पोस्ट को फ़ेसबुक पर पसंद या नापसंद कर सकते हैं या पोस्ट को स्टाओवरफ़्लो के रूप में बढ़ा या घटा सकते हैं। मैं एक अच्छे डेटाबेस स्ट्रक्चर को जानना चाहूंगा जिसका आमतौर पर इस्तेमाल किया जाता है और प्रोग्राम उस स्ट्रक्चर के साथ कुशलता से काम करता है। मेरे पास दो विकल्प हैं
प्रथम
पद:
id head message datepost likes dislikes
1 ab anchdg DATE 1,2,3 7,55,44,3
उपरोक्त तरीके से, idपोस्टिड है। पसंद के कॉलम में, 1,2,3उपयोगकर्ता की आईडी है जो पोस्ट या ब्लॉग को पसंद या अपग्रेड करता है। 7,55,44,3उन उपयोगकर्ताओं की आईडी है, जिन्होंने पोस्ट या ब्लॉग को नापसंद या अस्वीकृत किया है।
दूसरा
पद:
id head message datepost
1 ab anchdg DATE
को यह पसंद है:
id postid userid
1 1 1
2 2 2
नापसंद:
id postid userid
1 1 7
2 1 55
इस तरह, मुझे पोस्ट की पसंद पाने के लिए पसंद और नापसंद के लिए दो अलग-अलग टेबल बनाने होंगे। इस तरह, टेबल यानी Likesऔर Dislikesभारी भरकम हो जाएंगे। इससे तालिका भारी और धीमी हो सकती है।
इसलिए, मैं जानना चाहूंगा कि इस कार्य को प्राप्त करने का बेहतर और मानक तरीका कौन सा है?