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

अच्छा डेटाबेस डिज़ाइन, विशेषताओं की चर संख्या

विकल्प 1, 2, और 3 में एक बहुत ही गंभीर खामी है:जब कोई नई विशेषता का सपना देखता है तो आपको अंतर्निहित तालिका स्कीमा को संशोधित करना होगा। विकल्प 1 के मामले में समस्या इस संभावना से जटिल हो जाती है कि एक नया उपकरण प्रकार पेश किया जाएगा। आप कितने आश्वस्त हैं कि विशेषताओं का सेट हमेशा के लिए नियत है? आपको आउटेज लेने या क्लाइंट को यह बताने में कितनी खुशी होगी कि नहीं, आपके पास एक नई विशेषता नहीं हो सकती है?

यदि आप सामान्य विशेषताओं से पूछताछ करने की बहुत संभावना रखते हैं, तो आप उपकरण प्रकार के बजाय विशेषता प्रकार पर विभाजन में फेंके गए 2 के डैश के साथ 3 और 4 के हाइब्रिड का प्रयास कर सकते हैं, जो बहुत अधिक अस्थिर लगता है। विकल्प 4, अगर मैं सही ढंग से समझूं, तो विकल्प 1 का एक सामान्य रूप संस्करण है जो इसकी सभी अंतर्निहित समस्याओं (विरलता और भंगुरता) को हल करता है।

INVENTORY( id*, model, manufacturer, serial )
ATTRIBUTE( id*, name, type, description )
INVENTORY_FACT_STRING( inv_id*, attr_id*, value )
INVENTORY_FACT_NUMBER( inv_id*, attr_id*, value )
INVENTORY_FACT_LIST_STRING( inv_id*, attr_id*, ordinal*, value )

आदि.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL गिनती वाले सभी परिणामों को हटा दें (*) =1

  2. Laravel SQLSTATE[22007]:अमान्य डेटाटाइम प्रारूप:1292 गलत डेटाटाइम मान:'2019-03-10 02:00:39' कॉलम 'updated_at' के लिए (दिन के उजाले की बचत?)

  3. MySql दिनों में दो टाइमस्टैम्प के बीच अंतर?

  4. दूरस्थ कंप्यूटर से MySQL तक कैसे पहुँचें (लोकलहोस्ट नहीं)?

  5. त्रुटि:'सॉकेट के माध्यम से स्थानीय MySQL सर्वर से कनेक्ट नहीं हो सकता'/var/run/mysqld/mysqld.sock' (2)' - गुम /var/run/mysqld/mysqld.sock