YZM 3215 İleri Web Programlama

Benzer belgeler
ORM & Hibernate. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu

YZM 3215 İleri Web Programlama

ADO.NET Entity. Framework. Temel Kavramlar

BMB202. Veritabanı Yönetimi Ders 12. ORM, LINQ, XML, JSON. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

LINQ Language Integrated Query Dille Bütünleştirilmiş Sorgu Bir Veri Tabanı Tablosundan Veri Gösterme

VERİ TABANI UYGULAMALARI

DERECESİ: ARANAN ŞARTLAR: İLAN TARİHİ:

İnternet Programcılığı

YZM 2105 Nesneye Yönelik Programlama

YZM 2108 Yazılım Mimarisi ve Tasarımı

9/21/2016

1.PROGRAMLAMAYA GİRİŞ

İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir.

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

LINQ (Temel Kavramlar)

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama

1 Temel Kavramlar. Veritabanı 1

YZM 2105 Nesneye Yönelik Programlama

YZM 2108 Yazılım Mimarisi ve Tasarımı

Bölüm 1: Veritabanı Yönetim Sistemlerine Giriş

Java EE 5 Teknolojileri Jboss Seam

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

VERİ TABANI YÖNETİM SİSTEMLERİ

2 Temel Kavramlar (Devam) Veritabanı 1

JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması

ALGORİTMA VE PROGRAMLAMA II

YZM 2116 Veri Yapıları

YZM 3215 İleri Web Programlama

YZM 3215 İleri Web Programlama

EMRE CAMADAN KİŞİSEL BİLGİLER EĞİTİM. E-Posta: Cep:

Rahman USTA Editör Altuğ B. ALTINTAŞ Papatya Yayıncılık Eğitim

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

MOBİL UYGULAMA GELİŞTİRME

MOBIL UYGULAMA GELIŞTIRME

İZMİR KÂTİP ÇELEBİ ÜNİVERSİTESİ SÖZLEŞMELİ BİLİŞİM PERSONELİ SINAVINA BAŞVURACAKLAR İÇİN DUYURU

İNTERNET PROGRAMCILIĞI DERSİ

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

ALGORİTMA VE PROGRAMLAMA I

Ders Kodu Yarıyıl T+U Saat Kredi AKTS. Programlama Dilleri

VERİ TABANI YÖNETİM SİSTEMLERİ II. 9. FORMLAR ve ORACLE FORMS PROGRAMINDA FORM OLUŞTURMA

İlk Konsol Uygulamamız 2 İlk Windows Uygulamamız 9.Net Framework Yapısı 18 Neler Öğrendik 19. Veri Tipleri 24 Tanımlı Veri Tipleri 27 Basit Tipler 28

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 3001

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access

YZM 2105 Nesneye Yönelik Programlama

COĞRAFİ BİLGİ SİSTEMLERİ SERVER MİMARİSİ SERVER UYGULAMA GELİŞTİRME EĞİTİMİ

YZM 2116 Veri Yapıları

Asp.Net Veritabanı İşlemleri

Bölüm 10: PHP ile Veritabanı Uygulamaları

ALGORİTMA VE PROGRAMLAMA II

İstanbul Üniversitesi Sözleşmeli Bilişim Personeli Alım İlanı

ALGORİTMA VE PROGRAMLAMA I

ÖZGÜR YAZILIMLAR İLE J2EE

IOT NEDİR? Bölüm 1. Internet of Things ekosistemi altında donanım, programlama, veri tabanı, veri analizi gibi alt yapılar yer almaktadır.

Swing ve JDBC ile Database Erişimi

YZM 3215 İleri Web Programlama

Veri Tabanı-I 1.Hafta

Sürücü Belgesi B. Firma Sektörü Bilişim. Bitiş Tarihi Hala çalışıyorum. Firma Sektörü Bilişim. Bitiş Tarihi

YZM 2108 Yazılım Mimarisi ve Tasarımı

VERİ TABANI PROGRAMCILIĞI DALI

İÇİNDEKİLER. YAZARLAR HAKKINDA... v. RESİMLER LİSTESİ...xv. 1.1.Bulut Bilişim Kavramının Analizi...1 BÖLÜM 1: TEMELLER...1

=A1+A2-A3, =A1*A2/A3,

