ORM چیست
ORM یا Object Relational Mapping یک تکنیک برنامه نویسی برای تبدیل ارتباطات در Database به مفاهیم Object Oriented در برنامه نویسی است. در واقع میتوان گفت که ORM کلاس ها را به Table ها map میکند.
ORM برای این کار ( map کردن ،) یک Framework تهیه میکند. و توصیه می کند که کاربردها هنگام پیاده سازی از یک Framework استفاده نمایند. وقتی که شما میخواهید به Database دسترسی پیدا کنید، یا اطلاعاتی را ذخیره کنید، این کارها را مستقیما بر روی اشیاء ( Object تان ) انجام میدهید. در واقع ORM با کپسوله کردن مراحل دسترسی به Database ، دشواریهای کار با پایگاه داده را از دید کاربران و برنامهنویسان پنهان میکند.

معرفی ORM
مزیت بکارگیری ORM مدیریت ساده data در Object Oriented Programming توسط ORM است. و اینکه اگر قرار به عوض شدن پایگاه داده باشد، این تبدیل تنها با عوض کردن یک بخش از Framework که وظیفه برقراری ارتباط با Database را بر عهده دارد ( در برخی از برنامههای موجود با تغییر خصوصیت نام پایگاه داده ) صورت میپذیرد.
از مشکلاتی که ORM میتواند بوجود آورد میتوان به این مورد اشاره کرد که به خاطر فضای زیادی که اشغال میکند ، باعث پایین آمدن Performance در سیستم میشود. ولی به خاطر مزایایی که دارد (که بخصوص در پروژههای بزرگ حس میشود) استفاده از آن توصیه میشود.
منابعی که در تهیه این مطلب از آنها استفاده شده است:
دستهها:DataBase, Programming
DataBase, OOP, ORM
مطلب خوبی بود .امیدوارم همینطور خوب ادامه بدین.
در ضمن اگر ادامه داره یک آموزش گام به گام هم برای راه اندازی nHibernate بزارین
ممنون جالب بود.
مختصر و مفید بود.
جدیداْ بدنبال فریم ورکی هستم برای PHP که کارم رو روی اون ادامه بدم. اکثر فریمورکهای بزرگ (همچون CakePHP و Symfony و …) از ORM پشتیبانی میکنند. پس ۱۰۰٪ استفاده از آن مفید و به صرفه است!!!
مطلب بسیار مفیدی بود. ممنون
به نظرتون با وجود classlibrary های .net دیگه استفاده از ORM منطقیه؟
سلام و شکر از مطالبتون
میخواستم بدونم orm های که برای دات نت نوشته شدند برای چه دیتابیس هایی قابل استفاده اند؟
سلام – مطلب عالی بود . احسنت. در خصوص جواب آقا احسام عرض کنم که ORM یک مفهومه نه یک تکنولوژی در حقیقت خود ماکروسافت در پیاده سازی دیتاست ها هم از همین مفهوم استفاده کرده.
در مورد سوال مجید هم عرض کنم که ORM از بانک جداست ، شما می تونید انتزاع اشیاتون رو در قالب اشیا پیاده سازی کنید و از اون ها برای کار با هر بانکی که خواستید استفاده کنید.
از توجهتون ممنونم.
همانطور که در مطالب قبلی به آن اشاره کردم.ORM بوجود آمد تا به برنامه نویسان این اجازه را بدهد که از درگیریهایی که با دیتابیس داشتند رهایی یابند.پس ما با نوع دیتابیس کاری نداریم و صرفا در تعریف اولیه نوع دیتابیس مطرح میشود.و در هر جایی از کار که خواستیم میتوانیم نوع آن را عوض کنیم.