(Object-relational mapping) ORM ما هو الـ
انت كمبرمج راح تشتغل الكثير من المشاريع التي تتمحور حول ادارة قاعدة البيانات يعني راح تسوي انظمة تخزن بيانات بقاعدة البيانات بعدد من الجداول الي يكون بينها علاقات .
بهاي الحالة راح تبدي تصمم قاعدة البيانات وتسوي العلاقات بين الجداول وهكذا امور , وهذا الشي راح يطلب منك خبره بكود الـSQL .
بالاضافة الى تنفيذ الاستعلامات (Query) على قاعدة البيانات واستلام النتائج وهذا ايضا يطلب خبره بكود الـSQL .
لو ربطت تطبيقك بقاعدة بيانات وتريد تنفيذ استعلامات على هذه القاعدة لازم تسوي كونكشن مع قاعدة البيانات وتمرر بكل مره استعلام معين حتى تحصل نتائج , ولو ردت تفلتر البيانات راح تمرر استعلام طويل ومعقد راح يكون بالنسبه الك اذا كنت قليل خبره بقاعدة البيانات .
الـORM هوه عبارة عن كلاس يساعدك بالتعامل مع قاعدة البيانات بشكل اسهل وما راح يطلب منك خبره كبيره بالـSQL حتى تنفذ استعلامات لانه راح يكون كله عباره عن مجموعة دوال تستدعيهن حتى تحصل النتيجة المناسبة مع امكانيه فلترة البيانات بشكل افضل وايضا ترتيب البيانت على شكل Collection مناسب وسهل الاستخدام .
طريقه استخدام الـORM هو تعمل كلاس بشكل معين وتخلي يورث كلاس الـORM بهذه الحاله صار عدك شي اسمه MODEL لكل جدول تسوي MODEL وراح تتعامل مع هذا المودل عن طريق عمل انستانس (object) من هذا الموديل واستدعاء الدوال المناسبه لعملك
#مثال :- بلغة PHP بفريمورك الـLaravel اكو ORM اسمه Eloquent
الكود بدون orm راح تحتاج بي 5 دوال تنفذهن مع كل استعلام ما عدا استعلام ادخال البيانات تنفذ 3 فقط
mysqli_connect
mysqli_query
mysqli_fetch_XXX
mysqli_free_result
mysqli_close
لكن لو استخدمت الـORM
راح تسوي مودل باسم الجدول مثلا Student وفقط تستدعي
() Student::all
هذا راح يجيبلك كل السجلات من الجدول بكل بساطة .
طبعا اكو الكثير من انواع الORM بكل لغه مثلا بالـJAVA تستخدم الـ repository وهو ايضا يعتمد على الـOOP مثل ما بالـEloquent .
ببساطة الموضوع اذا كنت تريد تتعامل مع قاعدة بيانات بشكل سهل وسلس ابحث عن موضوع الـORM باللغة الي انت بتستخدمها .