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

दो-तरफा बाज़ार में संबंधपरक तालिकाओं का निर्माण कैसे करें

आपको जानकारी रिकॉर्ड करने के मूल तरीके को समझने की जरूरत है, अर्थात तालिकाओं में।

पर्याप्त तालिकाएं ढूँढना

व्यवसाय की स्थिति का वर्णन करने के लिए आवश्यक प्रत्येक विवरण के लिए बस एक आधार तालिका रखें:

User(user_id,name,...)
    // User [user_id] is named [name]
Contacted(contact_id,item,offer_id)
    // user [contact_id] was contacted re item [item] offered by user [offer_id]
...etc...

कथन के पैरामीटर तालिका के स्तंभ हैं।

अगर आप किसी ऐसी चीज़ के बारे में बात करना चाहते हैं जिसके बारे में आप सोचते हैं कि उसके कई हिस्से हैं (विषम या सजातीय) तो इसका सीधा सा मतलब है कि कुछ बयानों में एक चीज़ और उसके हिस्से शामिल होंगे:

table request(request_id,start_date,end_date,...)
    // [request_id] goes from [start_date] to [end_date] and ...
table requested(request_id,item_id,person_id,...)
    // person [person_id] requested item [item_id] in request [request_id]

तालिका में क्या है

आधार तालिका का मान वह पंक्तियाँ हैं जो उसके कथन को सत्य बनाती हैं। (हर क्वेरी सबएक्सप्रेशन में एक स्टेटमेंट भी होता है, और इसका मान वे पंक्तियाँ होती हैं जो उसके स्टेटमेंट को सही बनाती हैं।)

व्यावसायिक नियमों के साथ तालिका विवरण को भ्रमित न करें। व्यापार नियम राज्य सत्य। लेकिन एक टेबल स्टेटमेंट एक बयान है कि कुछ टपल सच करता है (और तालिका में जाता है) या गलत (तालिका से बाहर छोड़ दिया जाता है)। तालिकाओं में दिए गए सभी सत्य और असत्य कथन आपको व्यवसाय के बारे में जानने के लिए आवश्यक सब कुछ बताते हैं। व्यावसायिक नियम उनका कभी खंडन नहीं करेंगे। (चूंकि वे हमेशा सत्य होते हैं।)

बेहतर तालिकाओं में पुनर्व्यवस्थित करना

एक कुंजी स्तंभों का एक समूह है जो अन्य सभी स्तंभों के ऐसे कार्य हैं, लेकिन जिनके उपसमुच्चय में वह गुण नहीं है। एक तालिका में एक से अधिक कुंजी हो सकती हैं।

डेटाबेस को अपडेट करने और क्वेरी करने में आसान बनाने के लिए आपको कुछ ऐसे स्टेटमेंट्स को तोड़ना चाहिए जो AND से जुड़े हुए अन्य स्टेटमेंट हैं। तब तक ब्रेक अप करें जब तक कि प्रत्येक स्टेटमेंट में केवल मुख्य कॉलम और इस फॉर्म के स्टेटमेंट के साथ स्टेटमेंट न हो:

[my_column]=my_function([key_k_column_1],[key_k_column_2],...)

जहां key_k_column_1,... एक ही कुंजी key_n के कॉलम हैं।

(ऐसी तालिका "पांचवें सामान्य रूप में" है और विषय "सामान्यीकरण" है।)




  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. Django:Model.py में TimeField को DateTimeField में बदलें

  3. SQL डेटा पर सामान्यीकरण करने के लिए तेज़ क्वेरी

  4. PostgreSQL में किसी संख्या को प्रतिशत के रूप में प्रारूपित करने के 3 तरीके

  5. तालिका बनाने या इसमें चयन करने के लिए ईवेंट ट्रिगर कैसे बनाएं?