Entity, Relationship और Attributes
तीन building blocks
ER model तीन चीज़ों से बना है: entities (वस्तुएँ), attributes (उनकी details) और relationships (कैसे जुड़ती हैं)। इनमें से हर एक अलग प्रकारों में आती है, और इन्हें जानना असल स्थितियाँ सटीक model करने में मदद करता है।
Strong और weak entities
- Strong entity — इसकी अपनी key होती है और यह अकेली खड़ी रहती है (Student, Book)। Single rectangle के रूप में बनती।
- Weak entity — इसकी अपनी key नहीं; यह पहचानी जाने को strong entity पर निर्भर (Employee से जुड़ा Dependent)। Double rectangle के रूप में बनती।
Weak entity को अपनी owning strong entity तक एक identifying relationship (double diamond) चाहिए।
Attributes के प्रकार
| प्रकार | मतलब | उदाहरण |
|---|---|---|
| Simple | Atomic, बाँट नहीं सकते | age |
| Composite | हिस्सों से बना | पूरा नाम (first + last) |
| Single-valued | सिर्फ़ एक value | date of birth |
| Multivalued | कई values | phone numbers |
| Derived | दूसरों से गणना | DOB से age |
| Key | विशिष्ट पहचानता | roll number |
Relationships के प्रकार
Cardinality से — कितने कितनों से जुड़ते हैं:
- One-to-one (1:1) — एक person और उनका passport।
- One-to-many (1:N) — एक department और उसके students।
- Many-to-many (M:N) — students और courses।
Cardinality तय करती है foreign keys कहाँ जाएँ, और link table चाहिए या नहीं (M:N को)।
Relationship की degree
- Unary — एक entity खुद से जुड़ी (एक Employee दूसरे Employee को "manage" करता)।
- Binary — दो entities (Student "enrolls in" Course)। सबसे आम।
- Ternary — एक relationship में तीन entities।
Degree गिनती है कितनी entities भाग लेती हैं; cardinality गिनती है कितने instances।
सब जोड़कर
एक library सोचिए:
- Entities: Member (strong), Book (strong)।
- Attributes: Member के पास id (key), name, और phone numbers (multivalued)।
- Relationship: Member Book "borrow करता है" — many-to-many binary relationship।
यह Member और Book tables और borrowing को link table पर mapped होता है।
आम गलतियाँ
- Weak entity को strong मानना। इसकी अपनी key नहीं; इसे owner से जोड़िए।
- Derived attribute store करना। अक्सर store करने के बजाय गणना करना बेहतर।
- Degree और cardinality मिलाना। Degree = entities की संख्या; cardinality = instances की संख्या।
- Link table बिना many-to-many model करना। M:N को एक चाहिए।
सारांश
- Entities strong (अपनी key) या weak (निर्भर) हो सकती हैं।
- Attributes: simple, composite, single/multivalued, derived, key।
- Relationships cardinality से: 1:1, 1:N, M:N।
- Degree है कितनी entities relationship में जुड़ती हैं (unary, binary, ternary)।
- ये प्रकार साथ में आपको कोई भी असल स्थिति model करने देते हैं।
आगे, समग्र ER model सीखिए, या drawing symbols ER diagram symbols में।
