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

उत्पाद, रंग, आकार और स्टॉक को स्टोर करने के लिए MySQL डेटाबेस

ये रही आपकी टेबल.

Shirt

  id    product       color    size   stock
---------------------------------------------
   1    Nike Shirt    black     M       5
   2    Nike Shirt    white     L       10
   3    Nike Shirt    blue      M       2
   4    Nike Shirt    blue      XL      3
  ....

आप देखते हैं कि आपने उत्पाद का नाम "नाइके शर्ट" और रंग "नीला" कैसे दोहराया है। एक सामान्यीकृत संबंधपरक डेटाबेस में, हम किसी भी जानकारी की नकल नहीं करना चाहते हैं। आपको क्या लगता है कि अगर कोई गलती से पंक्ति 4 में "नाइके शर्ट" को "नाइके स्कर्ट" में बदल देता है तो क्या होगा?

तो, आइए सामान्य करें आपकी टेबल.

हम एक उत्पाद तालिका के साथ शुरुआत करेंगे।

Product

  id    product    
------ ------------
   0    Nike Shirt

आम तौर पर, डेटाबेस आईडी नंबर शून्य से शुरू होते हैं, एक से नहीं।

इसके बाद, एक रंग तालिका बनाते हैं।

Color

  id    color   
------  -------
   0    black    
   1    white    
   2    blue 

इसके बाद, एक आकार तालिका बनाते हैं।

Size

  id   size 
------ -----
   0    XS
   1    S
   2    M
   3    L
   4    XL
   5    XXL 

ठीक है, अब हमारे पास 3 अलग-अलग ऑब्जेक्ट टेबल हैं। हम उन्हें एक साथ कैसे रखते हैं ताकि हम देख सकें कि स्टॉक में क्या है?

आपने अपनी मूल तालिका के साथ सही विचार किया था।

Stock

  id    product       color    size   stock
---------------------------------------------
   0        0           0        2       5
   1        0           1        3      10
   2        0           2        2       2
   3        0           2        4       3

उत्पाद, रंग और आकार संख्याएं उत्पाद, रंग और आकार तालिका में वापस विदेशी कुंजी हैं। हम ऐसा करने का कारण जानकारी के दोहराव को खत्म करना है। आप देख सकते हैं कि कोई भी जानकारी केवल एक ही स्थान और एक ही स्थान पर संग्रहीत है।

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

एक वास्तविक खुदरा स्टोर में, एक उत्पाद में कई अलग-अलग विशेषताएं हो सकती हैं। विशेषताएँ संभवतः एक कुंजी/मान तालिका में संग्रहीत की जाएंगी। . आपकी साधारण तालिका के लिए, हम तालिका को सामान्यीकृत संबंधपरक तालिकाओं में विभाजित कर सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक मनमाना क्रम के अनुसार SQL पंक्ति आउटपुट को छाँटना?

  2. jdbc से MYSQL त्रुटि:jdbc के लिए कोई उपयुक्त ड्राइवर नहीं मिला:mysql://localhost:3306/test?user='root'&password=''

  3. मैं उन त्रुटियों को कैसे डिबग कर सकता हूँ जिनमें कोई त्रुटि संदेश नहीं है?

  4. शीर्ष और आदेश एसक्यूएल त्रुटि द्वारा

  5. MySQL दिनांक तुलना समस्या