2018/1 PERSONEL ALIMI SÖZLÜ SINAV KONU BAŞLIKLARI 2018/1 PERSONEL ALIMI AVUKAT SÖZLÜ SINAVI MESLEKİ ALAN KONU BAŞLIKLARI

YZM 2108 Yazılım Mimarisi ve Tasarımı

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

YZM 3215 İleri Web Programlama

İLİŞKİSEL VERİTABANLARI

HASTANE OTOMASYONU VERİ TABANI YÖNETİM SİSTEMLERİ TEMEL VERİTABANI KAVRAMLARI

Veritabanı Uygulamaları Tasarımı

Turquaz. Açık kodlu muhasebe yazılımı Turquaz Proje Grubu

Gönderilen uygulama incelendiğinde, belirtilen gerekliliklerin bir kısmının karşılandığı görülmüştür.

Veritabanı Yönetim Sistemleri, 2. basım Zehra ALAKOÇ BURMA, 2009, Seçkin Yayıncılık

BIM 312 Database Management Systems. Veritabanı Kavramına Giriş

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri

2018/1 PERSONEL ALIMI AVUKAT YAZILI SINAVI MESLEKİ ALAN KONU BAŞLIKLARI 2018/1 PERSONEL ALIMI MİMAR YAZILI SINAVI MESLEKİ ALAN KONU BAŞLIKLARI

BİTİRME RAPORU. Ömer Furkan ARI Yıldız Teknik Üniversitesi

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış

SQL ĐNJECTĐON VE BĐLGĐ GÜVENLĐĞĐ

Programlama Dilleri II. Bilgisayar ve Öğretim Teknolojileri Öğretmenliği

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I

YZM 2105 Nesneye Yönelik Programlama

«BM364» Veritabanı Uygulamaları

T.C. BOĞAZİÇİ ÜNİVERSİTESİ REKTÖRLÜĞÜ SÖZLEŞMELİ BİLİŞİM PERSONELİ SINAV DUYURUSU

AKILLI TATIL PLANLAMA SISTEMI

Veritabanı Yönetimi Bilgisayarların. Keşfi Hedefler. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi

Hızlı Başlangıç Kılavuzu

Veritabanı. Ders 2 VERİTABANI

ALGORİTMA VE PROGRAMLAMA I

BİLİŞİM TEKNOLOJİLERİ

BŞEÜ, MF, BĐLGĐSAYAR MÜHENDĐSLĐĞĐ, BAHAR YARI YILI BM400 BĐTĐRME ÇALIŞMASI KONULARI

Demetleme Yönteminin Y 3-Katmanlı Mimari Yapı ile Gerçeklenmesi. eklenmesi. KalacakYer.com

Başlık: Windows Sistem Yöneticisi Yardımcısı

JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri

EMRE CAMADAN. E-Posta: Cep: KİŞİSEL BİLGİLER. Doğum Tarihi: 28 Haziran 1989 Sürücü Belgesi: B Sınıfı / 2008 EĞİTİM

T.C. MİLLÎ EĞİTİM BAKANLIĞI Talim ve Terbiye Kurulu Başkanlığı

Transkript:

YZM 3215 İleri Web Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1

BÖLÜM - 5 ORM (Object Relational Mapping) ve EF (Entity Framework) Bu bölümde; ORM nedir? ORM avantaj ve dezavantajları EF (Entity Framework) EF Basit Uygulama ile ilgili konular anlatılacaktır. 2

ORM Nedir? Veri tabanınızdaki tabloları sınıflara, kolonları özelliklere, tabloların içindeki kayıtları nesnelere dönüştüren ve tüm bu dönüşün sonucunda oluşan sınıflar ve nesneler üzerinden veri tabanı işlemlerinizi yapmayı sağlayan çatılardır.

ORM Nedir? (Devam ) Veritabanı modelini uygulama modelindeki nesnelere uyarlar. Veritabanı modelini uygulamadan soyutlayarak nesneler üzerinden işlem yapmamızı sağlar.

ORM Avantajları Veritabanı işlemleri ile ilgili kod yazımı en aza ineceğinden minimum zamanda maksimum iş çıkartmayı sağlar. OOP düzeninde kod yazmayı sağlar. Veritabanı olarak esnek yapıya sahiptir. Örneğin MSSQL ile çalışan bir projeyi ve hızlıca Oracle a geçirmek ORM ile daha az sıkıntılı. Veritabanı bağımlılığı yoktur. Yani ORM yi oluşturmadan önce veritabanı tablo ve kolonlarını oluşturmalısınız gibi bir kural yoktur. Siz ORM ile modellemeyi yaparken olmayan tabloları ve kolonları sizin yerinize açacaktır. Yazılım bakımı daha kolaydır.

