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

एससीडी टाइप 4

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

विभिन्न SCD प्रकारों के लिए सभी अद्यतन विधियों को IRI CoSort में SortCL प्रोग्राम का उपयोग करके पूरा किया जाता है। IRI Voracity में SortCL प्रोग्राम चलाते समय उपयोग की जाने वाली SCD जॉब स्क्रिप्ट बनाने में सहायता करने के लिए एक विज़ार्ड है। अधिकांश एससीडी प्रकार मूल डेटा स्रोत से रिकॉर्ड का मिलान करने के लिए एक पूर्ण बाहरी जुड़ाव का उपयोग करते हैं, जिसमें प्रत्येक से एक कुंजी की बराबरी के आधार पर अद्यतन स्रोत में रिकॉर्ड होते हैं। टाइप 4, हालांकि, एक सॉर्ट का उपयोग करके अपडेट को पूरा करता है।

टाइप 4 एससीडी

टाइप 4 मॉडल टाइप 2 के समान है। अंतर यह है कि 2 टेबल या फाइलें रखी जाती हैं:एक मौजूदा लागतों के लिए और एक लागत के लिए इतिहास रिकॉर्ड रखने के लिए। जब मास्टर में नए वर्तमान रिकॉर्ड जोड़े जाते हैं, तो ये नए रिकॉर्ड आमतौर पर उसी समय इतिहास में जोड़ दिए जाते हैं।

फ़ील्ड परिभाषाएँ अद्यतन, इतिहास और मास्टर फ़ाइलों या तालिकाओं में समान हैं। हम अपडेट और इतिहास के रिकॉर्ड को एक साथ सॉर्ट करेंगे। एक नया मास्टर बनाया जाएगा जिसमें प्रत्येक उत्पाद कोड . के लिए केवल एक रिकॉर्ड होगा और वह रिकॉर्ड सबसे वर्तमान होगा। इतिहास में प्रत्येक उत्पाद कोड . के सभी रिकॉर्ड होंगे अद्यतन स्रोत से वाले भी शामिल हैं।

शुरुआती मास्टर टेबल हमारे टाइप 1 के उदाहरण से शुरुआती मास्टर के समान होगी, जिसमें नीचे दिखाए गए मान होंगे।

ProductCode लागत StartDate
C123 125.50 20110228
F112 2365.00 20120101
G101 19.25 20110930
J245 450.50 20110430
S022 98.75 20110515

सभी अद्यतन डेटा में सभी समान StartDate होंगे। Update.dat स्रोत में निम्न मानों वाले रिकॉर्ड हैं:

ProductCode लागत StartDate
F112 2425.00 20120701
J245 550.50 20120701
M447 101.75 20120701
S022 101.75 20120701

नीचे प्रारंभिक इतिहास स्रोत टाइप 2 में शुरुआती मास्टर की तरह है। तो टाइप 4 टाइप 1 और टाइप 2 का एक संयोजन है जहां मास्टर टाइप 1 मास्टर के समान है और इतिहास टाइप 2 मास्टर के समान है।

ProductCode लागत StartDate
C123 125.50 20110228
F112 2365.00 20120101
G101 19.25 20110930
G101 21.25 20110501
J245 450.50 20110430
J245 425.25 20101001
J245 385.25 20100215
S022 98.75 20110515

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


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

प्रारंभ दिनांक . बनाने के लिए एक कुंजी जो अवरोही क्रम में क्रमबद्ध होती है, उस कुंजी का चयन करें और फिर कुंजी संपादित करें का चयन करें . यह निम्न स्क्रीन लाएगा:

दिशा . के लिए ड्रॉपडाउन में अवरोही select चुनें ।

इस प्रकार की कार्य स्क्रिप्ट इस प्रकार है:

/INFILE=C:/IRI/CoSort95/workbench.orig/workspace/SCD/SCD4/history4.dat
    /PROCESS=DELIMITED
    /ALIAS=history4
    /FIELD=(PRODUCTCODE, TYPE=ASCII, POSITION=1, SEPARATOR=",", FRAME='\"')
    /FIELD=(COST, TYPE=NUMERIC, POSITION=2, SEPARATOR=",", FRAME='\"')
    /FIELD=(STARTDATE, TYPE=ASCII, POSITION=3, SEPARATOR=",", FRAME='\"')
/INFILE=C:/IRI/CoSort95/workbench.orig/workspace/SCD/update.dat
    /PROCESS=DELIMITED
    /ALIAS=update
    /FIELD=(PRODUCTCODE, TYPE=ASCII, POSITION=1, SEPARATOR=",", FRAME='\"')
    /FIELD=(COST, TYPE=NUMERIC, POSITION=2, SEPARATOR=",", FRAME='\"')
    /FIELD=(STARTDATE, TYPE=ASCII, POSITION=3, SEPARATOR=",", FRAME='\"')

/SORT
    /KEY=(PRODUCTCODE, TYPE=ASCII)
    /KEY=(STARTDATE, DESCENDING, TYPE=ASCII)

/OUTFILE=history4.dat
 # This file will contain all the records from both inputs
    /PROCESS=DELIMITED
    /FIELD=(PRODUCTCODE, TYPE=ASCII, POSITION=1, SEPARATOR=",", FRAME='\"')
    /FIELD=(COST, TYPE=NUMERIC, POSITION=2, SEPARATOR=",", FRAME='\"')
    /FIELD=(STARTDATE, TYPE=ASCII, POSITION=3, SEPARATOR=",", FRAME='\"')

/OUTFILE=master4.dat
# Include only one record for each ProductCode
    /PROCESS=DELIMITED
    /FIELD=(PRODUCTCODE, TYPE=ASCII, POSITION=1, SEPARATOR=",", FRAME='\"')
    /FIELD=(COST, TYPE=NUMERIC, POSITION=2, SEPARATOR=",", FRAME='\"')
    /FIELD=(STARTDATE, TYPE=ASCII, POSITION=3, SEPARATOR=",", FRAME='\"')
    /INCLUDE WHERE PRODUCTCODE

नीचे SortCL का उपयोग करके उपरोक्त जॉब स्क्रिप्ट को चलाकर अपडेट किया गया मास्टर है। मान वही हैं जो टाइप 1 अपडेट में उत्पन्न होते हैं।

ProductCode लागत StartDate
C123 125.50 20110228
F112 2425.00 20120701
G101 19.25 20110930
J245 550.50 20120701
M447 139.25 20120701
S022 101.75 20120701

इतिहास फ़ाइल में पिछले सभी रिकॉर्ड और अद्यतन फ़ाइल के नए रिकॉर्ड शामिल हैं।

ProductCode लागत StartDate
C123 125.50 20110228
F112 2425.00 20120701
F112 2365.00 20120101
G101 19.25 20110930
G101 21.25 20110501
J245 550.50 20120701
J245 450.50 20110430
J245 425.25 20101001
J245 385.25 20100215
M447 101.75 220120701
S022 101.75 20120701
S022 98.75 20110515

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 2019 डेटाबेस रुझान - SQL बनाम NoSQL, शीर्ष डेटाबेस, एकल बनाम एकाधिक डेटाबेस उपयोग

  2. SQL क्या है और इसे कैसे शुरू करें?

  3. प्रिज्मा में एक अद्वितीय कुंजी के लिए कई क्षेत्रों का उपयोग करना

  4. Clustered Columnstore Index से सीरियलाइज़िंग डिलीट्स

  5. एसक्यूएल में पंक्ति पैटर्न पहचान