2010-08-05 15 views
8

क्या आप लोग मुझे दिखा सकते हैं कि यह ईआरडी 5 वें सामान्य रूप में कैसे प्राप्त करें? हमने कल एक क्लास असाइनमेंट किया था जहां हमारे पास एक वास्तविक ग्राहक आया था और हमें इसकी जरूरत बताई गई थी कि मेरा समूह इस मॉडल के साथ आया है, मैं इसे एक कदम आगे बढ़ाने की कोशिश कर रहा हूं और देख सकता हूं कि मैं इसे 5 वें सामान्य रूप में प्राप्त कर सकता हूं ताकि मैं अगले सप्ताह के रूप में इसे बेहतर समझ सकते हैं हम एक और समूह ईआरडी करेंगे जो 5 एनएफ में होना होगा, मुझे यह नहीं पता कि मुझे कहां से शुरू करना है और पुस्तक मेरे माध्यम से नहीं जा रही है। क्या आप लोग मेरी सहायता कर सकते हैं। Erd Model http://img534.imageshack.us/img534/2118/capturekk.jpgडेटाबेस डिज़ाइन सामान्यीकरण सहायता आवश्यक (5 एनएफ)

नई जानकारी "नकली ग्राहक की जरूरत है"

ग्राहक 2 विभागों "लैब 1, लैब 2" कि से चिकित्सा आइटम उसे, दस्ताने और अनुकरणीय पालतू जानवर आदि की तरह आदेश .. विभाग हैं उग आया है और वह सूची में क्या है, यह ट्रैक रखना चाहता है कि विक्रेता बेच रहे हैं, जिनके पास सबसे अच्छी कीमत है और केंद्र से यह कितना खर्च आया है।

जिस तरह से वह यह समझाया आइटम का आदेश दिया जाता है कि एक व्यक्ति उसके पास चला जाता है और वह फिर नीचे लिखते हैं क्या प्रयोगशाला व्यक्ति से व्यक्ति के नाम और बिल करने के लिए क्या लागत केंद्र है की आपूर्ति के लिए पूछता है। लेकिन यह भी ट्रैक करना चाहता है कि तिथि से खरीदा गया है और स्टॉक में क्या है और क्या खरीदा जाना है। उन्होंने यह भी उदाहरण दिया है जो कुछ प्रयोक्ताओं के लिए एक विशिष्ट विक्रेता से आइटम कि सबसे अच्छा कीमतों नहीं हो सकता और वह भी कुछ कैटलॉग मेल में कीमतों के साथ भी है कि वह ट्रैक करना चाहता है प्राप्त करता है चाहता हूँ।

अगर मैं झुका हुआ हूं तो माफी माँगता हूं लेकिन यह सब स्मृति से है।

+0

क्या ऐसा कुछ भी है जो आपको लगता है कि यह पहले से ही 5 एनएफ में नहीं है? –

+0

विकिपीडिया पर इन रूपों की परिभाषाओं का अध्ययन करने से मुझे संदेह होता है कि यह है, हालांकि मैं ब्याज के साथ चर्चा का पालन करूंगा। –

+0

कृपया इस मॉडल के पीछे व्यापार तर्क को स्पष्ट करें: क्या यह एक खरीद ट्रैकिंग प्रणाली है, जो ग्राहकों द्वारा रखे गए आपूर्तिकर्ता ट्रैकिंग आदेशों के अधिक सामान्य मामले की बजाय विभिन्न आपूर्तिकर्ताओं के साथ रखे गए आदेशों का ग्राहक है। – APC

उत्तर

4

मैं अपनी गर्दन को छूने जा रहा हूं और कहूंगा कि आपकी वर्तमान स्कीमा में वास्तव में 5 एनएफ के लिए कोई पात्रता नहीं है। विकिपीडिया से एक उद्धरण लेते हुए यह कहते हैं सबसे 4NF टेबल पहले से ही 5NF के अनुरूप:

प्रयोग केवल दुर्लभ स्थितियों में एक 4NF तालिका 5NF के अनुरूप नहीं है। ये ऐसी परिस्थितियां हैं जिनमें को नियंत्रित करने वाली असली दुनिया की बाधा 4NF तालिका में गुण मानों के के मान्य संयोजन उस तालिका की संरचना में अंतर्निहित नहीं है। इस तरह के एक तालिका 5NF को सामान्यीकृत नहीं है, तो तालिका में डेटा की तार्किक निरंतरता को बनाए रखने के बोझ आवेदन इसे करने के लिए सम्मिलन, हटाने और अपडेट के लिए जिम्मेदार द्वारा आंशिक रूप से किया जाना चाहिए; और का एक बड़ा जोखिम है कि तालिका के भीतर डेटा असंगत हो जाएगा। इसके विपरीत, 5NF डिज़ाइन ऐसी असंगतताओं की संभावना को शामिल करता है।

