13

मैं एक स्कूल प्रबंधन प्रणाली के लिए सिस्टम बना रहा हूं और संलग्न डेटाबेस स्कीमा के साथ आया हूं।स्कूल प्रबंधन प्रणाली के लिए डेटाबेस सामान्यीकरण

Database diagram http://oi40.tinypic.com/15x21ig.jpg

के बाद कैसे प्रणाली काम करता है:

  1. एक स्कूल में कई छात्रों और शिक्षकों की है। इसमें सिखाए गए कई पाठ्यक्रम (विषय) भी हैं। एक ग्रेड स्तर में कई पाठ्यक्रम असाइन किए जा सकते हैं। बदले में ये पाठ्यक्रम छात्रों को उस विशेष ग्रेड में आवंटित किए जाएंगे।
  2. छात्रों के स्तर ग्रेड और वर्गों में वर्गीकृत हैं। एक छात्र ग्रेड 5 में हो सकता है, लेकिन यदि ग्रेड 5 छात्र संख्या में विशाल हैं, तो वे अनुभागों में विभाजित हैं। उदाहरण: ग्रेड 5 सेक्शन ए, ग्रेड 5 सेक्शन बी
  3. छात्रों को अद्वितीय कक्षाओं में रखा जाता है। एक कक्षा भर में अद्वितीय होगा। वर्ष 2010 की ग्रेड 5 धारा ए का कक्षा वर्ष 2011 के ग्रेड 5 सेक्शन ए के कक्षा से अलग होगी।
  4. छात्रों को माता-पिता असाइन किए जाते हैं। एक माता-पिता के स्कूल में एक से अधिक छात्र हो सकते हैं।
  5. एक या अधिक कक्षाओं को एक शिक्षक को सौंपा जा सकता है।
  6. छात्रों के लिए उपस्थिति उनके शिक्षक द्वारा दैनिक आधार पर
  7. कई प्रकार की परीक्षाएं होंगी। परीक्षा परिणाम प्रत्येक विषय (पाठ्यक्रम) के लिए संग्रहीत होते हैं।

मैं डेटाबेस सामान्यीकरण में एक नौसिखिया हूं और अगर कोई मुझे ठीक दिखता है या नहीं तो कोई मुझे कुछ संकेत दे सकता है तो खुशी होगी।

संपादित करें:

इसके अलावा, वहाँ केवल लॉगिन का एक बिंदु हो जाएगा। उपर्युक्त मामले में, लॉगिन के दौरान, उपयोगकर्ता को ड्रॉपडाउन सूची से उपयोगकर्ता के प्रकार का चयन करना होगा। उस ड्रॉपडाउन चयन का उपयोग सिस्टम में लॉगिन करने के लिए संबंधित तालिका से पूछताछ के लिए किया जाएगा। एक अन्य विकल्प एक सामान्य user तालिका का उपयोग करना है, जो user_id, email, password, last_login_date, last_login_ip स्टोर करेगा, लेकिन student, parent, teacher जैसे संबंधित तालिकाओं में अन्य विवरण संग्रहीत करेगा। तो, इसे लागू करने के लिए पसंदीदा/सही तरीका क्या है?

+3

अरे, आपके स्कूल के छात्रों के पास केवल एक माता पिता हो सकता है? बल्कि अजीब :) प्लस, क्यों कक्षा केवल एक शिक्षक असाइन किया जाता है? इसे पाठ्यक्रम में असाइन नहीं किया जाना चाहिए? – Tadeck

+0

@Tadeck मूल तालिका एक अधिकृत माता-पिता का विवरण संग्रहीत करती है, जो छात्र रिकॉर्ड देखने और जांचने में सक्षम होगी। यह छात्र के सभी मूल विवरणों का संकेत नहीं देता है। उदाहरण: एक छात्र को अपने छात्र की जांच करने के लिए अभिभावक उपयोगकर्ता नाम/पासवर्ड जारी किया जा सकता है। मां भी इसका इस्तेमाल कर सकती थी, लेकिन आम तौर पर केवल एक ही ऐसा करने में सक्षम होगा।कक्षा के लिए, कक्षा केवल एक असाइन क्लास शिक्षक होगा जो उस विशेष कक्षा में छात्रों की उपस्थिति/ग्रेड में भरती है। कोर्स विषय के छात्रों के अध्ययन को संदर्भित करता है। ग्रेड को आवंटित किया जाएगा विषयों और कक्षाओं को ग्रेड आवंटित किया जाएगा। – WebNovice

+3

@Damchey तैयार रहें कि 1-अधिकृत-अभिभावक नियम जैसी चीजें बदल सकती हैं, और आपके ऐप को किसी भी तरह से निपटने की आवश्यकता होगी। इसे डिजाइन करना एक अच्छा विचार हो सकता है ताकि एक छात्र के पास कई अधिकृत अभिभावक हो सकें - फिर आप UI स्तर –

उत्तर

5

आप GRADE_SECTIONS को बिल्कुल मॉडल नहीं करते हैं।

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

छात्रों को GRADE_SECTIONS को क्लासरूम नहीं सौंपा जाना चाहिए।

पाठ्यक्रमों में कई EXAM_RESULTS के बजाय कई परीक्षाएं होनी चाहिए। यह बस यह समझ में नहीं आता है कि गणित और रूसी सीखने वाले छात्रों द्वारा एक फ्रेंच परीक्षा ली जा सकती है।

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