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.
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.
Çok anlaşılır olmuş. Emeğinize sağlık.
Linq anlatır mısın?