http://en.wikipedia.org/wiki/Fifth_normal_form

शायद उद्देश्य अपने डेटाबेस 5NF बनाने के लिए नहीं है, लेकिन यह 5NF की तुलना में संरचना है समझते हैं और के लिए कारण है कि यह पहले से ही 5NF में हो सकता है एक तर्क बनाना है।

अपडेट: टिप्पणियों से सर्वसम्मति के कुछ रूपों को पढ़ना, ऐसा लगता है कि आपका डिज़ाइन पहले से ही 5 एनएफ में हो सकता है, चाहे वह डिज़ाइन द्वारा या पिछले सामान्यीकरण पास से दुर्घटनाग्रस्त हो।

+0

लेकिन क्या मैं वास्तव में जानना चाहता हूं कि मैं वास्तव में जानना चाहता हूं, जब हम इस चार्ट को पागल करते हैं तो मैं समूह का नेतृत्व कर रहा था और यह मुख्य रूप से मेरा इनपुट था जो ईआरडी लिखता था लेकिन यह ज्यादातर दुर्घटनाग्रस्त था और कुछ स्लाइड्स का जिक्र करते हुए हमने पहले किया था कक्षा में समीक्षा की। –

+0

ठीक है तो मेरा मुख्य सवाल यह है कि आपने इसे अलग तरीके से किया होगा? यदि ऐसा है तो आप इसे एक ठोस 5 एनएफ डिजाइन बनाने के लिए क्या करेंगे। –

+0

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

1

अस्वीकरण: आपके व्यवसाय तर्क को जानने के बिना मैं निम्नलिखित में से कुछ सुझावों के साथ पूरी तरह गलत हो सकता हूं।

ठीक कुछ चीजें जो मैंने आपके डेटाबेस स्कीमा में देखी थी।

  1. आपकी लागत केंद्र तालिका एक लुकअप और एसोसिएशन टेबल दोनों दिखती है। तो यदि आपके पास निर्धारित लागत केंद्र हैं, उदाहरण के लिए 5 कहें लेकिन 1000 उपयोगकर्ता तब इस तालिका में 5000 रिकॉर्ड होंगे जो सभी लागत केंद्र नाम संग्रहित करते हैं (यह माना जाता है कि लागत केंद्र असाइनमेंट प्रत्येक उपयोगकर्ता के लिए अद्वितीय नहीं है)। हो सकता है कि आप उपयोगकर्ता एसोसिएशन को एक अलग टेबल पर विभाजित करना चाहें, जिसमें इसके स्वयं के पीके और लागत केंद्र के एफके और उपयोगकर्ता आईडी हैं।
  2. आप सूची तालिका, जिसे मैं किसी आइटम के लिए स्टॉक की दुकानों की मात्रा मानता हूं, केवल एक निश्चित मात्रा की आवश्यकता होनी चाहिए कि विवरण क्या है। यदि विवरण प्रत्येक आइटम सूची के लिए अद्वितीय नहीं है, तो आप इसे अपनी खुद की लुकअप तालिका में विभाजित करना चाहते हैं और इसे सूची तालिका में संदर्भित करना चाहते हैं।
  3. आप विक्रेता तालिका में "lineQuantity" संग्रहीत कर रहे हैं। इसके लिए यह कॉलम क्या है। ऐसा लगता है जैसे यह किसी विशिष्ट क्रम से संबंधित है (खरीदी गई वस्तु की मात्रा?) यदि ऐसा है तो आप इसे अपनी तालिका में विभाजित करना चाहते हैं और इसे विक्रेता के आदेश से संबद्ध नहीं करना चाहते हैं। वास्तव में यह जानने के बिना कि कौन सी रेखा सटीकता है हालांकि यह सुझाव पूरी तरह से गलत हो सकता है।
  4. अंतिम सुझाव यह सुनिश्चित नहीं है कि यह आपकी कक्षा के लिए महत्वपूर्ण है या नहीं। आप अपने सभी डेटाटाइप को CHAR (10) के रूप में परिभाषित कर रहे हैं, आप इन्हें डेटाबेस के लिए उपयोग की जाने वाली वास्तविक डेटाटाइप के रूप में बदलना चाहेंगे।
संबंधित मुद्दे