मैं कुछ प्रोजेक्ट पर जा रहा हूं और मैं अनुयायी और ट्विटर जैसे सिस्टम के बारे में सोच रहा हूं। मेरे पास डेटाबेस पर सदस्य तालिका है। मैं अनुयायी प्रणाली कैसे कर सकता हूं। क्या तर्क तर्क है? मैंने इस तरह कुछ काम किया: मैंने नया बनाया तालिका जो नाम चल रही है और मेरे पास 3 पंक्तियां हैं। ये पंक्तियां आईडी, user_id, follower_id हैं। क्या यह मेरे लिए पर्याप्त है? मुझे इस बारे में नहीं पता कि इस प्रणाली को कैसे किया जा सकता है? क्या आप मेरी मदद कर सकते हैं?निम्नलिखित और अनुयायियों के सिस्टम का तर्क क्या है?
उत्तर
हाँ, है कि डिजाइन एक सरल निम्नलिखित प्रणाली के लिए पर्याप्त है जैसे कि ट्विटर का। बेशक, कुछ अतिरिक्त डेटा (जैसे टाइमस्टैम्प, जैसा कि @Ina द्वारा सुझाया गया है) उपयोगी हो सकता है और आपको इसमें id
की कड़ाई से आवश्यकता नहीं है।
userID INT PRIMARY,
followID INT PRIMARY,
creationTime DATETIME
मान लें कि आपके पास People
की एक इकाई है, आपको People
से People
से कई से अधिक रिश्तों को बनाने की आवश्यकता है। आपकी एसोसिएशन टेबल में, आपके पास दो कॉलम होंगे, PeopleID
और Following
।
किसी उपयोगकर्ता के अनुयायियों को खोजने के लिए, उस उपयोगकर्ता की आईडी को Following
कॉलम में खोजें। यह पता लगाने के लिए कि कौन उपयोगकर्ता का अनुसरण कर रहा है, PeopleID
कॉलम में खोजें।
"अनुयायी" (या "इसके बाद") दो तालिका इकाइयों के बीच एक रिश्ता है जो आपकी तालिका प्रतिबिंबित करता है।
इसका मतलब यह है कि जब तक आप अलग-अलग प्रविष्टियों के रूप में एक ही उपयोगकर्ता के बीच एकाधिक अनुवर्ती और अनुवर्ती व्यवहार करने की योजना बना रहे हैं, तो आपको id
की भी आवश्यकता नहीं है।
एक FOREIGN KEY
साथ user_id
और follower_id
संदर्भ user
करें, उन दोनों को एक समग्र प्राथमिक कुंजी बनाने के लिए और सूचकांक (उपयोगकर्ताओं की सूची एक तेजी से इस प्रकार प्राप्त करने के लिए) follower_id
पर बनाने के लिए:
CREATE TABLE
follows
(
user_id INT NOT NULL REFERENCES user (id),
follower_id INT NOT NULL REFERENCES user (id),
PRIMARY KEY
(user_id, follower_id)
KEY follower_id (follower_id)
)
ENGINE=InnoDB -- if you want the foreign keys to work
आप अन्य जोड़ सकते हैं गुण भी।
आप ट्रैक करना चाहते हैं इस प्रकार है और एक ही उपयोगकर्ताओं के बीच फ़ॉलो करता तो आप एक इकाई में इस को बढ़ावा देने की जरूरत है, एक किराए प्राथमिक कुंजी जोड़ने:
CREATE TABLE
follows
(
id INT NOT NULL PRIMARY KEY,
user_id INT NOT NULL REFERENCES user (id),
follower_id INT NOT NULL REFERENCES user (id),
-- These are additional attributes
follows_from DATETIME NOT NULL,
follows_till DATETIME,
--
KEY follower_id (follower_id),
KEY user_id (user_id)
)
ENGINE=InnoDB -- if you want the foreign keys to work
मान लिया जाये कि आप पहले से ही एक साइट जहां उपयोगकर्ता प्रवेश, आप दो कॉलम के साथ अपने डेटाबेस के लिए एक मेज जोड़ना चाहें, है, या तो 'FRIEND1' और ':
मैं की तरह कुछ की सलाह देते हैं दोस्त 2 '(मानते हुए दोस्ती एक द्विपक्षीय संबंध है) या' नेता 'और' अनुयायी '(एक सदस्यता के unidirectional संबंध के लिए)। फिर, आप एक छोटी PHP स्क्रिप्ट चाहते हैं जो दोस्त 1 और दोस्त 2 को इनपुट के रूप में ले लेता है (उदाहरण के लिए, POST या GET चर के रूप में) और उस जोड़ी को डेटाबेस में दर्ज करता है। अंत में, अपनी वेबसाइट पर एक बटन जोड़ें जो या तो उस PHP स्क्रिप्ट पर AJAX कॉल करता है, या एक HTML फॉर्म का हिस्सा है जिसका लक्ष्य PHP स्क्रिप्ट है।
- 1. अनुयायियों जाओ और iOS में ट्विटर खाते से निम्नलिखित
- 2. 'अनुयायियों' और दक्षता
- 3. लॉगिन सिस्टम अवधारणा और तर्क?
- 4. 'अनुयायियों' और 'अनुवर्ती' के लिए डेटाबेस डिज़ाइन?
- 5. उपयोगकर्ता अनुयायियों/अनुयायियों की सबसे कुशल पूछताछ के लिए एक अच्छा मोंगोडीबी दस्तावेज़ संरचना क्या है?
- 6. रूबी सिस्टम विधि तर्क
- 7. वितरित सिस्टम में सेमेन्टिक वेब का तर्क
- 8. पीएचपी सभी ट्विटर अनुयायियों को लाने और
- 9. स्विंगवर्कर का तर्क क्या है?
- 10. निम्नलिखित क्लोजर प्रोटोकॉल में क्या गलत है?
- 11. UNREFERENCED_PARAMETER के बारे में निम्नलिखित का क्या उद्देश्य है?
- 12. MongoDB: MongoDB में ट्विटर-शैली अनुयायियों/निम्नलिखित संबंध मॉडल को कैसे डिज़ाइन किया जाए?
- 13. ट्विटर अनुयायियों के ट्वीट्स के लिए YQL
- 14. निम्नलिखित और फीड्स के मोंगो डीबी डिज़ाइन, मुझे कहां एम्बेड करना चाहिए?
- 15. क्या मुझे निम्नलिखित उदाहरण
- 16. ट्विटर एपीआई: खोज अनुयायियों ट्वीट
- 17. सिस्टम का व्यावहारिक उपयोग क्या है। लेनदेन?
- 18. फ़्रेड/fwrite आकार लेने के लिए तर्क क्या है और तर्क के रूप में गिनती है?
- 19. दिखा रहा है कि ट्विटर के अनुयायियों को पाइथन/Django
- 20. ओपनसीवी में निम्नलिखित कोड लाइन का अर्थ क्या है?
- 21. क्या व्यू मॉडेल का अपना तर्क है?
- 22. "अनुपलब्ध टेम्पलेट तर्क" का क्या अर्थ है?
- 23. कैसे मैं निम्नलिखित है सी #
- 24. MediaStore.Audio.Playlists.Members.getContentUri का स्ट्रिंग 'वॉल्यूमनाम' तर्क क्या है?
- 25. स्कीमालेस डेटाबेस सिस्टम का आकर्षण क्या है?
- 26. अक्षम पाठ का सिस्टम रंग क्या है?
- 27. हास्केल की टाइप सिस्टम और तर्क प्रोग्रामिंग - स्तर
- 28. निम्नलिखित तर्क लागू करने के लिए पाइथोनिक तरीका क्या होना चाहिए?
- 29. निम्नलिखित प्राप्त (1) फ़ंक्शन क्या करता है?
- 30. शून्य और सिस्टम के बीच क्या अंतर है। DBNull.Value?
यह एक पूरी तरह से स्वीकार्य डिजाइन लगता है। आप उस उपयोगकर्ता को 'user_id' में खोजकर उपयोगकर्ता के अनुयायियों को ढूंढ सकते हैं और उस उपयोगकर्ता को 'follower_id' में खोजकर उपयोगकर्ता का अनुसरण कर सकते हैं। आप टाइमस्टैम्प जैसे कुछ अतिरिक्त मेटाडेटा को शामिल करना चाह सकते हैं, ताकि आपको पता चले कि रिश्ते को आखिरी बार अपडेट किया गया था। आपके उपयोग के मामले के आधार पर, जब आप रिश्ते शुरू या समाप्त होते हैं तो आप ट्रैक करना भी चाह सकते हैं। – Ina
_ "मैंने नई तालिका बनाई है जिसका नाम है और मेरे पास 3 पंक्तियां हैं" _ - आपका मतलब है "3 ** कॉलम **"? –