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

डीबी डिज़ाइन:सदस्य तालिका अलग या सभी एक टेबल में?

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

आपके प्रश्न में आप कहते हैं कि दोस्तों के पास "न्यूनतम" और "अन्य" विवरण हैं। इन विवरणों को "न्यूनतम" या "अन्य" के रूप में वर्गीकृत करने के बजाय, आइए उन्हें इस आधार पर वर्गीकृत करें कि क्या कोई व्यक्ति ("परमाणु") विवरण पूरी तरह से निर्धारित किया जा सकता है जो किसी मित्र को अद्वितीय बनाता है।

मुझे लगता है कि कुछ प्राथमिक कुंजी (पीके) है, जैसे फ्रेंडआईडी या ई-मेल पता या कुछ। इस विशिष्ट पहचानकर्ता को ध्यान में रखते हुए, अपने आप से पूछें:"यदि मुझे ठीक एक FriendID (या ई-मेल या जो भी आप PK के रूप में उपयोग कर रहे हैं) दिया गया है, तो क्या मैं उस मित्र के बारे में पूरी तरह से निश्चित हूं? उदाहरण के लिए, FriendID=2112 दिया गया है, मैं बिल्कुल उस मित्र का पहला नाम, उपनाम और जन्म तिथि पता है, लेकिन मैं नहीं उस मित्र का फ़ोन नंबर पूरी तरह से जान लें क्योंकि उनमें से एक से अधिक हैं।

पीके दिए गए सभी विवरणों को एक तालिका में एक साथ समूहित करें जिन्हें आप स्पष्ट रूप से जानते हैं। उन विवरणों को रखें जिनके लिए आपको अधिक डेटा की आवश्यकता है (जैसे फोन नंबरों के मामले में "घर" या "काम"), "चाइल्ड" टेबल में, पीके पर "पैरेंट" टेबल पर वापस विदेशी कुंजी। (नोट:यह अत्यधिक संभावना है कि चाइल्ड टेबल का पीके कंपोजिट होगा; यानी, पैरेंट टेबल के पीके और डिफरेंशियल फैक्टर (जैसे इस उदाहरण में "होम" या "वर्क") से बना है। कई साइड के लिए कंपोजिट कीज 1-एम के संबंध बहुत अच्छे हैं।)

डेटाबेस के जानकार इस अपघटन को कार्यात्मक निर्भरता . के आधार पर कहते हैं .



  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. उपयोगकर्ता द्वारा की गई खोज के आधार पर खोज मानदंड रिकॉर्ड की गणना करें (MYSQL PHP)

  3. संबंध से सबसे सामान्य मान का चयन करना - SQL कथन

  4. बैकअप MySQL उपयोगकर्ता

  5. कमांड लाइन के माध्यम से लिनक्स पर एक MySQL उपयोगकर्ता बनाएं