ER Model और ER Diagram
ER model क्या है
ER (Entity-Relationship) model database बनाने से पहले उसकी योजना बनाने का तरीका है। आप असल-दुनिया की entities, उनके attributes, और उनके बीच relationships बनाते हैं। यह diagram एक blueprint की तरह काम करता है जिसे आप बाद में असली tables में बदलते हैं।
Entities
Entity एक असल-दुनिया चीज़ है जिसके बारे में आप data store करते हैं — Student, Book, Order। Diagrams में यह rectangle के रूप में बनती है। हर entity आमतौर पर एक table बनती है, और हर विशिष्ट instance (एक student) एक row बनती है।
Attributes
Attributes entity के गुण हैं। एक Student entity के roll, name और marks हो सकते हैं। Diagrams में ये entity से जुड़े ovals हैं। जब आप tables बनाते हैं, attributes columns बनते हैं।
- Key attribute — entity को विशिष्ट पहचानता है (जैसे roll), diagrams में underline।
- Composite attribute — हिस्सों से बना (जैसे पूरा address)।
- Multivalued attribute — कई values हो सकती हैं (जैसे phone numbers)।
Relationships
Relationship दो entities जोड़ता है। जैसे, एक Student एक Course में enroll करता है। Diagrams में यह दो entities के बीच diamond के रूप में बनता है। Tables में बदलने पर, relationships foreign keys या अलग link table बनते हैं।
Cardinality
Cardinality बताता है एक entity के कितने दूसरे से जुड़ते हैं:
| प्रकार | मतलब | उदाहरण |
|---|---|---|
| One-to-one | 1, 1 से जुड़ता | Person - Passport |
| One-to-many | 1, कई से जुड़ता | Department - Students |
| Many-to-many | कई, कई से जुड़ते | Students - Courses |
Cardinality तय करती है foreign keys कहाँ जाएँ, और आपको link table चाहिए या नहीं (many-to-many को)।
ER model से tables तक
- हर entity एक table बनती है।
- हर attribute एक column बनता है; key attribute primary key बनता है।
- One-to-many relationship "many" तरफ़ foreign key जोड़ता है।
- Many-to-many relationship दो foreign keys वाली अलग link table बनता है।
यह mapping वो है जिससे बनाया ER diagram चलता relational database बनता है।
आम गलतियाँ
- Entity और attribute मिलाना। Entity चीज़ है; attributes उसकी details।
- Key attribute चूकना। हर entity को primary key बनने को एक चाहिए।
- Cardinality अनदेखा करना। यह foreign keys और link tables तय करती है।
- यह भूलना many-to-many को link table चाहिए। इसे एक foreign key से नहीं कर सकते।
सारांश
- ER model entities, attributes और relationships का blueprint है।
- Entities चीज़ें हैं (tables बनती); attributes details हैं (columns बनते)।
- Relationships entities जोड़ते हैं (foreign keys या link tables बनते)।
- Cardinality one-to-one, one-to-many, या many-to-many है।
- ER diagram सीधे relational tables पर mapped होता है।
आगे, drawing symbols सीखिए ER diagram symbols में, या पूरे उदाहरण देखिए ER diagram examples में।
