ORM (Object Relational Mapping) Nedir?

ORM (Object Relational Mapping), veri tabanı işlemlerini kodlama için gerekli olan veri modelini yöneten bir yazılım teknolojisidir. Veri tabanındaki verilerin programlama dillerindeki nesneler haline dönüştürülmesini sağlar. Bu sayede programcılar ORM kullanarak veri tabanı işlemlerini daha kolay yapabilir. SQL sorgularının yerine, nesne tabanlı sorgular kullanır ve veri tabanı işlemlerinin kodlanmasını daha hızlı ve kolay hale getirir.

Object Relational Mapping ait şema

Object Relational Mapping Şema

Bu teknoloji veri tabanı modellerinin sürekli değiştiği ve geliştiği uygulamalarda esnek bir çözüm sunar. Veri tabanı modelleri değiştiğinde, ORM veri tabanı işlemlerindeki değişiklikleri otomatik olarak yapar. Bu nedenle veri tabanındaki verilerin güvenliğini de artırır. Veri tabanı sorgularının yerine, ORM tarafından yapılan sorgular veri tabanı güvenliğini artırır.

Object Relational Mapping teknolojii, popüler programlama dilleri tarafından desteklenmektedir ve Hibernate, Entity Framework gibi birçok popüler ORM bulunmaktadır.

ORM kullanmanın avantajları

  • Nesne tabanlı programlama standartlarına uygun olarak kod yazma imkanı verir.
  • Minimum SQL bilgisi ile veritabanı işlemleri yapmak imkanı tanır.
  • Veritabanı platformu bağımlılığı yoktur. Oracle kullanıyorken MSSQL geçişini sorunsuzca gerçekleştirebiliriz.
  • Ado.net’e karşı daha güvenlidir. Sql Injection gibi bilinen saldırılara karşı güvenlik önlemleri vardır.
  • Kod yazma süresini kısaltır.
  • Kod okunabilirliğini arttırır.

ORM kullanmanın dezavantajları

  • Ado.net’e kıyasla performans olarak daha yavaştır.
  • Veritabanı nesneler üzerinden modellendiğinden nesneler arasında bağ bulunmaktadır. Bilinçsiz yapılan müdahaleler ile bağlantıyı bozma durumu bulunmaktadır.
  • ORM’in yazılım kuralları (syntax), yeni yazılımcılar için farklı gelebilir.

Sonuç olarak, ORM (Object Relational Mapping) veri tabanı işlemlerini kolay ve güvenli hale getirir. Veri tabanı modellerinin sürekli değiştiği uygulamalarda esnek bir çözüm sunar. Veri tabanı işlemleri yapmak isteyen programcılar için en iyi seçeneklerden biridir.

 

Emrah Eroğlu

Microsoft Power Platform - Dynamics 365 CE Developer - Solutions Architect

You may also like...

2 Responses

  1. Hasan dedi ki:

    Çok anlaşılır olmuş. Emeğinize sağlık.

  2. Murat dedi ki:

    Linq anlatır mısın?

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir