2012-02-14 13 views
5

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

This वह आरेख है जिसके साथ मैं आया था, और here व्युत्पन्न स्कीमा है।

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

तो प्रोफेसर विशेष रूप से उल्लेख किया भाग अनावश्यक था, तो किसी तरह से यह है कि एक सरल ईआर आरेख और स्कीमा में परिणाम निकालने के लिए होना चाहिए - लेकिन मैं नहीं देख सकते हैं कि यह क्या है।

हो सकता है कि तुम लोगों को देखने के यह क्या है और मुझे एक संकेत दे सकते हैं?

संपादित करें: दान डब्ल्यू एक महान सुझाव था। मैं प्रत्येक भाग प्रकार (संधारित्र, प्रतिरोधी, आदि) अपनी स्वयं की चाबियाँ देकर भाग को खत्म कर सकता हूं। फिर उपयोग भाग के अंदर, उन घटकों के लिए विदेशी कुंजी शामिल करें। मुझे यह मानना ​​होगा कि तालिका की प्रत्येक प्रविष्टि केवल एक ही हिस्से से जुड़ी होगी, शेष शून्य होगी। परिणामी स्कीमा Here's। इस स्कीमा को अच्छी तरह से काम करना चाहिए। लेकिन अब मुझे यह पता लगाना होगा कि ईआर आरेख में कौन से संशोधन इस स्कीमा से मेल खाते हैं।

EDIT2: मैं निष्कर्ष है कि रिश्ते मैं तलाश कर रहा हूँ n-ary है पर आए हैं। कई स्रोतों के अनुसार, एन-आर्य से स्कीमा में कनवर्ट करने के लिए आप प्रत्येक भाग लेने वाली इकाई प्रकार के संबंध की प्राथमिक कुंजी को विदेशी कुंजी के रूप में शामिल करते हैं। फिर सरल विशेषताओं को जोड़ें। This वह है जो मैं आया था।

+1

नहीं आप ResistorID, CapicatorID, आदि के लिए PartID बदल सकता है और उसके बाद Uses_Part तालिका में ये कॉलम जोड़ सकता हूँ? –

+0

अच्छा सुझाव। मैंने पहले इस बारे में सोचा है, लेकिन मुझे पूरी तरह से यकीन नहीं है कि ईआर आरेख में इसका प्रतिनिधित्व कैसे किया जाए। यह एक एन-आरी रिश्ते हो सकता है, लेकिन मुझे देखना होगा। – Schmidget

+2

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

उत्तर

1

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

अपने स्कीमा में पार्ट्स तालिका है:

PartID (PK) 
Quantity 
Drawer 
Part Type 
Value 
Tolerance 
Subtype 
Power Rating 
Voltage 
Term_Style 
Diam 
Height 
Lead_Space 
Name 
Case 
Polarity 
Use 
V_CE 
P_D 
I_C 
H_FE 
Package 
Pins 
Description 

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

संबंधित मुद्दे