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

ई-कॉमर्स के लिए पोस्टग्रेस्क्ल डेटाबेस डिज़ाइन

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

यह एक इकाई तालिका का सुझाव देता है:जूते; दो लुकअप टेबल:आकार और रंग; और एक थ्री-वे इंटरसेक्शन टेबल:शू स्टाइल्स:

create table ShoeStyles(
    ShoeID   int       not null,
    SizeID   smallint  not null,
    ColorID  char( 1 ) not null,
    Price    currency,
    Qty      int       not null default 0,
    constraint FK_ShoeStyles_Shoe foreign key references Shoes( ID ),
    constraint FK_ShoeStyles_Size foreign key references Sizes( ID ),
    constraint FK_ShoeStyles_Color foreign key references Colors( ID ),
    constraint PK_ShoeStyles primary key( ShoeID, SizeID, ColorID )
);

इस प्रकार, उदाहरण के लिए, संयोजन ('पेनी लोफर', '10 1/2', 'टैन') के हाथ में एक विशेष कीमत और मात्रा होगी। आकार 11 टैन की अपनी कीमत और मात्रा 10 1/2 बरगंडी के रूप में होगी।

मैं एक ऐसे दृश्य की अनुशंसा करता हूं जो तालिकाओं से जुड़ता है और परिणामों को अधिक उपयोगी रूप में प्रस्तुत करता है जैसा कि ऊपर दिखाया गया है, कहें, (15, 4, 3, 45.00, 175)। दृश्य पर ट्रिगर दृश्य के माध्यम से एप्लिकेशन द्वारा सभी एक्सेस की अनुमति दे सकते हैं ताकि ऐप डेटा के भौतिक लेआउट से अनजान बना रहे। इस तरह के विचार एक अत्यंत शक्तिशाली उपकरण हैं जो अंतर्निहित डेटा और ऐप की मजबूती और रखरखाव के लिए महत्वपूर्ण रूप से जोड़ते हैं, लेकिन जिनका बहुत कम उपयोग किया जाता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. समस्या निर्माण जहां खंड शून्य/0 मान शामिल करने के लिए

  2. CREATE EXTENSION पोस्टगिस विफल रहता है,

  3. PostgreSQL में 2d सरणी को 1d सरणी में जल्दी से कैसे हटाएं?

  4. नेटवर्क विश्लेषण के लिए SQL क्वेरी 6 डिग्री पृथक्करण

  5. PostreSQL में DateTimeOffset को कैसे स्टोर करें?