Adding Attributes With Entity
System से सम्बंधित Entities प्राप्त हो जाने के बाद हमें हर Entity के उन Attributes को Identify करना होता है, जिन्हें Business System अपने Environment में Manage करता है। Attributes वे बाते होती हैं, जो किसी Object को ज्यादा Details से Describe करती हैं। हमें किसी Entity की उन सभी सम्भव Information को सोंचना होता है, जिन्हें Database में Store किया जा सकता है।
Movies के सन्दर्भ में देखें तो हम Movie का Name, उसकी Rating, Movie की Length व Movie के Release होने के Year को Database में Store कर सकते हैं। साथ ही हम इस बात को भी Database में Store कर सकते हैं कि हर Movie में किन Actors ने काम किया है, लेकिन इस जानकारी को हम Relationship द्वारा Represent कर सकते हैं ना कि Entity द्वारा।
Entities के Attributes को ER-Diagram में Ellipse में दर्शाया जाता है, लेकिन जब हम Attributes को इस तरह से Represent करते हैं, तब Diagram काफी जटिल हो जाता है। इसलिए हमें Attributes को Entity के साथ एक Box के रूप में Represent करना चाहिए। इससे ER-Diagram न केवल देखने व समझने में सरल हो जाता है, बल्कि इससे Transaction का Logical Design Simple हो जाता है। किसी बडे System का ER-Diagram काफी जटिल बन जाता है, लेकिन हमारे Video-Rental Store का Diagram इतना जटिल नहीं है, क्योंकि ये बहुत ही छोटा System है।
Reviewing The Design
ER-Diagram बनाने व Entity के Required Attributes को Identify करने के बाद हमें Diagram को फिर से देखना होता है और ये पता लगाने की कोशिश करनी होती है कि क्या ये Design और सरल बनाया जा सकता है या नहीं। Design को और Simplify करने के लिए हम सबसे पहले Entities की संख्या को कम करने की कोशिश करते हैं, क्योंकि किसी System में जितने ज्यादा Entities होंगे उनको Represent करने के लिए Database System में उतने ही ज्यादा Tables Create करने पडेंगे और किसी Database System में जितने ज्यादा Tables होते हैं, उन्हें Maintain व Update करना उतना ही कठिन हो जाता है। Entities को कम करने के लिए हमें उन्हें Combine करना होता है।
Entities को Combine करने के लिए Most Commonly Use की जाने वाली Technique ये है कि यदि किसी Entity में बहुत ही कम Code व Descriptions हों] तो उन्हें Combine करके एक Entity बना लिया जाता है और दूसरे Entity की Information को पहले Entity में Fields के रूप में Define कर लिया जाता है।
उदाहरण के लिए Video की Status व Ratings को Store करने के लिए दो अलग Entities बनाने के बजाय हम इन दोनों प्रकार की Information को निम्नानुसार एक ही Table में Store कर सकते हैं:
| Code Type | Code | Description |
| RATING | PG | Parental guidance |
| RATING | PG-13 | No children under 13 |
| RATING | NC-17 | Adults only |
| STATUS | RS | Reserved |
| STATUS | AV | Available |
| STATUS | RE | Rented |
इस तरह की Table में पहले दो Columns Key की तरह होते हैं। इस प्रकार की Tables की Indexing की जाए या ना की जाए, ये बात Table के Implementation Stage में तय करनी होती है। चूंकि इस Table में विभिन्न Codes बहुत ही कम संख्या में हैं, इसलिए इस Table की Indexing करना जरूरी नहीं है।
हालांकि ये एक Simple Example है, फिर भी हम इसे थोडा और Modify कर सकते हैं। इस Stage में हमें ये पता लगाना होता है कि क्या किसी Table में किसी Entity के एक ही Attribute को एक से ज्यादा Fields द्वारा Describe किया जा रहा है। हमारे Example में Directors व Actors दोनों की Tables किसी Person को तथा Movie Industry में उन Persons के Role को Describe कर रही हैं।
इन दोनों Entities को एक Participant Entity के रूप में Combine करना काफी सुविधाजनक हो सकता है क्योंकि हमारे Database में ये दोनों ही Entities Movie में अपने Role को ही Define करने के लिए उपयोगी हैं। ये दोनों ही Entities भले Actors हों या Directors, लेकिन इस तरह से इन्हें Combine करके हम Producers या Screenwriter जैसे अन्य Persons की Information को भी इस Participant Entity में Store कर सकते हैं और इनके लिए भी हमें अलग से Tables Create करने की जरूरत नहीं है। साथ ही इस तरह से Combined Table के कारण हमें केवल एक ही Table को Mange करने की जरूरत होती है, जिससे Database का Design थोडा और Simple हो जाता है।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Oracle 8i/9i SQL/PLSQL in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Oracle 8i/9i SQL/PLSQL in Hindi | Page: 587 | Format: PDF
