Object–Relational Mapping (ORM)

Mehmet Kırlak
2 min readAug 17, 2022

--

ORM (Object–Relational Mapping) nesne yönelimli programlama dillerini kullanarak veritabanındaki yapı ve veriler üzerinde değişimler hatta aynı zamanda sorgular yapmamızı ve bu sorguları kullanabilmemizi sağlar. Bir ORM kütüphanesi , kullandığınız programlama dilinde verileri içeri çekerek onları manipüle edip nesnelere dönüştürmektedir. ORM bu objeler üzerinden veritabanı ile iletişime geçmemizi sağlayan tekniktir.

ORM uygulamamız ve veritabanı arasında ekstra bir “data layer” olarak yer alır. Kullandığımız ORM kütüphanesine göre bu “data layer” spesifik özellikler barındırır.

ORM Kullanmanın Avantajları;

· SQL bilgisi olmadan veritabanı üzerinde işlemler yapabilmemizi sağlar.

· Veritabanı ile ayrı bir katman olduğu için bağımsızlıklar az seviyededir bu da farklı bir veritabanı veya ORM kütüphanesine geçişte problemlerle karşılaşmamıza neden olur.

· Hali hazırda bulunan servis operasyonları kullandığımız için kod okunabilirliği kolaylaşır ve de zamandan tasarruf edilir.

· Veritabanı ile olan bağlantı ORM’in kontrolu altındadır. Sağladığı otomasyon sonucu o alanda kod etkileşimi daha az olacağından yazılımcı kaynaklı hata olasılığı da azalır.

Dezavantajları:

· ORM tekniğini optimal bir şekilde kullanmayı öğrenmek zaman alabilir.

· ORM’nin ayrı bir katman olması konfigürasyonlarının yapılması ve de entegre edilmesini gerektirir.

· Kompleks veya yüksek performans gerektiren sorgulara sahip olan uygulamaların ORM sorgularının optimize edilmesi gerekir aksi taktirde düşük performans ile karşılaşılır.

Bazı ORM araçları;

· Hibernate: Java

· Nhibernate/Entity framework: .NET Framework

· Django: Python

· Doctrine/Propel: PHP

--

--