मैं एक छोटा सा कार्यक्रम बना रहा हूं जहां उपयोगकर्ता पोस्ट बनाते हैं या ब्लॉग लिखते हैं। उन पोस्टों पर, अन्य उपयोगकर्ता पोस्ट को फ़ेसबुक पर पसंद या नापसंद कर सकते हैं या पोस्ट को स्टाओवरफ़्लो के रूप में बढ़ा या घटा सकते हैं। मैं एक अच्छे डेटाबेस स्ट्रक्चर को जानना चाहूंगा जिसका आमतौर पर इस्तेमाल किया जाता है और प्रोग्राम उस स्ट्रक्चर के साथ कुशलता से काम करता है। मेरे पास दो विकल्प हैं
प्रथम
पद:
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
भारी भरकम हो जाएंगे। इससे तालिका भारी और धीमी हो सकती है।
इसलिए, मैं जानना चाहूंगा कि इस कार्य को प्राप्त करने का बेहतर और मानक तरीका कौन सा है?