ORM چیست ؟

امتیاز 5.00 ( 2 رای )

ORM یا Object-Relational Mapping روش یا تکنیکی مدرن که این امکان را به برنامه نویس میدهد تا عمل Query را از سمت برنامه (Program) انجام دهد و امکان Manipulate یا دستکاری بروی داده بدون اتصال مستقیم به دیتابیس انجام شود در شیوه های قدیمی یا سنتی برای دسترسی به اطلاعات DBMS یا Database Management System عمل Query باید به شکل SQL نوشته می شد ولی با استفاده از ORM نیاز نیست حتما کدهای SQL را بنویسیم زمانی که از ORM استفاده کنیم نیاز نیست حتما ما دستورات SQL را بلد باشیم کافی است بتوانیم از ORM استفاده کنیم تا داده ها را از دیتابیس دریافت کنیم.
 
 

ORM چیست ( به زبان ساده)

ORM عملا یک لایه مترجم بین زبان برنامه‌نویسی و پایگاه داده رابطه‌ای است که این دو را به هم تبدیل می‌کند.
 
به عنوان مثال برای دریافت اطلاعات مربوط به یک کاربر خاص باید از دستور SQL زیر استفاده می کردیم.

شیوه جدید ORM باعث می شود تا برنامه نویس دیگر با چنین کدهای پیچیده ای دست و پنجه نرم نکند و تنها با اجرای یک دستور اطلاعات مربوط به کاربران را به طور مثال دریافت کند.
نمونه کد SQL شاید کمی سخت باشد (هرچند سخت نیست !)

نمونه کدهای ORM در زبان PHP

کد بالا همان کارهای چندین خط بالا را می کند میبینید که چقدر ساده تر شده است.
همانطور که مشاهده شد با شیوه جدید ORM تنها با چند خط می توانید شاید بیش از 50 خط یک Query را بدون دانش SQL ایجاد کرد و از خوبی های ORM می توان پشیبانی از ارتباط دیتابیس پیچیده را نیز نام برد مهم نیست چه نوع رابطه هایی وجود داشته باشد حتما برایش راهی وجود خواهد داشت.

آیا همیشه می‌توان از ORM استفاده کرد؟

جواب اصلی خیر است هرچند ORM ها دارای ویژگی های بسیار خوبی هستند ولی در بخش کلان داده یا BigData دیگر نمی توان از ORM ها استفاده کرد چون برای همچین نوع داده ای تعریف نشده اند چون تعداد ارتباط زیاد و پیچیده است.

مزایای استفاده از ORM

  • کد نویسی کم و ساده
  • عدم نیاز به یادگیری کدهای SQL
  • بیشتر کارها به صورت اتوماتیک انجام می شود.
  • شما را مجبور می کند برپاییه MVC کد نویسی کنید که خیلی تمیز تر است.
  • پرسجو یا همان Query ها تنها با اجرای یک متد انجام می شوند.

معایب استفاده از ORM

  • در بخش داده های کلان غیر قابل استفاده است.
  • در برخی موارد انجام Query ها زمان بر خواهد بود.
  • از منابع زیادی استفاده می کنند.

برخی از کتابخانه های ORM دز زبان های برنامه نویسی مختلف

eloquent orm که در فریمورک Laravel وجود دارد برای زبان PHP (فریم ورک چیست ؟)
Hibernate برای زبان Java
SQLAlchemy برای زبان Python
NHibernate و Entity Framework برای زبان C#
 
 
این مقاله هم به پایان رسید.
موفق و پیروز باشید.

مطالعه بیشتر