ORM Nedir? ORM Araçları ve Yaklaşımları Nelerdir?

Nuray Kılıç
Kodluyoruz
Published in
3 min readJul 21, 2022

--

Selamm arkadaşlar. Nasılsınız umarım hepiniz iyisinizdir…

Yeni yazımda sizlere ORM nedir, avantajları dezavantajları nelerdir, ORM araçları ve yaklaşımları nelerdir sorularını öğrendiklerim kadarıyla sizlere aktaracağım. Umarım okumaktan keyif alırsınız.

ORM Nedir?

ORM , ( Object to Relational Mapping ) Nesne ile İlişkisel Eşleme olarak açabiliriz. ORM ilişkisel veri tabanı ile uygulamamız arasında bir köprü görevi gören, ilişkileri ve nesneleri yönetmek için kullanılan bir tekniktir.

ORM
ORM

ORM tekniği çoğu nesne yönelimli programlama dillerinde kullanılabilir.

Dillere göre ORM Araçları

  • C# : Entity Framework, Dapper
  • Java : Hibernate, JPA, MyBatis
  • Phyton : Django, Storm
  • PHP : PdoMap, CakePHP
  • Nodejs : Sequelize, Mongoose
ORM Tools

ORM Kullanmanın Avantajları

  • Nesneye yönelik bir programlamayı imkanı sağlar.
  • Veri tabanında daha az zaman harcamayı sağlar. Örneğin kullanılan ORM yaklaşımlarına göre değişkenlik gösterse de entity classlarını veri tabanında tablolara dönüştürür.
  • Daha az SQL sorgusu yazmayı sağlar.
  • ORM araçlarının birçoğu açık kaynak kodludur.
  • Veri tabanınız Oracle, SQL Server vb. olabilir. Veri tabanının ne olduğu ile ilgilenmez. Özetle veri tabanına bağımlılığı yoktur.

ORM Kullanmanın Dezavantajları

  • Performans sorunları oluşturabilir.
  • İlk kez kullanacakların öğrenmesi zaman alabilir.
  • Oluşturulan SQL sorgularına direkt müdahale edemeyiz. Bazen SQL sorguları farklı olabilir.

ORM Modelleme Tekniğinin Yaklaşımları

ORM modelleme yaklaşımları 3' e ayrılır.

  • Database First Yaklaşımı
  • Model First Yaklaşımı
  • Code First Yaklaşımı

Bu yazımın çok fazla uzun olmaması adına yaklaşımları kısaca açıklayacağım. Başka bir yazımda code first yaklaşımını örneklerle inceleyeceğim.

  1. Database First Yaklaşımı

Database First yaklaşımda var olan bir veri tabanından modeli .EDMX uzantılı dosya olarak oluşturur.

Bu yaklaşımda veri tabanında değişiklikler yapmak istendiğinde, SQL server da manuel olarak değişiklikler yapıldıktan sonra modele aktarılır.

Scaffolding yöntemi ile de yapılabilir. Database’de var olan table’ları entity class olarak projeye dahil edilir.

2. Model First Yaklaşımı

Model First yaklaşımında önce yeni bir model oluşturmaya daha sonra o modelden bir veri tabanı şeması oluşturmaya izin verir.

Model bir .EDMX dosyasında saklanır. Bu yaklaşımda entity’leri, ilişkileri vb. EDMX design da oluşturmalı ve daha sonra modelden veri tabanı oluşturulmalıdır.

Model First Yaklaşımı

Son olarak bu yöntemde kodlamadan daha çok design ile çalışılır.

3. Code First Yaklaşımı

Code First, kod ile veri tabanı ve entity modeli oluşturma yaklaşımıdır. Öncelikle entity classları oluşturulur, classlar arası ilişkiler belirlenir. Daha sonra classlar tablo olarak, classlardaki propertyler ise kolon olarak veri tabanına aktarılır.

Code First yaklaşımında EDMX desing yapılmaz.

Kaynaklar

Değerli bilgileri ve kadın bir yazılımcı, eğitmen olarak bizlere yön verdiği için Zikriye Ürkmez Cengiz hocama teşekkür ederim.

Beni LinkedIn hesabımdan takip edebilir veya bağlantı kurabilirsiniz. Zamanınızı ayırdığınız için teşekkürler. Kendinize iyi bakınn :)

--

--