Nesneye Dayalı Programlarla Nesne İlişki Haritalanması

Slides:



Advertisements
Benzer bir sunumlar
SGB.NET’İN TEKNİK ALTYAPISI
Advertisements

MATLAB Bilgisayar Programlama Yrd.Doç. Dr. Aslıhan KURNUÇ
Sistem Analizi ve Planlama
Veri ve Veri Yapıları Genel olarak bilgisayarlar.
İSİM UZAYLARI.
VHDL Kullanarak FPGA İle Yüksek Kapasİtelİ Tam ÇIkarIcI Devre TasarImI
Nesneye Dayalı Programlama
Nesneye Dayalı Programlama
VERİ TABANI II- 4.HAFTA ALT SORGULAR Türetilmiş ve İLİntİlİ tablolar
Türkiye’de Yüksek Başarımlı Hesaplama
SQL de Değişken Tanımlama
Excel’de VBA programlama (Visual Basic Application) Ders 4
NESNEYE DAYALI MODELLEME VE TASARIM
Nesneye Yönelik Programlama
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 3: Döngüler
VERİ TABANI ve YÖNETİMİ
Yazılım Proje Yönetimi
Nesneye Dayalı Programlama
VIEW lerle çalışmak 11.BÖLÜM.
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 5: Fonksiyonlar
NESNEYE DAYALI PROGRAMLAMA
SQL Dili ve MySQL Komutları
LINQ (Language Integrated Query)
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 8: Windows Formları
Görsel Programlama Dr. Muhammet Balcılar
İŞLETİM SİSTEMLERİ Öğr. Gör. S.Serkan TAN.
Test Driven Development (TDD) Nedir?
Veritabanı Kavramları
JAVA’DA DÖNGÜLER.
LINQtoSQL Silverligth Uygulamalarında LinqtoSql. LINQ (Language Integrated Query) özellikle dil içerisinde, Sql tarzı sorgular yazabilmemizi ve bunları.
DEĞERLENDİRME ARAÇ VE YÖNTEMLERİ
ASİMETRİK ŞİFRELEME ALGORİTMALARINDA ANAHTAR DEĞİŞİM SİSTEMLERİ
ALİ FINDIK Galatasaray Ünİversİtesİ 2015
HAZIRLAYAN:SEMİH KÜRTÜNCÜ
12 - KELİME İLİŞKİLENDİRME TESTLERİ
WEB PROGRAMCILIĞI.
Microsoft Office Access
SQL’ e Giriş Uzm. Murat YAZICI.
Veri Tabanı Programcılığı
Gizem Tanış Bozok Üniversitesi Öğr. Görevlisi.  Veri erişimi için ADO.NET kodunu yazmak ve yönetmek zordur.  Microsoft, uygulamada veritabanı aktivitelerini.
ÇOK KATMANLI MİMARİLER. Katman: Ortak işi yapan kodların bir yerde toplanması Örneğin hemen hemen her projemizde veri tabanı kullanırız, bunun için veritabanı.
Yazılım Geliştirmenin Robotik Hali NETIGMA 1.
İnsan Bilgisayar Etkileşimi Alanında Yılları Arasında Türkiye Kökenli Bilim İnsanları Tarafından Yapılan Çalışmalar Üzerine Bir İçerik Analizi.
ÖĞRENME AMAÇLARI Kişi, yer ve nesnelerin ölçümüne ilişkin temellerin anlaşılmasın Pazarlama araştırmacıları tarafından kullanılan üç tür ölçeği.
Veritabanı Kavramları
Anlamsal Web’de Bilginin Depolanması için Bir Yaklaşım: Oracle Performans Değerlendirmesi Emine Sezer & Okan Bursa & Özgü Can Ege Üniversitesi.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
Sunum Planı 2 Veri Temelleri Veri & Bilgi Dijital Veri & Sayısallaştırma Dijital Veri Saklama Veritabanı Veri Saklama VTYS SQL Veri Yönetimi Veri Ambarı.
Eğitim bilimlerinde yeni araştırma araçları ve katkıları: Niteliksel (kalitatif) analiz yazılımları ve ATLAS.ti örneği Mehmet Cüneyt Birkök - Sakarya Üniversitesi.
Nesne Tabanlı Yazılım Geliştirme Bora Güngören Portakal Teknoloji EMO Ankara Şubesi
Yapay Zeka Algoritmaları
Teknik Bilimler Meslek Yüksekokulu Bilgisayar Programcılığı
Asp.Net Veritabanı İşlemleri
VIEW lerle çalışmak 11.BÖLÜM.
Teknik Bilimler Meslek Yüksekokulu Bilgisayar Programcılığı
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
MBLOCK ile Arduino ve Robotik Kodlama
Fırat Üniversitesi Mühendislik Fakültesi Elektrik-Elektronik Müh.
Ontoloji Tabanlı Bir Kitap Sorgulama Sistemi Gerçekleştirimi
EĞİTİMDE ÖLÇME VE DEĞERLENDİRME
AES S Kutusuna Benzer S Kutuları Üreten Simulatör
Amazon Web Servisleri ve Javascript Dilinin Birlikte Kullanımı
Ege Üniversitesi Bilgisayar Mühendisliği
C# ve Veri tabanı İşlemleri
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
VERİ TABANI II- 4.HAFTA ALT SORGULAR Türetilmiş ve İLİntİlİ tablolar
NİŞANTAŞI ÜNİVERSİTESİ
102 - Çoklu Algoritma Desteğine Dayalı E-İmza Uygulaması (E-Signat)
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

Nesneye Dayalı Programlarla Nesne İlişki Haritalanması Yrd. Doç. Dr. Mustafa Cem KASAPBAŞI İstanbul Ticaret Üniversitesi mckasapbasi@iticu.edu.tr

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önetimi Hızlı bir şekilde çözüm üretme gereksinimi Kod ayıklama zorluğu Kod tekrarının fazlaca yapılması Çok karmaşık sorguların yönetimi

ORM neden önemlidir Genel olarak Veri tabanı uygulamalarında projeye analizi bittikten sonra, Veri tabanı ilişkisel veri tabanı modellemesi kullanılarak modelleniyor. Bu ilişkisel modeldeki aktörler Tablolar, 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ı 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ı

Strateji örneği (1 tablo -1 sınıf )

ORM Veri Yükleme Teknikleri ORM 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 Layer Bussiness 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ğerlendirme ORM 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ü gerekse Bilgisayar mühendisliği bölümü müfredatlarında daha fazla yer bulması araştırmacı tarafından önerilmektedir.

Teşekkürler Sorular? Vakit kalırsa demo ister misiniz?