टेबल उत्पादों और कर्मचारियों के साथ डेटाबेस पर विचार करें। वर्तमान उत्पाद प्रबंधकों को मॉडल करने के लिए एक नई आवश्यकता है, जो एक उत्पाद के लिए ज़िम्मेदार एकमात्र कर्मचारी है, यह नोट करते हुए कि कुछ उत्पाद सरल या परिपक्व हैं, ताकि उत्पाद प्रबंधक की आवश्यकता न हो। यही है, प्रत्येक उत्पाद में शून्य या एक उत्पाद प्रबंधक हो सकता है।क्या इन डेटाबेस डिज़ाइन शैलियों (या विरोधी-पैटर्न) के नाम हैं?
दृष्टिकोण 1: ताकि कोई उत्पाद प्रबंधक के साथ एक उत्पाद NULL
मूल्य द्वारा मॉडलिंग की है बदल तालिका Product
एक नया NULL
सक्षम स्तंभ product_manager_employee_ID
जोड़ने के लिए।
दृष्टिकोण 2: product_ID
पर गैर NULL
सक्षम कॉलम product_ID
और employee_ID
के साथ एक नई तालिका ProductManagers
बनाने के लिए, एक अद्वितीय बाधा के साथ, ताकि कोई उत्पाद प्रबंधक के साथ एक उत्पाद इस तालिका में एक पंक्ति की अनुपस्थिति से मॉडलिंग की है।
अन्य दृष्टिकोण हैं लेकिन ये दो हैं जो मुझे अक्सर सामना करना पड़ता है।
मान लीजिए कि ये दोनों वैध डिजाइन विकल्प हैं (जैसा कि मैं विश्वास करने के इच्छुक हूं) और केवल अलग शैलियों का प्रतिनिधित्व करता हूं, क्या उनके नाम हैं? मैं दृष्टिकोण 2 पसंद करता हूं और किसी ऐसे व्यक्ति को शैली में अंतर व्यक्त करना मुश्किल लगता हूं जो वास्तविक उदाहरण को नियोजित किए बिना दृष्टिकोण 1 पसंद करता है (जैसा कि मैंने यहां किया है!) अगर मैं कहूं तो मैं अच्छा होगा, "मैं पसंद करता हूं झुकाव-दिशा -6 एनएफ (या जो कुछ भी) शैली खुद। "
मान लीजिए कि इन दृष्टिकोणों में से एक वास्तव में एक विरोधी पैटर्न है (क्योंकि मुझे केवल दो इकाइयों के बीच संबंधों को मॉडल करने के लिए दृष्टिकोण 1 के मामले में संदेह है) इस विरोधी पैटर्न में क्या है एक नाम?
उचित बिंदु लेकिन मैं इसे इस तरह से देखने का इरादा नहीं रखता था। अब मैं अपने इरादे को स्पष्ट करने के लिए संपादित करने के लिए थक गया हूं कि प्रत्येक उत्पाद में शून्य या एक उत्पाद प्रबंधक होगा (दृष्टिकोण 2 के लिए केवल उत्पाद प्रबंधक आईडी पर एक अद्वितीय बाधा की आवश्यकता है, मुझे लगता है)। – onedaywhen