डेटाबेस मॉडल में सामान्यीकरण का अनुवाद करने के लिए मूल रूप से तीन विकल्प हैं
<एच3>1. एक टेबल प्रति कंक्रीट क्लास
टेबल बनाएं Admin
, Teacher
और Student
. इनमें से प्रत्येक तालिका में User
. की सभी विशेषताओं और संबंधों के लिए कॉलम हैं
- प्रो
- एक ठोस उपवर्ग के सभी क्षेत्र एक ही तालिका में हैं, इसलिए सभी छात्र डेटा प्राप्त करने के लिए किसी भी शामिल होने की आवश्यकता नहीं है
- आसान डेटा सत्यापन बाधाएं (जैसे
Student
के लिए अनिवार्य फ़ील्ड) )
- कोन
User
. के सभी क्षेत्र प्रत्येक उपवर्ग तालिका में डुप्लीकेट हैं- विदेशी कुंजी
User
. के लिए तीन एफके क्षेत्रों में विभाजित किया जाना है। एकAdmin
. के लिए , एकTeacher
. के लिए और एकStudent
. के लिए ।
इस मामले में आपके पास केवल एक टेबल कॉल है User
जिसमें User
. के सभी फ़ील्ड शामिल हैं + User
. के सभी उप-वर्गों के सभी फ़ील्ड
- प्रो
- सभी फ़ील्ड एक ही तालिका में हैं, इसलिए सभी
User
get प्राप्त करने के लिए किसी जॉइन की आवश्यकता नहीं है डेटा - FK का
User
में कोई विभाजन नहीं है
- सभी फ़ील्ड एक ही तालिका में हैं, इसलिए सभी
- कोन
- ऐसे कई फ़ील्ड हैं जिनका कभी उपयोग नहीं किया जाता है।
Student
. के लिए विशिष्ट सभी फ़ील्ड औरTeacher
Admins
. के लिए कभी नहीं भरे जाते हैं और इसके विपरीत - डेटा सत्यापन जैसे कि एक ठोस वर्ग के लिए अनिवार्य फ़ील्ड जैसे
Student
बल्कि जटिल हो जाते हैं क्योंकि यह अब आसान नहीं रह गया हैNot Null
बाधा।
- ऐसे कई फ़ील्ड हैं जिनका कभी उपयोग नहीं किया जाता है।
इस मामले में आप प्रत्येक ठोस उप-वर्ग के लिए तालिकाएँ बनाते हैं और आप वर्ग User
के लिए एक तालिका बनाते हैं . प्रत्येक ठोस उप-वर्ग तालिका में User
. के लिए एक अनिवार्य FK है
- प्रो
- सबसे सामान्यीकृत स्कीमा:उपयोगकर्ता की विशेषताओं के लिए कोई दोहराई गई फ़ील्ड नहीं, और कोई अप्रयुक्त फ़ील्ड नहीं।
- FK का
User
में कोई विभाजन नहीं है - आसान डेटा सत्यापन बाधाएं (जैसे
Student
के लिए अनिवार्य फ़ील्ड) )
- कोन
- यदि आप किसी
Student
का सारा डेटा चाहते हैं, तो आपको दो तालिकाओं को क्वेरी करनी होगी - जटिल सत्यापन नियम यह सुनिश्चित करने के लिए कि प्रत्येक
User
रिकॉर्ड में ठीक एकAdmin
है ,Teacher
याStudent
रिकॉर्ड।
- यदि आप किसी
आप इनमें से कौन सा विकल्प चुनते हैं, यह कई चीजों पर निर्भर करता है जैसे कि उप-वर्गों की संख्या, उपवर्ग या सुपरक्लास में विशेषताओं की संख्या, सुपरक्लास के लिए एफके की संख्या, और शायद कुछ अन्य चीजें जो मैंने नहीं कीं के बारे में सोचो।