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

कंपनी के डेटाबेस के लिए निम्नलिखित आवश्यकताएं हैं:
- कारों को एक विशिष्ट किराए की अवधि के लिए ग्राहकों को किराए पर दिया जा सकता है।
- एक ग्राहक कई कारें किराए पर ले सकता है, और एक कार कई ग्राहकों द्वारा किराए पर ली जा सकती है।
- प्रत्येक कार के किराए के शुल्क की गणना किराए की अवधि और बीमा या ईंधन शुल्क जैसे किसी भी अतिरिक्त शुल्क के आधार पर की जानी चाहिए।
- कंपनी को प्रत्येक कार के रखरखाव के शेड्यूल और किए गए रखरखाव कार्यों को ट्रैक करने की आवश्यकता है।
- कंपनी को अपनी कारों के उपयोग पर रिपोर्ट देखने की आवश्यकता है, जिसमें किराए की संख्या, किराए की अवधि और उत्पन्न आय शामिल है।
- कंपनी को अपनी कारों पर किए गए रखरखाव कार्यों पर रिपोर्ट देखने की आवश्यकता है, जिसमें किए गए रखरखाव के प्रकार, उसकी तारीख और लागत शामिल है।
- कंपनी को अपनी कारें किराए पर लेने वाले ग्राहकों को ट्रैक करने की आवश्यकता है, जिसमें उनकी व्यक्तिगत जानकारी जैसे नाम, पता, फोन नंबर और ईमेल पता शामिल है।
- कंपनी को अपने ग्राहकों पर रिपोर्ट देखने की आवश्यकता है, जिसमें किराए की संख्या, किराए की अवधि और प्रत्येक ग्राहक से उत्पन्न आय शामिल है।
इन आवश्यकताओं को पूरा करने के लिए, कार रेंटल सिस्टम को मॉडल करने के लिए एंटिटी-रिलेशनशिप (ER) डायग्राम बनाया जा सकता है। डायग्राम में कारें, ग्राहक, किराए और रखरखाव जैसे एंटिटी और किराए, ग्राहक किराए और कार रखरखाव जैसे संबंध शामिल होंगे।
डेटाबेस के लिए ER डायग्राम विकसित करने के लिए एक स्टेप-बाय-स्टेप गाइड
यहां डेटाबेस के लिए ER डायग्राम विकसित करने के लिए एक स्टेप-बाय-स्टेप गाइड है:
- एंटिटी की पहचान करें:सबसे पहले डेटाबेस में शामिल होने वाली अलग-अलग एंटिटी की पहचान करें। इन एंटिटी को लोग, स्थान, चीजें या डेटाबेस के क्षेत्र से संबंधित अवधारणाएं हो सकती हैं। उदाहरण के लिए, कार रेंटल सिस्टम में, एंटिटी में कारें, ग्राहक, किराए और रखरखाव शामिल हो सकते हैं।
- विशेषताओं को निर्धारित करें:अगला, प्रत्येक एंटिटी की विशेषताओं को निर्धारित करें। विशेषताएं वे लक्षण या गुण होते हैं जो एंटिटी का वर्णन करते हैं। उदाहरण के लिए, कार एंटिटी की विशेषताएं मेक, मॉडल, वर्ष और लाइसेंस प्लेट नंबर शामिल हो सकते हैं।
- संबंधों की पहचान करें:एंटिटी और उनकी विशेषताओं की पहचान करने के बाद, एंटिटी के बीच संबंधों को निर्धारित करें। संबंध एंटिटी के बीच संबंध या संबंध होते हैं। उदाहरण के लिए, कार और किराए एंटिटी के बीच संबंध यह है कि एक कार को एक विशिष्ट किराए की अवधि के लिए किराए पर दिया जा सकता है।
- कार्डिनैलिटी को निर्धारित करें:कार्डिनैलिटी एक एंटिटी के उन उदाहरणों की संख्या को वर्णित करती है जो दूसरी एंटिटी के उदाहरणों से जुड़ सकते हैं। उदाहरण के लिए, कार और किराए एंटिटी के बीच कार्डिनैलिटी एक-से-बहुत हो सकती है, जिसका अर्थ है कि एक कार कई ग्राहकों को किराए पर दी जा सकती है।
- संबंध की डिग्री को निर्धारित करें:संबंध की डिग्री संबंध में शामिल एंटिटी की संख्या को संदर्भित करती है। उदाहरण के लिए, कार और किराए एंटिटी के बीच संबंध द्विआधारी संबंध है, जिसका अर्थ है कि इसमें केवल दो एंटिटी शामिल हैं।
- प्रारंभिक डायग्राम बनाएं:पिछले चरणों में एकत्र की गई जानकारी का उपयोग करके एक प्रारंभिक ER डायग्राम बनाएं। इस डायग्राम में एंटिटी, विशेषताएं, संबंध, कार्डिनैलिटी और संबंध की डिग्री शामिल होनी चाहिए।
- डायग्राम को बेहतर बनाएं: ER आरेख को सटीकता, पूर्णता और सांत्वना के लिए समीक्षा करके सुधारें। आवश्यकता होने पर किसी भी आवश्यक समायोजन या संशोधन करें ताकि आरेख डेटाबेस की आवश्यकताओं का सही रूप से प्रतिनिधित्व करे।
- प्रतिबंध जोड़ें: डेटाबेस में डेटा के प्रवेश को सीमित करने वाले नियम या शर्तों के रूप में डेटा अखंडता और सांत्वना सुनिश्चित करने में मदद करने वाले किसी भी प्रतिबंध को आरेख में जोड़ें। उदाहरण के लिए, एक प्रतिबंध यह हो सकता है कि एक कार एकाइटी को एक वैध लाइसेंस प्लेट नंबर होना चाहिए।
- आरेख को अंतिम रूप दें: जब ER आरेख को सुधार लिया गया हो और प्रतिबंध जोड़ दिए गए हों, तो आरेख को अंतिम रूप दें। अंतिम आरेख को डेटाबेस और उसकी आवश्यकताओं का सही रूप से प्रतिनिधित्व करना चाहिए।
- डेटाबेस उत्पन्न करें: अंतिम ER आरेख का उपयोग करके डेटाबेस स्कीमा उत्पन्न करें। डेटाबेस स्कीमा डेटाबेस की संरचना को परिभाषित करता है, जिसमें तालिकाएं, कॉलम और उनके बीच संबंध शामिल हैं।
अवधारणात्मक, तार्किक और भौतिक डेटा मॉडलिंग के बीच अंतर को समझना
समस्या विवरण से अवधारणात्मक ERD बनाना
ERD में चार एकाइटी शामिल हैं: कार, ग्राहक, किराया और रखरखाव। प्रत्येक एकाइटी के अपने गुण हैं, जैसे कार एकाइटी के लिए car_id, मॉडल, मेक, वर्ष, दैनिक दर, ईंधन प्रकार, is_available, ग्राहक एकाइटी के लिए first_name, last_name, ईमेल, phone_number और पता, किराया एकाइटी के लिए start_date, end_date, rental_rate, insurance_charge, fuel_charge, और रखरखाव एकाइटी के लिए type, description, cost और maintenance_date।
ERD एकाइटी के बीच संबंधों को भी दिखाता है, जिसमें कार और किराया एकाइटी के बीच किराया संबंध, किराया और ग्राहक एकाइटी के बीच ग्राहक किराया संबंध, और कार और रखरखाव एकाइटी के बीच कार रखरखाव संबंध शामिल हैं।

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

