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

मांग पूर्वानुमान के पृथक्करण के लिए सरल स्कीमा डिजाइन करना

आपकी आखिरी टिप्पणी ठीक वही है जो मेरा मतलब था। आपको यह देखकर अच्छा लगा!

चूंकि मैंने इसे करना शुरू कर दिया था, इसलिए मैंने एक उदाहरण कोड समाप्त कर दिया। आप जो कह रहे थे, उसमें अंतर यह है कि क्या बदलेगा और क्या नहीं बदलेगा (raw_material .) बनाम raw_material_hist ) सप्ताह के लिए केवल दिनांक का उपयोग करते हुए, जो सोमवार है , और विभिन्न जाँच बाधाएँ।

CREATE TABLE raw_material 
  ( 
     material_id     NUMBER PRIMARY KEY, 
     material_blabla VARCHAR2(20) 
  ); 

CREATE TABLE wip 
  ( 
     wip_id     NUMBER PRIMARY KEY, 
     parent_raw NUMBER REFERENCES raw_material(material_id), 
     wip_desc   VARCHAR2(20) 
  ); 

CREATE TABLE end_product 
  ( 
     end_product_id NUMBER PRIMARY KEY, 
     parent_wip     NUMBER REFERENCES wip(wip_id), 
     description    VARCHAR2(20) 
  ); 

CREATE TABLE rm_histo 
  ( 
     material_id NUMBER REFERENCES raw_material(material_id), 
     week_start  DATE CHECK (To_char(week_start, 'D')=1), 
     forecast    NUMBER(8) CHECK (forecast >0), 
     CONSTRAINT pk_rm_histo PRIMARY KEY (material_id, week_start) 
  ); 

CREATE TABLE wip_histo 
  ( 
     wip_id            NUMBER REFERENCES wip(wip_id), 
     week_start        DATE CHECK(To_char(week_start, 'D')=1), 
     wip_user_forecast NUMBER(8) CHECK (wip_user_forecast>0), 
     CONSTRAINT pk_wip_histo PRIMARY KEY (wip_id, week_start) 
  ); 

CREATE TABLE end_prod_histo 
  ( 
     end_product_id         NUMBER REFERENCES end_product(end_product_id), 
     week_start             DATE CHECK(To_char(week_start, 'D')=1), 
     end_prod_user_forecast NUMBER(8) CHECK (end_prod_user_forecast >0) 
  ); 

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

आपके उपयोग के मामलों 1 या 2 के लिए, यह डेटाबेस स्कीमा से संबंधित नहीं है। दिन के अंत में यह पूर्वानुमान के लिए कुछ मूल्य अपडेट कर रहा होगा, उपयोग के मामलों 1 या 2 का तर्क पीएल/एसक्यूएल प्रक्रिया में जा सकता है या जो भी आप इंटरफ़ेस के लिए उपयोग कर रहे हैं।

संपादित करें:आपकी पिछली टिप्पणी से भी आप उल्लेख कर रहे थे कि पूर्वानुमानित मैन्युअल रूप से गणना किए गए वीएस को मैन्युअल रूप से सेट किया गया है। इसलिए मैंने ऐसा कॉलम जोड़ा, लेकिन क्रेडिट आपको जाता है

बीआईएस संपादित करें:जहां तक ​​बकेट नंबर की बात है, तो बस तारीख के लिए उचित मास्क का उपयोग करें, जैसे IW या WW . ये दो बदलाव जो साल का पहला हफ्ता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Php.ini में oci8 (ओरेकल) के लिए एक्सटेंशन कैसे सक्षम करें - PHP चेतावनी:PHP स्टार्टअप:लाइन 0 पर अज्ञात में

  2. Oracle में IW और MM का उपयोग करना

  3. ORACLE - ORA-01843:मान्य माह नहीं है

  4. दोहरी तालिका से एसक्यूएल दिनांक और समय की तुलना

  5. ओरेकल डेटाबेस में अरबी वर्ण सम्मिलित नहीं कर सकता