او آر ام

رابطه نقشه برداری به شی (Object-Relational Mapping)، عبارت است از مجموعه روش‌هایی به منظور تبدیل اطلاعات ذخیره شده در پایگاه‌های داده رابطه‌ای (Relational Database ) به اشیا رایج در زبان‌های برنامه‌نویسی شی گرا (کلاس، اینترفیس، و...).

ارائه بستری انتزاعی برای مدل‌سازی اشیاء جهان حقیقی و توصیف روابط و خصوصیات آن‌ها از جمله مهم‌ترین اهداف پارادایم شی گرایی است که این مهم در قالب مفهوم‌های همچون کلاس و اینترفیس در زبان‌های شی گرا تجلی یافته‌است.

شی (object)، به عنوان قلب زبان‌های برنامه‌نویسی شی گرا مطرح بوده و و در  زبان‌های شی گرا، اطلاعات و داده‌ها نیز به صورت اشیاء در نظر گرفته می‌شوند.

نمای کلی 
برای مثال یک دفترچه تلفن را در نظر بگیرید، برای نمونه‌سازی این مدل حقیقی در یک زبان برنامه‌نویسی شی گرا می‌توان دفترچه تلفن را به عنوان  مجموعه‌ای  از  اشیاء شخص در نظر گرفت که هر شی شخص دارای ویژگی‌هایی (Property) نظیر نام، نام خانوادگی، شماره تلفن و آدرس می‌باشد.

از سوی دیگر ذخیره ، سازماندهی و  انتقال اطلاعات از ضروری‌ترین نیازهای جوامع امروزی می‌باشد که رایانه‌ها در آن نقش اساسی ایفا می‌کنند. به منظور سهولت ذخیره و سازماندهی اطلاعات توسط کامپیوتر، برنامه‌های مدیریت پایگاه داده معرفی شده اند

این برنامه‌های دارای انواع گوناگونی بوده و هرکدام از روش‌هایی خاص برای ذخیره و سازماندهی اطلاعات استفاده می‌کنند از جمله معروفترین و پرکاربردترین این روش‌ها روش رابطه‌ای می‌باشد در این روش، اطلاعات در قالب جدول (رابطه) ذخیره می‌شوند؛ بنابراین برخلاف زبان‌های برنامه‌نویسی شی گرا که با اطلاعات به صورت شی رفتار می‌کنند، پایگاه‌های داده رابطه‌ای اطلاعات را به صورت نوع دادهای انتزاعی نظیر اعداد صحیح (integer) و رشته‌ها (string) در قالب جدول‌ها  ذخیره می‌کنند 

به منظور پیاده‌سازی مثال قبل در یک پایگاه داده رابطه‌ای می‌توان دفترچه تلفن را جدولی (رابطه) دانست که هر سطر آن یک شخص خاص را مشخص می‌کند و هر ستون این جدول متناظر با یکی از خصوصیات اشخاص می‌باشد

اگرچه زبان‌های برنامه‌نویسی شی گرا قادر به تعامل با برنامه‌های پایگاه داده بوده و میتوانند اطلاعات را به صورت انواع داده‌های انتزاعی در قالب جدولها از پایگاه داده دریافت  نموده و پس از پردازش به پایگاه داده بازگردانند...اما مرسوم است که  اطلاعات ذخیره شده در پایگاه داده را به اشیا رایج در زبان‌های برنامه‌نویسی شی گرا تبدیل کرده سپس از آن‌ها استفاده کرد

اگرچه تبدیل اطلاعات ذخیره شده در پایگاه داده به اشیا رایج در زبان‌های برنامه‌نویسی شی گرا، عموماً با نوشتن کدهای بیشتر وعمدتا تکراری همراه است، اما حفظ جامعیت و یکپارچگی نرم افزار و نیز تحلیل و توسعه راحت‌تر آن به ویژه در برنامه‌های کلان از جمله دلایلی است که برنامه نویسان شی گرا اقدام به این کار می‌کنند.

همانگونه که گفته شد تبدیل اطلاعات ذخیره شده درپایگاه‌های داده رابطه‌ای به اشیا رایج در زبان‌های برنامه‌نویسی شی گرا با نوشتن کدهای بیشتر و عمدتاً تکراری همراه است، لذا ابزارها و روشهایی برای سهولت این کار ایجاد شده‌اند به این ابزارها و روش‌ها نگاشتن رابطه به شی (Object-Relational Mapping) یا به اخصتار ORM می گویند

Entity framework و NHibernate  از جمله معروفترین این ابزارها می‌باشند...

پیوند به بیرون 
 About ORM by آندرس هجلزبرگ
 Mapping Objects to Relational Databases: O/R Mapping In Detail by Scott W. Ambler
 Core J2EE Design Pattern: Data Access Objects
 Choosing an Object-Relational mapping tool

برنامه‌نویسی شیءگرا