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

डेटाबेस में गतिशील संख्या की विशेषताओं के साथ डेटा कैसे स्टोर करें

अगर आप कभी विशिष्ट विशेषताओं की खोज करने की योजना बनाते हैं, तो उन्हें एक कॉलम में क्रमबद्ध करना एक बुरा विचार है, क्योंकि आपको जानकारी प्राप्त करने के लिए प्रति-पंक्ति फ़ंक्शन का उपयोग करना होगा - यह शायद ही कभी अच्छी तरह से मापता है।

मैं आपकी दूसरी पसंद चुनूंगा। एक विशेषता तालिका में विशेषताओं की एक सूची है, वस्तुओं को अपनी तालिका में, और कई-से-अनेक संबंध तालिका को ऑब्जेक्ट विशेषताएँ कहा जाता है।

उदाहरण के लिए:

objects:
    object_id    integer
    object_name  varchar(20)
    primary key  (object_id)
attributes:
    attr_id      integer
    attr_name    varchar(20)
    primary key  (attr_id)
object_attributes:
    object_id    integer  references (objects.object_id)
    attr_id      integer  references (attributes.attr_id)
    oa_value     varchar(20)
    primary key (object_id,attr_id)

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

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

उन ट्रिगर का उपयोग करके, आप आवश्यक कार्य को केवल . तक कम कर देते हैं जब डेटा बदलता है। उप-स्तंभ जानकारी निकालने का प्रयास करके, आप प्रत्येक . पर अनावश्यक कार्य करते हैं चुनें.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. लारवेल क्वेरी बिल्डर - या तो उपनाम से समूह कैसे करें, या कच्चा समूह कैसे करें

  2. MySQL में सभी तालिकाओं के लिए सभी कॉलम के नाम कैसे प्राप्त करें?

  3. यह निर्धारित करने के लिए MySQL का उपयोग करें कि क्या आज उपयोगकर्ता का जन्मदिन है

  4. Mysql डेटाबेस से डेटा कैसे खींचे और D3.JS के साथ विज़ुअलाइज़ करें?

  5. डेटाबेस में गतिशील संख्या की विशेषताओं के साथ डेटा कैसे स्टोर करें