ORM Avantajları Direk Erişim Nesne ile erişim

ORM Dezavantajları Veritabanı direk erişime göre daha yavaştır. Veritabanında bilgi alış-verişi sırasında kontrol %100 bizde değildir. Bazen oluşturulan SQL ifadelerinde sorun çıkabilir veya biz daha güzel ve hızlı çalışacak SQL ifadeleri yazabileceğimiz durumlar olabilir???? (Olur mu?)

ORM Çatıları Java için ORM çatıları: Hibernate JPA OpenJPA Toplink EclipseLink Apache Cayenne MyBattis.NET için ORM çatıları: Entity Framework Nhibernate.Net Persistence Drapper.NET DataObjects.NET DotNorm FastObjects.NET Norm OJB.NET PHP için ORM çatıları: Propel Doctrine PHP- Activerecord PdoMap RedBean

EF (Entity Framework) Microsoft tarafından geliştirilmiş bir ORM dir.

EF (Entity Framework) devam EDM (Entity Data Model): EDM 3 bölümden oluşur. Conceptual Model, Mapping, Storage Model. Conceptual Model: Bu alanda model sınıflarımız ve bu sınıfların ilişkileri yer alacaktır. Bu sınıflar veritabanı tasarımınızdan bağımsız olacaktır. Storage Model: Bu alanda veritabanı tasarım modelimiz yer alır. Bu model içerisinde veritabanımıza ait tablolar, view'lar, stored procedure'ler ve bunlara ait ilişkiler ve key'ler yer alır. Mapping: Bu alan ise model sınıflarımız ile tasarım modelimiz arasındaki haritalama işlemlerinin bilgilerinin tutulduğu alandır.

EF (Entity Framework) devam LINQ to Entities: Nesneleri sorgulamada kullanacağımız sorgulama dilidir. Bu sorgular bize model sınıflarını döndürecektir. Entity SQL: LINQ to Entities gibi sorgulama yapabileceğimiz bir sorgulama dilidir. Daha zordur. Object Services: Veritabanından sorgulama sonucunda alınan verilerin geri döndürülme aşamasında gereken convert (dönüştürme) işlemlerinin yapıldığı alandır. Entity Client Data Provider: Bu alanın sorumluluğu hazırlanan LINQ to Entities ya da Entity SQL sorgularını ADO.Net Data Provider'a gönderilmek üzere anlaşılır SQL sorgularına dönüştürmektir. ADO.Net Data Provider: Bu katman ise standart ADO.NET kullanarak veritabanı ile iletişim kurar.

EF (Entity Framework) devam Entity Framework ile 4 farklı yöntem ile proje geliştirilebilir. Bu yöntemler; 1. Model First (Önce Model): Bu yöntemde Visual Studio üzerinde boş bir model dosyası (.edmx) eklenerek veritabanı bu model üzerinde oluşturulur. 2. Database First (Önce Veritabanı): Bu yöntemde hali hazırda var olan veritabanı projeye model dosyası ile bağlanır ve gerekli sınıflar EF tarafından üretilir. 3. Code First (Önce Kod Yeni Veritabanı): Bu yöntemde sınıflar ve mapping kodları yazılımcı tarafından oluşturulur. Daha sonra veri tabanı bu sınıflardan türetilir. 4. Code First (Önce Kod Var olan Veritabanı): Bu yöntemde de sınıflar ve mapping kodları yazılımcı tarafından oluşturulur. Veritabanı sınıfların ve modellemenin durumuna göre tekrardan şekillenebilir.

EF (Entity Framework) devam UYGULAMA

Yararlanılan Kaynaklar http://www.w3c.org http://www.w3schools.com/jquery http://www.oguzkurtcuoglu.com/blog/post/entityframework-makale-serisi---entity-framework-nedir Ders Notları, Yrd. Doç. Dr. Yuriy Mishchenko Jump Start Bootstrap, Syed Fazle Rahman, 2014, 14

İYİ ÇALIŞMALAR Yrd. Doç. Dr. Deniz KILINÇ drdenizkilinc@gmail.com deniz.kilinc@cbu.edu.tr 15