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

संबंधपरक डेटाबेस डिज़ाइन एकाधिक उपयोगकर्ता प्रकार

आपका मामला वर्ग/उपवर्ग के उदाहरण जैसा दिखता है।

उपवर्गों से निपटने के लिए SQL तालिकाओं को डिज़ाइन करने के दो क्लासिक तरीके हैं। प्रत्येक के फायदे और नुकसान हैं।

एक तरह से "सिंगल टेबल इनहेरिटेंस" कहा जाता है। इस डिज़ाइन में सभी प्रकार के उपयोगकर्ताओं के लिए केवल एक तालिका है। यदि दिया गया कॉलम किसी दी गई पंक्ति से संबंधित नहीं है, तो प्रतिच्छेदन NULL छोड़ दिया जाता है। उपयोगकर्ता प्रकार को इंगित करने के लिए एक कॉलम जोड़ा जा सकता है।

एक अन्य तरीके को "क्लास टेबल इनहेरिटेंस" कहा जाता है। यह कुछ छोटे बदलावों के साथ, नानेगो ने जो उत्तर दिया है, वह बहुत कुछ है। सभी सामान्य डेटा और एक आईडी फ़ील्ड के साथ उपयोगकर्ताओं के लिए एक तालिका है। प्रत्येक उपवर्ग के लिए एक तालिका होती है, जिसमें उस उपवर्ग से संबंधित डेटा होता है। आईडी फ़ील्ड को अक्सर उपयोगकर्ता तालिका में मेल खाने वाली पंक्ति में आईडी फ़ील्ड की एक प्रति के रूप में सेट किया जाता है। इस तरह उपवर्ग कुंजी डबल ड्यूटी कर सकती है, प्राथमिक कुंजी और उपयोगकर्ता तालिका को संदर्भित करने वाली विदेशी कुंजी दोनों के रूप में कार्य करती है। इस अंतिम तकनीक को "साझा प्राथमिक कुंजी" कहा जाता है। इसे डालने के समय थोड़ी प्रोग्रामिंग की आवश्यकता होती है, लेकिन यह इसके लायक है। यह रिश्ते की एक-से-एक प्रकृति को लागू करता है, और यह आवश्यक जुड़ाव को गति देता है।

आप इन तीनों डिज़ाइनों को 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. 'X' किलोमीटर (या मील) के भीतर शहर ढूँढना

  2. डेटा स्रोत में MySQL कनेक्शन वैधता परीक्षण:1 चुनें या कुछ बेहतर?

  3. समग्र प्राथमिक कुंजी कैसे ठीक से बनाएं - MYSQL

  4. होस्ट xxxx को इस MySQL सर्वर से कनेक्ट करने की अनुमति नहीं है

  5. गो-एसक्यूएल-ड्राइवर के साथ एक नया MySQL डेटाबेस कैसे बनाएं