ORM (Object-Relational Mapping) Nedir?

Ahmet Faruk Evkaya
2 min readMar 29, 2023

--

Herkese merhabalar. Bugün medium da ki ilk yazımı yayınlamaktayım. Hepinize iyi okumalar diliyorum.

ORM Nedir?

ORM (Object-Relational Mapping) kısaca bir veri erişim tekniğidir. Ne demek bu veri erişim tekniği? Uygulamamızdan veritabanın da ki verilere erişmek için kullanılan yöntemler olarak açıklayabiliriz. ORM çıkmadan önce uygulama ile veri tabanı arasında bağlantı kurmak ve uygulama tarafında veri tabanı ile ilgili işlemleri (CRUD) yönetmek için ADO.Net gibi teknolojilerden yararlanırdık. Bu teknolojiler uygulama içerisinde veri tabanına uygun SQL sorguları yazmamıza olanak sağlar. Fakat uygulama büyüdükçe buna bağlı olarak veri tabanın da ki datalarımız artacak, isterler değişecek ve karmaşık SQL sorguları yazmak durumunda kalacağız. Takdir edersiniz ki bunların yönetimi, SQL sorguları arttıkça zorlaşacak belki bir yerden sonra imkânsız hale gelecektir. Bu ve bunun gibi birçok sorunun önüne geçmek için ORM tekniği ortaya konulmuştur.

Object-Relational Mapping (Nesne-İlişkisel Eşleme) veritabanı yapısını bir nesne gibi düşünerek veritabanı ile uygulamamız arasında bir ilişki kurup veritabanını uygulama tarafından yönetmemizi sağlar. ORM genellikle nesne tabanlı diller ve ilişkisel veritabanları ile kullanılır. Ama eğer destekliyor ise farklı diller ve veritabanları ile de kullanılabilir.

ORM Teknolojileri

ORM tekniğini kullanan birçok teknoloji/araç bulunmaktadır. Bunlar;

· Java: JPA, Hibernate, EJB

· C#: Entity Framework, Dapper, ECO

· Php: CakePHP, CodelgNiter, RedBean

· Python: Django, South, Storm

· Ruby: DataMapper, ActiveRecord,

· Go: Gorm

Peki bu ORM tekniğinin avantajları ve dezavantajları nelerdir?

ORM Tekniğinin Avantajları

· ORM teknolojilerinin/araçlarının birçoğu open source (açık kaynak kodlu) dur.

· Veritabanını uygulama tarafında yönettiğimizden veritabanı tarafında harcanacak zamanı minimum seviyeye indirir.

· Veritabanı bağımsız çalışır. Yani veritabanı PostgreSql, Oracle vs. olabilir.

ORM Tekniğinin Dezavantajları

· Uygulama performansında sıkıntılar olabilir.

· Uygulama ile veritabanı arasında bir soyutlama yaptığı için Sql sorgularına erişim kısıtlıdır.

Peki günün sorusu; ORM tekniği projelerde kullanılmalı mı kullanılmamalı mı?

Her yenilik avantajları ve dezavantajları ile gelir. Bu soruya yanıtı bence developer/lar yani uygulamayı geliştirecekler vermelidir. Avantajları ve dezavantajları tartıp projesine en uygunu hangisi ise onu kullanmalıdır.

--

--