ORM Nedir?
Yayın: · Son güncelleme:
ORM Nedir? Kısaca
ORM (Object-Relational Mapping, nesne-ilişkisel eşleme), veritabanı tablolarını programlama dilindeki sınıflar ve nesnelerle eşleştiren tekniktir. Geliştirici SQL yazmadan, kendi dilinin koduyla veri okuyup yazabilir.

ORM nedir?
ORM, programlama dilinizdeki nesneler ile ilişkisel veritabanındaki tablolar arasında çevirmenlik yapan bir katmandır. Bir "Musteri" sınıfı tanımlarsınız, ORM bunu "musteriler" tablosuna bağlar. Sınıfın her nesnesi tablodaki bir satıra, her özelliği de bir sütuna karşılık gelir.
Popüler örnekler arasında Python için Django ORM ve SQLAlchemy, JavaScript ve TypeScript için Prisma ile Sequelize, Java için Hibernate, PHP için Laravel'in Eloquent'i ve .NET için Entity Framework sayılabilir.
Nasıl çalışır?
Varsayımsal bir Django projesinde İzmir'deki müşterileri getirmek için şu satır yazılır:
Musteri.objects.filter(sehir="İzmir")
ORM bu ifadeyi arka planda SELECT ... FROM musteriler WHERE sehir = 'İzmir' sorgusuna çevirir. Dönen satırları da kullanabileceğiniz nesnelere dönüştürür.
Avantajları neler?
Bu yaklaşım tekrarlayan CRUD kodlarını kısaltır ve kodu okunur kılar. Parametreleri güvenli biçimde yerleştirdiği için SQL enjeksiyonu riskini azaltır. Pek çok ORM, şema değişikliklerini migration dosyalarıyla yönetme imkânı da sunar.
Veritabanı değiştirmek de kolaylaşır. SQLite ile geliştirip canlı ortamda PostgreSQL kullanmak, ORM sayesinde çoğu zaman küçük ayarlarla mümkündür.
Nelere dikkat etmeli?
En bilinen tuzak N+1 sorgu sorunudur. 100 siparişi listeleyip her birinin müşterisini döngüde ayrı ayrı çağırırsanız ORM 1 yerine 101 sorgu gönderebilir. Django'daki select_related gibi ilişkili veriyi önceden yükleyen yöntemler bu sorunu çözer. Karmaşık raporlarda ise ORM'in ürettiği sorguyu inceleyin, gerekiyorsa doğrudan SQL yazın.
Sıkça Sorulan Sorular
ORM ne demek, Türkçesi nedir?
ORM, Object-Relational Mapping ifadesinin kısaltmasıdır ve Türkçede nesne-ilişkisel eşleme olarak çevrilir. Yazılımdaki nesneleri veritabanı tablolarına bağlayan tekniği anlatır.
ORM kullanınca SQL öğrenmeye gerek kalır mı?
Temel işler için SQL yazmadan ilerleyebilirsiniz, ancak SQL bilgisi yine de gereklidir. Yavaş bir sorguyu anlamak, indeks eklemek ya da karmaşık rapor yazmak için ORM'in arkasında ne olduğunu bilmek gerekir.
İlgili terimler
İlgili yazılar
Dolandırıcılık mesajları nasıl anlaşılır? SMS, WhatsApp ve sahte yatırım
Dolandırıcılık mesajları genelde seni acele ettirir, şifre, kod ya da para ister ve bir bağlantıya yönlendirir. Bu işaretlerden biri varsa mesajdaki numara ve bağlantıyı kullanma; kurumu kendi bildiğin resmî kanaldan ara ve şüpheli siteyi bildir.
Kredi Kartı Borcu Nasıl Kapatılır? Asgari Ödeme Döngüsünden Çıkış Planı
Kredi kartı borcunu kapatmak için toplam borcunu çıkar, yeni harcamayı durdur, her ay en az asgariyi zamanında öde ve ek parayı tek bir karta yönlendir. Ödemekte zorlanıyorsan son ödeme tarihini geçirmeden bankanı arayıp taksitlendirme veya yapılandırma seçeneklerini sor.
Yapay Zeka ile Görsel Oluşturma: Adım Adım Rehber ve Prompt Örnekleri
Yapay zekâ ile görsel oluşturmak için ChatGPT, Gemini, Firefly veya Canva gibi bir araca istediğin görseli konu, ortam, ışık, kadraj ve stil belirterek tarif edersin. Çıktıyı birkaç turda düzeltir, ayrıntıları kontrol eder, kullanmadan önce telif ve platform kurallarına bakarsın.


