ORM Object Relational Mapping Nedir?
Bu yazıda ORM nedir Nasıl bir çalışma mantığı var bu konuları işledikten sonra avantajlarını sizinle paylaşacağım.
ORM ve ya Object Relational Mapping denilen kavram aslında bizim kod bloklarımız ile veritabanımız arasında oluşan bir köprüdür. Bu tanım ORM’nin en basite indirgenmiş hali.
Şimdi bu tanımdan sonra biraz işi detaylandırarak anlatmaya çalışacağım.
Veritabanı derken, ilişkisel veritabınından bahsediyorum. İlişkisel Veritabanımız, bizim katmanlara ayırdığımız programımız arasında (OOP) veri alışverişini sağlar. ORM veritabanımızda ki tablolarımızı class’lara çevirir. Bu class yapısı ile bizim programlama işleminde ki veritabanı bölümlerinde daha az zaman harcamamıza olanak sağlamakta. ORM ile işlemlerin daha kısalması ve daha düzenli bir şekilde devam etmesini sağlamaktadır.
Sql ile uğraşmamıza gerek kalmaz ORM sayesinde. Hangi ORM Çeşidini kullanıyorsak o ORM sistemine göre kullanım sistemi ile işleme devam edebiliriz. Kullanımı bir programcı için zor değildir.
ORM bizim veritabanımızı bir harita olarak önümüze koyar. Karmaşık bir veritabanı yapısını daha rahat görmemize olanak sağlamaktadır.
Örnek olarak Hibernate Java’da kullanılan bir ORM dir. Hibernate’nin sistemine bir bakalım.
Object Relational Mapping veritabanına sağdık bir bir parça değildir. Yani bağımsızdır. Bir veri tabanınız için bir den fazla ORM kullanabilirsiniz. ORM uygulama katmanımızın altında bulunmaktadır. Bu durum tam tersi de olabilmektedir. Projenizde MS-SQL kullanıyorken karar değiştirdiniz diyelim MySql kullanmaya başladınız. Bu durum sizin ORM nize bir sıkıntıya neden olmaz aynı şekilde kaldığınız yerden devam edebilirsiniz.
ORM ile beraber programımız daha da nesneye yönelimli bir hal almakta, veritabanı modelleme kısmı için imkan sağlamaktadır. ORM’ler otomatik kod oluşturarak bize sadece gerekli düzenlemeleri yapmak kalmakta.
ORM ile beraber class’lar oluşuyor demiştik bu class lar,
- Bağlanma
- Ekleme
- Düzeltme
- Silme
- Kapatma
- Kontrol
Şeklinde olmaktadır.
Herşey elinizin altında bu sistem yazmayı kolaylaştırdığı gibi performansı maalesef olumsuz yönde etkilemektedir. Object Relational Mapping tüm programlama dillerinde mevcuttur.
JAVA için kullanılan ORM’ler
güzel yazı