Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

डेटाबेस डिजाइन:ईएवी विकल्प?

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

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

कुछ सरल परिवर्धन के साथ, विशेषता तालिका एक बहुमुखी भंडार बन सकती है जिसका उपयोग विभिन्न उद्देश्यों के लिए किया जा सकता है। उदाहरण के लिए तालिका में निम्न में से कुछ शामिल हो सकते हैं

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

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

अब... zerkms . की टिप्पणी पर ध्यान दें , प्रश्न के नीचे ही। अपने सभी लाभों के लिए, ईएवी मॉडल भी कमियों और चुनौतियों के अपने हिस्से के साथ आता है, जैसा कि संकेत दिया गया है कि प्रश्नों की जटिलता दिमाग में आती है, और प्रदर्शन के मुद्दे भी। हालांकि इन चिंताओं को अयोग्य नहीं ठहराया जाना चाहिए, एक प्राथमिकता, ईएवी:ऐसे कई उपयोग मामले हैं जहां ईएवी एक बेहतर दृष्टिकोण है।
मान लें कि ईएवी पसंद है तो मॉडल 2, या यहां तक ​​​​कि थोड़ा अधिक परिष्कृत कुछ निश्चित रूप से मॉडल 1 से बेहतर है।
पी>

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Laravel 4 अपडेट के साथ एक्सक्लूसिव ट्रांजैक्शन और चुनें

  2. MySQL वर्कबेंच सीई का उपयोग करके मेरे डेटाबेस का डेटा डिक्शनरी निर्यात करें?

  3. क्रमांकन विफलता:लॉक प्राप्त करने का प्रयास करते समय गतिरोध पाया गया

  4. हाइबरनेट MySQL के लिए डेटाबेस क्यों नहीं बना रहा है?

  5. PDOException::(PDO::__construct():caching_sha2 auth:109 करते समय MySQL 8 / PHP 7.2 / Laravel के साथ अनपेक्षित सर्वर प्रतिक्रिया करता है