Upload
cairo-walker
View
70
Download
0
Embed Size (px)
DESCRIPTION
Nesneye Dayalı Programlarla Nesne İlişki Haritalanması. Yrd. Doç. Dr. Mustafa Cem KASAPBAŞI İstanbul Ticaret Üniversitesi [email protected]. Başlamadan önce!!. Kaç kişi daha önce veri tabanı projesi ile uğraştı? - PowerPoint PPT Presentation
Citation preview
Yrd. Doç. Dr. Mustafa Cem KASAPBAŞIİstanbul Ticaret Ü[email protected]
Nesneye Dayalı Programlarla Nesne İlişki Haritalanması
Başlamadan önce!!
Kaç kişi daha önce veri tabanı projesi ile uğraştı?Projelerinizi yaparken kod tekrarı yaptığınızı
düşündüğünüz zamanlar oldu mu? Özellikle veri tabanı ile ilgili kodlarda.
ORM ? (Object/ Relation mapping)ORM temel olarak veri tabanı ile alakalı yapılan
projelerde kullanılabilen bir programlama tekniğidir.ORM Amacı Nedir?
Veri tabanı ile uğraşırken karşılaşılabilen problemlere odaklanmıştır;Temel Problemler
Proje büyüdüğünde yönetimiHızlı bir şekilde çözüm üretme gereksinimiKod ayıklama zorluğuKod tekrarının fazlaca yapılmasıÇok karmaşık sorguların yönetimi
ORM neden önemlidirGenel olarak Veri tabanı uygulamalarında projeye
analizi bittikten sonra, Veri tabanı ilişkisel veri tabanı modellemesi kullanılarak modelleniyor.
Bu ilişkisel modeldeki aktörlerTablolar, kayıtlı yordamlar, görünümler, fonksiyonlar,
trigerler, tablo ilişkileri (1-1, 1-∞, ∞- ∞), birincil ve yabancı anahtarlar…
Bu aktörlerin nesneye dayalı bir programlama dilindeki herhangi bir nesne gibi kullanılması sağlamak ORP in hedeflerindendir.
ORM avantaj ve dezavantajlarıAvantajları
Daha hızlı ve verimli şekilde iş süreçlerinin modellenmesi Kod tekrarının oldukça azalması Karmaşık sorguları daha kolay şekilde çözülmesine olanak
sağlamasıKodların ayıklanması daha kolaydır [5].
DezavantajlarıKütle halindeki silme işlemlerinde bazı ORM araçlarının
performansı başarılı değildir. Kayıtlı yordamların daha iyi performans sağladığı
düşünülmektedir.Her dil için farklı araçlar olması ve getirdikleri yeni kodlama
tekniklerinin öğrenilmesi. Buna örnek olarak .Net 3.5 altyapısı içinde kullanılan Linq (language Integrated Query) sorgu dili ve Lamda ifadeleri verilebilir
ORM haritalama stratejileri Hiyerarşi başına bir tablo:
Basit veya derin olmayan yapılar için daha uygundur.Somut bir sınıfa bir tablo :
abstract sınıflar haricindeki sınıflara tablo, Sınıf değişirse tablolarda değişmeli (Tercih edilmemeli)
Bir tabloya bir sınıf:Anlaşılması, değiştirilmesi kolayİlişki tabloları için bile sınıf oluşturulmalı
ORM Veri Yükleme TeknikleriORM de nesnelerin özelliklerinin doldurulması farklı
tasarım örüntüleri aracılığı veya her ikisi ile birden de yapılabilir.Lazy Loading : verinin ihtiyaç duyulduğunda yüklenmesi
anlamındadır. Doğru kullanıldığında performans artışı sağlanmış olur.
Eager Loading : verinin anında (nesne oluşturulur oluşturulmaz ) yüklenmesidir. (c# datareader)
3 katmanlı Mimari ve ORMnin Kullanımı
Sunum Katmanıİş Katmanı (DAL, BAL)
Data Access/Abstraction LayerBussiness Access/Abstraction/Logic Layer
Veri Katmanı
Ticari/Bedava ORM araçlarıBu araçlar seçilen OOP platformuna göre farklılık
göstermektedir. Java ve .Net dünyası için
DeğerlendirmeORM bir programlama tekniğidir ve kullanıldığında; Daha hızlı ve verimli şekilde iş süreçlerinin
modellenmesi, Kod tekrarının oldukça azalması, Karmaşık sorguları daha kolay şekilde çözülmesine
olanak sağlaması, Kodların ayıklanması daha kolay olması gibi bir çok
avantajı bulunmaktadır.
SonuçORM nin daha yaygın uygulanabilmesi için gerek MYO
Bilgisayar Programcılığı bölümü gerekseBilgisayar mühendisliği bölümü müfredatlarında daha
fazla yer bulması araştırmacı tarafından önerilmektedir.