Repeating Columns in Real Life – DBMS Normalization – Database Modeling की पुस्तकों में Repeating Columns का सबसे Popular Example Invoicing System Create किया जाने वाला Invoices व LineItems का होता है। इस स्थिति में Invoices को LineItems में Split करके Master/Detail Relationship बनाना सबसे अच्छा तरीका होता है।
जैसाकि हमने पहले भी कहा है कि Relational Database Management System में Repeating Columns को Include नहीं किया जा सकता है, लेकिन फिर भी कई परिस्थितियों में हमें Repeating Columns के साथ काम करने की जरूरत पडती है। Repeating Columns के Concept में कोई परेशानी नहीं है, लेकिन स्थिति बस यही है कि Relational Database Repeating Columns को Handle नहीं करता है।
ऐसी स्थिति अक्सर ऐसे Database में पैदा होती है, जिसमें Hourly Data को Hold करना होता है, जिसमें हर Hour के साथ एक अलग Value को Store करना होता है। क्या हम इस प्रकार के Data को इस तरह से Normalize कर सकते हैं, जिससे हर Hour की Information एक अलग Row में निम्नानुसार Hold हो –
Date | Hour | Value |
12/01/98 | 1 | 101 |
12/01/98 | 2 | 105 |
12/01/98 | 3 | 116 |
या हम इस Data को निम्नानुसार Store कर सकते हैं, जिसमें ही Hour के लिए एक अलग Column हो-
Date | Hour1 | Hour2 | Hour3 | Hour4 | etc. |
12/01/98 | 101 | 105 | 116 | 116 | |
12/02/98 | 105 | 106 | 108 | 120 | |
12/02/98 | 206 | 206 | 205 | NULL |
इस समस्या का एक Solution ये भी हो सकता है कि हम Hours को Data के रूप में Store करने के बजा; Hours के Start व Stop Duration को Database में निम्नानुसार Store करें-
Date | Start | Stop | Value |
12/01/98 | 0 | 1 | 101 |
12/01/98 | 1 | 2 | 105 |
12/01/98 | 2 | 6 | 116 |
इस प्रकार के Data को Hold करते समय ये हमें तय करना होता है कि हम Data व Time दोनों को एक साथ Handle करना चाहते हैं या अलग-अलग। (Repeating Columns in Real Life – DBMS Normalization)
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Oracle 8i/9i SQL/PLSQL in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Oracle 8i/9i SQL/PLSQL in Hindi | Page: 587 | Format: PDF