امروزه با پیشرفت تکنولوژی در عرصه های مختلف، همواره نیاز به مدیریت و کنترل داده ها احساس می شود. DBMS ها به جهت مدیریت اطلاعات موجود در یک سازمان، دانشگاه و … به وجود آمده اند. در این سیستم ها به دلیل فراوانی و گستردگی داده های موجود، نیاز به ابزاری قوی جهت مدیریت داده ها است. یکی از این ابزارها، تکنولوژی ORM یا Object-relational mapping است که به برنامه نویس این امکان را می دهد تا دیدگاه خود را نسبت به جداول موجود در پایگاه داده تغییر دهند و به دیدگاه شی گرایی تبدیل کنند.یعنی رفتاری مشابه کلاس های جاوا را بتوانیم با جدول های پایگاه داده و متادیتای آن داشته باشیم.
ساختار ORM
در پایگاه داده ای رابطه ای موجودیت های حوزه کاری یا business Entity ها بر اساس جدول ها و رابطه بین این جدول ها نمایش داده میشود. مانند جدول کتاب، جدول عضو، امانت و … در سیستم کتابخانه.از طرفی، در زبان های شئ گرا، این موجودیت ها بر اساس کلاس ها و شناسه رفتار های این کلاس ها نمایش داده میشوند. مانند کلاس کتاب و کلاس عضو و … در پروژه سیستم کتابخانه.
در حالت عادی یعنی زمانیکه از دستورات SQL استفاده میکنیم، ما با جدول ها سر و کار داریم و دیدگاه شئ گرایی خود را نسبت به موجودیت ها از دست می دهیم. اما هنگامی که ORM ها مطرح میشوند، به جای جدول ها با کلاس ها و شناسه رفتار های این کلاس ها سر و کار داریم. مهمترین مزیت اینجا رسیدن به دیدگاه شئ گرایست، که این دیدگاه مزایای زیادی را در اختیار ما قرار میدهد و باعث میشود از قدرت شئ گرایی در ارتباط بین موجودیت ها استفاده کنیم.