Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

django में गतिशील डेटाबेस टेबल

एक दिलचस्प सवाल, जो व्यापक रुचि का हो सकता है।

प्रति उपयोगकर्ता एक टेबल बनाना एक रखरखाव दुःस्वप्न है। इसके बजाय आपको सभी उपयोगकर्ताओं के डेटा को रखने के लिए एक एकल तालिका को परिभाषित करना चाहिए, और फिर डेटाबेस की क्षमताओं का उपयोग केवल रुचि के उपयोगकर्ता से संबंधित उन पंक्तियों को पुनर्प्राप्त करने के लिए करना चाहिए (यदि आवश्यक हो तो अनुमतियों की जांच करने के बाद, क्योंकि किसी भी उपयोगकर्ता को अप्रतिबंधित देना एक अच्छा विचार नहीं है विशिष्ट अनुमतियों को सेट किए बिना किसी अन्य उपयोगकर्ता के डेटा तक पहुंच)।

अपने प्रस्तावित समाधान को अपनाने के लिए आवश्यक है कि आप प्रासंगिक उपयोगकर्ता के तालिका नाम वाले SQL कथनों का निर्माण करें। डेटाबेस के लिए क्रमिक प्रश्न अधिकतर भिन्न होंगे, और यह कार्य को धीमा कर देगा क्योंकि प्रत्येक SQL कथन को "तैयार" करना होता है (वाक्यविन्यास की जाँच करनी होती है, तालिका और स्तंभों के नाम सत्यापित करने होते हैं, अनुरोध करने वाले उपयोगकर्ता की अनुमति नामित संसाधनों तक पहुँचने के लिए अधिकृत होना चाहिए, और इसी तरह)।

एकल तालिका (मॉडल) का उपयोग करके समान प्रश्नों का बार-बार उपयोग किया जा सकता है, विशिष्ट डेटा मानों को भिन्न करने के लिए उपयोग किए जाने वाले मापदंडों के साथ (इस मामले में उस उपयोगकर्ता का नाम जिसका डेटा मांगा जा रहा है)। आपका डेटाबेस काम तेजी से आगे बढ़ेगा, आपको सभी उपयोगकर्ताओं के डेटा का वर्णन करने के लिए केवल एक मॉडल की आवश्यकता होगी, और डेटाबेस प्रबंधन एक बुरा सपना नहीं होगा।

एक और लाभ यह है कि Django (जिसका आप उपयोग कर रहे हैं) के पास एक व्यापक उपयोगकर्ता-आधारित अनुमति मॉडल है, और आसानी से उपयोगकर्ता लॉगिन को प्रमाणित करने के लिए उपयोग किया जा सकता है (एक बार जब आप जानते हैं कि कैसे)। ये फायदे इतने सम्मोहक हैं, मुझे आशा है कि आप अपने विधर्म से दूर हो जाएंगे और तय करेंगे कि आप एक ही टेबल से दूर हो सकते हैं (और, यदि आप मानक Django लॉगिन का उपयोग करने की योजना बना रहे हैं, तो उपयोगकर्ता मॉडल के साथ एक संबंध जो किसी भी Django के केंद्रीय भाग के रूप में आता है। परियोजना)।

कृपया आगे बढ़ने पर अधिक प्रश्न पूछने के लिए स्वतंत्र महसूस करें। ऐसा लगता है कि आप डेटाबेस के काम में नए हैं, और इसलिए मैंने उचित स्तर का विवरण प्रस्तुत करने का प्रयास किया है। इस तरह के कई नुकसान हैं यदि आप जानकार सलाह तक नहीं पहुंच सकते हैं। SO पर लोग आपकी मदद करेंगे।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में एलटीआरआईएम () फ़ंक्शन कैसे काम करता है

  2. दो तालिकाओं से दो स्तंभों को एक में मिलाएं

  3. पायथन के साथ एसक्यूएल इन क्लॉज को स्ट्रिंग कैसे करें

  4. मैं एक MySQL डेटाबेस में UTC ISO8601 दिनांक कैसे संग्रहीत करूं?

  5. वर्चुअलएन्व, MySQL-पायथन, पीआईपी:किसी को पता है कि कैसे?