2010-02-03 14 views

उत्तर

21

ओआरएम ऑब्जेक्ट रिलेशनल मैपर है। इसका मतलब है कि आपको डेटाबेस को मैन्युअल रूप से कॉल करने की आवश्यकता नहीं है; ओआरएम आपके लिए इसे संभालता है।

रेल पर रूबी ActiveRecord नामक एक का उपयोग करता है, और यह वास्तव में एक अच्छा है।

User.find(50).contacts 
इसके बजाय मैन्युअल के साथ एक SELECT कथन लिखने के

मिलती है, Wheres, आदि

+0

अब मुझे यह माइक मिला है। क्या कोई अन्य ओआरएम फिर सक्रिय रिकॉर्ड है? – Arun

+1

रूबी (डेटामैपर, सीक्वेल, फ्रेंडली इत्यादि) के लिए अन्य ओआरएम उपकरण हैं, और कुछ रूबी ऑन रेल (ड्राइसक्यूएल) के लिए हैं, लेकिन सक्रिय रिकॉर्ड आम तौर पर रेल के साथ प्रयोग किया जाता है। अन्य भाषाओं के लिए कई ओआरएम हैं; हाइबरनेट शायद सबसे प्रसिद्ध है। –

+0

रेलवे में आधिकारिक तौर पर ("बॉक्स से बाहर") ये केवल ActiveRecord है। रुबी के लिए कुछ अन्य ओआरएम हैं (जिन्हें डेटामैपर कहा जाता है, जो बहुत ध्यान देते हैं), लेकिन ये अन्य लोग उठने और रेल में काम करने के लिए कुछ काम करते हैं – RyanWilcox

1

ORM संबंधपरक मैपर वस्तु है:

ORM आप इस तरह के रूप में काम करने के लिए अनुमति देता है। इसका मतलब है कि आपको डेटाबेस को मैन्युअल रूप से कॉल करने की आवश्यकता नहीं है; ओआरएम आपके लिए इसे संभालता है। रेल पर रूबी ActiveRecord, नामक एक का उपयोग करता है और यह वास्तव में एक अच्छा है।

एक ORM फ्रेमवर्क

सक्रिय रिकॉर्ड हमें कई तंत्र, सबसे महत्वपूर्ण क्षमता होने के देता सक्रिय रिकॉर्ड के रूप में:

> Represent models and their data. 
> Represent associations between these models. 
> Represent inheritance hierarchies through related models. 
> Validate models before they get persisted to the database. 
> Perform database operations in an object-oriented fashion. 

click hear

3

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

उदाहरण: मान लीजिए आप डेटाबेस कनेक्शन के लिए किसी भी कोड लिखने और फिर SELECT * FROM users जैसे कुछ SQL क्वेरी लिखने और एक सरणी में परिणाम में बदलने की तो सभी उपयोगकर्ताओं की एक सरणी लाने के लिए के बजाय चाहते हैं, मैं सिर्फ टाइप कर सकते हैं User.all और सक्रिय रिकॉर्ड मुझे वह ऑब्जेक्ट देता है जो उपयोगकर्ता ऑब्जेक्ट से भरा हुआ है जिसे मैं चाहूंगा जैसा मैं चाहूंगा।

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

संबंधित मुद्दे