Object Relational Mapping (ORM) Nədir?

Farid Babayev
2 min readMay 15, 2018

--

Salam dostlar, bugünkü mövzumuz proqramlaşdırmaya yeni başlayanların ilk səfər eşitdiyi və bəzilərinin çox istifadə elədiyi ORM olacaq.

Keçək əsas məsələyə. Nədir bu ORM??? Üstünlükləri nədir? Harda istifadə olunur???

ORM ( Object Relational Mapping və ya OR Mapping) relyasiyalı verilənlər bazası ( RDBMS ) ilə obyektyönümlü proqramlaşdırma ( OOP ) arasında bir körpü rolu oynayan və relyasiyalı verilənləri idarə eləmək üçün obyekt modellərindən istifadə edilən texnologiya methodudur.

Qısa şəkildə desək obyektlərimizi relyasıyalı verilənlər bazasındakı table-ları bağlayan və verilənlərin alış-verişini bizim üçün təhlükəsiz şəkildə həyata keçirən bir texnologiya methotdur.

ORM texnologiyası standart standart bir proqramlaşdırma dilindən asılı deyil. Hər OOP dilində yazılıb istifadə edilə bilər.

Niye ORM ???

Uzun qarmaşıq sorğular yazmaq əvəzinə obyektdən istifadə edərək rahat şəkildə sorğu göndərmək olur.

Bəs tək bununla bitirmi? Xeyir. Proqramçıların başına bəla olan SQL injection-dan da qoruyur. Yəni uzun qarışıq sorğular yazarkən bir yandan da təhlükəsizliyi maksimum qorumaq lazım olur. ORM ilə təhlükəsiz və rahat şəkildə sorğu göndərmək olur ( Düzgün istifadə edildiyi halda ).

ORM istifadəsinin (dez)avantajı nədir?

Avantajları:

  • Obyektyönümlü proqramlaşdırmada istifadə olunur.
  • Yazılan kodun verilənlər bazası ilə heç bir asılılığı yoxdur (Oracle, SQL Server, MySQL və s.).
  • SQL sorğuları bilmədən ( az bilikli ) verilənlər bazası ilə əlaqəli proqramlar yaza bilərsiz.
  • ORM texnologiyaların çoxu Açıq Mənbəlidir (Open Source).
  • ORM texnologiyası içində hazır olan bəzi funksiyalar ilə proqramçıların qarşılaşdığı problemləri həll edir. (polymorphism, caching və s.).
  • Daha yaxşı test edilə bilən kod yazmağınıza imkan verir.

Dezavantajları:

  • Sürət problemi (düzgün istifadə edilmədiyi halda).
  • Verilənlərin alış-verişində idarənin hamısının bizdə olmaması (Göndərilən sorğular bəzən fərqli ola bilər).
  • İstifadə edilən ORM texnologiyasının öyrənilməsinə istifadə edilən zaman.

Ən çox istifadə olunan ORM texnologiyaları:

  • C#: Entity Framework, Dapper, ECO, XPO, Norm
  • Java: Hibernate, Ebean, Torque, JPA,MyBattis
  • Php: CakePHP, Codelgniter,Laravel, RedBean, Doctrine,Propel, PdoMap
  • Python: Django, South,Storm

ORM texnologiyasının istifadəsində bəzi məsləhətlər:

Photo by Kyle Glenn on Unsplash
  • Lazy loading özəlliyindən istifadə edin. Hər zaman göndərilməsi lazım olan sorğuları lazy loading ilə göndərin.
  • Çox qarışıq ORM sinifləri qurmayın.
  • ORM texnologiyası hər zaman problemin həlli olmaya bilər. Lazım olduğu zaman normal sql sorğuları göndərin.
  • Verilənlər bazasını optimal şəkildə qurun. Optimal şəkildə qurulmayan verilənlər bazası ilə ORM texnologiyası effektli işləməz.
  • Verilənləri çəkərkən pagination (səhifələndirmə) istifadə edin. Beləcə bütün məlumatı çəkmənizə ehtiyac qalmayacaq.

--

--