तार्किक ERD को भौतिक ERD में सुधारें
भौतिक ERD एक ‘डेटाबेस स्कीमा आरेख’ है जो एक विशिष्ट DBMS में डेटाबेस को लागू करने के लिए पर्याप्त विवरण प्रदान करता है। एकाइटी और कॉलम के नाम को निम्नलिखित तरीके से संशोधित किया गया है:
- DBMS-विशिष्ट सिंटैक्स का समर्थन करें।
- गैर-आरक्षित शब्दों के उपयोग सुनिश्चित करें (उदाहरण के लिए, order -> purchase_order, desc -> description)
- संगठन-विशिष्ट नामकरण प्रणाली के अनुरूप फिट हो
रखरखाव एकाइटी में कॉलम ‘desc’ का नाम ‘description’ के रूप में बदल दिया गया है।

डेटाबेस स्कीमा उत्पन्न करना: ERD को भौतिक स्कीमा में बदलना
डेटाबेस स्कीमा डेटाबेस संरचना का एक दृश्य प्रतिनिधित्व है जो एक संबंधात्मक डेटाबेस प्रबंधन प्रणाली में डेटा के संगठन को परिभाषित करता है। स्कीमा को एक एंटिटी-रिलेशनशिप आरेख (ERD) के आधार पर बनाया जाता है, जिसका उपयोग एक प्रणाली में विभिन्न एकाइटी के बीच संबंधों को मॉडल करने के लिए किया जाता है।
इस मामले में, ERD को पहले तार्किक ERD में सुधारा गया जिसने कारों, ग्राहकों, किराए के और रखरखाव के बीच संबंधों और उनके संबंधित गुणों को परिभाषित किया। तार्किक ERD ने एकता के बीच संबंधों और कार्डिनैलिटी को स्थापित करने में मदद की।
तार्किक ERD को सुधारने के बाद अगला चरण एक भौतिक ERD बनाना था जो आवश्यक डेटा प्रकार, प्राथमिक और विदेशी कुंजियों और किसी भी प्रतिबंध के साथ वास्तविक डेटाबेस स्कीमा को परिभाषित करता है। भौतिक ERD तार्किक ERD को दर्शाता है लेकिन डेटा डेटाबेस में कैसे संग्रहीत होता है, इसके बारे में अधिक विवरण के साथ।
भौतिक ERD के आधार पर, उचित तालिकाओं, स्तंभों और उनके बीच संबंधों के साथ डेटाबेस स्कीमा बनाने के लिए SQL कोड लिखा गया। स्कीमा में प्रत्येक तालिका प्रणाली में एक एकांकी का प्रतिनिधित्व करती है, और स्तंभ उस एकांकी के गुणों का प्रतिनिधित्व करते हैं। प्राथमिक कुंजियों को प्रत्येक तालिका में रिकॉर्ड की अद्वितीय पहचान के लिए परिभाषित किया गया था, और विदेशी कुंजियों का उपयोग तालिकाओं के बीच संबंध स्थापित करने के लिए किया गया था।
टेबल कार बनाएं (
car_id INT प्राथमिक कुंजी,
मॉडल VARCHAR(255),
निर्माता VARCHAR(255),
वर्ष INT,
दैनिक दर DECIMAL(10, 2),
ईंधन प्रकार VARCHAR(255),
उपलब्ध है BOOLEAN
);टेबल ग्राहक बनाएं (
customer_id INT प्राथमिक कुंजी,
पहला नाम VARCHAR(255),
अंतिम नाम VARCHAR(255),
ईमेल VARCHAR(255),
फ़ोन नंबर VARCHAR(255),
पता VARCHAR(255)
);टेबल किराए बनाएं (
किराए का आईडी INT प्राथमिक कुंजी,
शुरुआत की तारीख DATE,
अंतिम तारीख DATE,
किराए की दर DECIMAL(10, 2),
बीमा शुल्क DECIMAL(10, 2),
ईंधन शुल्क DECIMAL(10, 2),
car_id INT,
customer_id INT,
विदेशी कुंजी (car_id) कार(car_id) के संदर्भ में,
विदेशी कुंजी (customer_id) के उल्लेख करती है Customer(customer_id)
);रखरखाव बनाएँ (
maintenance_id INT प्राथमिक कुंजी,
type VARCHAR(255),
description TEXT,
cost DECIMAL(10, 2),
maintenance_date DATE,
car_id INT,
विदेशी कुंजी (car_id) के उल्लेख करती है Car(car_id)
);
सारांश
लेख में एक प्रभावी डेटाबेस स्कीमा बनाने के लिए एंटिटी-रिलेशनशिप आरेखों (ERDs) को अनुकूलित करने की प्रक्रिया की चर्चा की गई है। ERD को अवधारणात्मक स्तर से तार्किक स्तर और फिर भौतिक स्तर तक अनुकूलित किया जाता है। तार्किक ERD एंटिटी के बीच संबंधों और कार्डिनैलिटी को स्थापित करता है, जबकि भौतिक ERD सभी आवश्यक डेटा प्रकार, प्राथमिक और विदेशी कुंजियों और अनियमों के साथ वास्तविक डेटाबेस स्कीमा को परिभाषित करता है।
फिर भौतिक ERD के आधार पर SQL कोड लिखा जाता है ताकि उचित तालिकाओं, स्तंभों और संबंधों के साथ डेटाबेस स्कीमा बनाया जा सके। लेख में एक प्रभावी डेटाबेस डिजाइन के लिए ERD को अनुकूलित करने के महत्व पर जोर दिया गया है और ERD से डेटाबेस स्कीमा बनाने की प्रक्रिया के बारे में जानकारी प्रदान की गई है।












