«BM364» Veritabanı Uygulamaları



Benzer belgeler
Veritabanı İşlemleri

«BM364» Veritabanı Uygulamaları

C# nedir,.net Framework nedir?

Bahar. BM 211 Programlama Dilleri 3 1

Microsoft SQL Server 2005

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

C#.Net & Linq (Language Integrated Query)

4. Bölüm Programlamaya Giriş

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5

2 VISUAL STUDIO 2012 GELİŞTİRME ORTAMI

MySqlConnection connection; MySqlCommand command; MySqlDataReader reader; MySqlDataAdapter adapter; DataTable table;

Asp.Net Veritabanı İşlemleri

GridView ve DetailsView kullanarak kayıt düzenlemek

1-) Veritabanımıza bağlanmak için bir SqlConnection nesnesi, 2-) Veritabanındaki bilgileri kullanmak (seçme, kaydetme, silme, güncelleme) için

Veri Merkezli Uygulamalar Bağlantılı (Connected) Veri Ortamları

«BM364» Veritabanı Uygulamaları

HSancak Nesne Tabanlı Programlama I Ders Notları

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş

İ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

Sınıflar ve Yapılar Arasındaki Farklılıklar. Değer ve Referans Türde Olan Aktarımlar

GÖRSEL PROGRAMLAMA - I

ADO.NET. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım;

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

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

C# Eğitimi-1 (Giriş) Melih Hilmi Uludağ

Anadolu Liselerine Öğretmen Atama İşleminin Nesneye Yönelimli Veritabanı Programlama Kullanılarak Gerçekleştirilmesi

MOBİL UYGULAMA GELİŞTİRME

Entity Freamwork & ADO.Net

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK

Üst Düzey Programlama

1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9

Windows Programlama Güz Dönemi

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

STORED PROCEDURE LER (Saklı Yordamlar)

PostgreSQL ve PL/pgSQL

C# VE OOP KILAVUZU EK B

PostgreSQL ve PL/pgSQL

C #

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

C# ve SQL Server ile Resim Yükleme ve Login İşlemi

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

Oracle da kullanılan veri tipleri:

GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ

Operator Aşırı Yükleme (Operator OverLoading)

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır.

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi

NETSİS Uyarlama Araçları. Burak Çelik Uyarlama Araçları Uzmanı

BİL132 Bilgisayar Programlama II

Bu uygulamayı yapabilmek için SQL Server'da Query Analyzer kullanabilmekle beraber, ADO.NET bilgisine sahip olmanız gerekir.

Lambda İfadeleri (Lambda Expressions)

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

«BM364» Veritabanı Uygulamaları

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;

Yazılım Kodlama ve İ simlendirme Standartları v1.0

Ders Tanıtım Sunumu. Database Managegement II. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

Basit bir web uygulaması

22. BÖLÜM Veri Tabanı İşlemleri...527

Şablon Türler (Generics)

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

AlgoTrader. Algorithmic Trading Platformu. Matriks Bilgi Dağıtım Hizmetleri A.Ş.

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

HSancak Nesne Tabanlı Programlama I Ders Notları

C# Console Uygulamaları ifelse Yapıları 2

VeriTabanı Uygulamaları

Kod Kalitesi Hataları

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

public class SalesLineItem // Java { private int quantity; private ProductSpecification description; public Money getsubtotal() {...

GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

Nesneye Dayalı Programlama

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama

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

Kullanıcı tanımlı fonksiyonlar SQL2000 ile gelen özelliklerden biridir. Fonksiyonlar tek bir değer veya tablo döndürmek için kullanılır.

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

Business Delegate Tasarım Şablonu KurumsalJava.com

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

TARİHÇE. Versiyon Tarih Düzenleyen Açıklama Engin DURMAZ İlk versiyon

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü:

ADO.NET VERİTABANINA BAĞLANTI. Bir web formu üzerinden veritabanına bağlantımızı anlatacağım. UYGULAMA 1

Görsel Programlama (Visual Programming) 2.Hafta

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir.

Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

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

Veri Bütünlüğü ve Constraint ler. Veritabanı 1

Sunum İçeriği. Programlamaya Giriş

Öğr. Gör. Serkan AKSU 1

HB1002: ORACLE 10G VERĐTABANI PL/SQL ile PROGRAMLAMA (32 saat)

KULLANICI TANIMLI FONKSİYONLAR (Devam)

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

Lecture 11: Generics

SQL Stored Procedure

VERİ TABANI ve YÖNETİMİ

1. MİCROSOFT SQL SERVER 2014'E GİRİŞ

BLM401 Mobil Cihazlar için ANDROID İşletim Sistemi. SQLite Veritabanı. BLM401 Dr.Refik SAMET

Transkript:

HAFTA 8 DB içerisinde CLR Bileşenleri" Yaşar GÖZÜDELİ ygozudeli@verivizyon.com http://blog.verivizyon.com/ygozudeli «BM364» Veritabanı Uygulamaları

Konu Akışı SQL Server ve.net CLR SQL Server içerisinde Yönetilebilir Kod Kullanmak www.verivizyon.com 2

Ders-1: SQL Server ve.net CLR.NET Common Language Runtime nedir? Yönetilebilir kodun özellikleri SQL Server - CLR Entegrasyonu Ne zaman Managed? Ne zaman T-SQL Bir Assembly nasıl register edilir? Bir yönetilebilir kod kullanan veritabanı nesnesi nasıl oluşturulur? 3

.NET CLR Mimarisi.NET Framework Class Library Support Thread Support Type Checker Security Engine COM Marshaler Exception Manager Debug Engine MSIL to Native Compilers Code Manager Class Loader Garbage Collector 4

Yönetilebilir Kodun özellikleri Özellik Dil Seçeneği Tip Güvenliği Güvenlik Hızlı geliştirme Uyumluluk Bir çok dil seçeneği Açıklama common type system temelli tip güvenliği Rol temelli kod kaynak erişimi Kodlama süresi açısından hazır temel kütüphaneler avantaj sağlar Managed-Unmanaged kod uyumluluğu 5

SQL Server - CLR Entegrasyonu SQL CLR içerisinde.net assembly lerine erişim ve çalıştırma T-SQL in tamamlayıcısı, CLR!!! managed stored procedures, triggers, userdefined functions, user-defined types ve aggregates kodlanabilir. Entegrasyonun Sağladıkları: Gelişmiş bir programlama modeli Gelişmiş bir güvenlik ve sağlamlık Bilindik bir geliştirme ortamı Performans ve ölçeklenebilirlik 6

Ne zaman.net dilleri vs. Transact-SQL.NET Dilleri Komplike mantıkları kodlamak gerektiğinde.net Framework kütüphanesi gerektiğinde CPU yoğun işlemler gerektiğinde T-SQL Veri erişimi ile ilgili genel konularda. 7

Var olan bir assembly nasıl yüklenir? 1 2 3 Assembly için bir veritabanı ismi verin Assembly nin yolunu verin Assembly için bir güvenlik seviyesi belirtin CREATE ASSEMBLY HelperLibrary FROM '\\Server1\Private\AProject\bin\HelperLibrary.dll' WITH PERMISSION_SET SAFE -- default value CREATE ASSEMBLY Contacts FROM 'C:\AProject\bin\Contacts.dll' WITH PERMISSION_SET EXTERNAL_ACCESS 8

Managed Code kullanan DB Nesnesi Tanımlama 1 2 3 Bilindik şekilde CREATE ifadesini kullan Assembly e bağla Bilindik şekilde db nesnesini kullan CREATE PROCEDURE Person.UpdatePhoneList AS EXTERNAL NAME Contacts.PhoneList.SaveList GO EXEC Person.UpdatePhoneList 9

Pratik-1 Bir assembly i kaydetmek Bir veritabanı öğesi olarak kullanmak 10

Ders: SQL Server da.net Rutinleri Kodlamak Visual Studio içerisinde SQL Server Projesi ile çalışmak System.Data.SqlClient ve Microsoft.SqlServer.Server Namespace leri ile çalışmak Managed Stored Procedures Managed Triggers Managed User-Defined Functions Managed Aggregates Managed User-Defined Data Types Visual Studio ile DB ye Nesne Kaydı 11

Visual Studio da SQL Server projeleri Veritabanı nesneleri oluşturmak için geliştirme ortamı desteği Gerekli dll leri otomatik olarak referans eder System.Data.dll Her bir nesne türü için hazır şablon Stored procedure Trigger User-defined function User-defined type Aggregate Doğrudan SQL Server a kurma desteği sağlar 12

System.Data.SqlClient ve Microsoft.SqlServer.Server SqlContext* SqlConnection SqlCommand SqlParameter SqlPipe* SqlDataReader SqlDataRecord* SqlTransaction SqlTriggerContext * Üstünde çalışılan SQL Server ile ilgili ortama erişim sağlayan sınıf Üstünde çalışılan veya uzaktaki bir SQL Server'a bağlantı sağlamak için kullanılan sınıf Bir bağlantı üstünden T-SQL ifadeleri ve Stored Procedure gibi öğelere erişim ifadesi barındıran ve çalıştırmaya yarayan sınıf Bir Command nesnesine özelliklerini ve değerini tayin ederek parametre aktarmaya veya Command nesnesinin T-SQL çalıştırmasının ardında parametrik sonuçlara erişim sağlayan sınıf SQL Server istemcisine mesaj veya veri göndermek için kullanılan kanal. Stored Procedure'lerin tabular sonuç döndürmesinde de kullanılır Bir sorgunun sonucuna tek yönlü ve okunabilir akıntı erişimi sağlayan sınıf Bir tek satır ve satırın her bir alanına ait özellikleri tutan bir sınıftır. Üstünde çalışılan SQL Server içerisinde geçerli olmak üzere Transaction yönetimi sağlayan sınıf Herhangi bir trigger tetiklenmesinde, tetikleyen olay ve ortama erişimi sağlayan sınıf 13

Managed Stored Procedure Oluşturmak 1 2 3 Bir sınıf içerisinde public static metod tanımla SqlProcedure niteliğini ata managed stored procedure mantığını kodla public class ContactCode { [SqlProcedure(Name="GetContactNames")] public static void GetContactNames() { using( SqlConnection conn = new SqlConnection("context connection=true")) { conn.open(); SqlCommand cmd = new SqlCommand("DELETE FROM person.contact WHERE contactid=2",conn); cmd.executenonquery(); 14

Managed Trigger Kodlamak 1 2 3 Bir sınıf içerisinde public static metod tanımla SqlTrigger niteliğini deployment için tayin et Managed trigger mantığını kodla public class ContactCode { [SqlTrigger(Name="ContactUpdTrg", Target="Person.Contact", Event="FOR UPDATE")] public static void ChangeEmail() { SqlTriggerContext trg = SqlContext.TriggerContext; if (trg.triggeraction == TriggerAction.Update) { if (trg.columnsupdated[7] == true) //send e-mail to each new contact 15

Managed User-Defined Functions Kodlamak 1 2 3 Bir sınıf içerisinde public static metod tanımla SqlFunction niteliklerini tayin et managed function ı kodla public class MyFunctions { [SqlFunction(Name="GetLongDate" )] public static SqlString GetLongDate(SqlDateTime DateVal) { // Return the date as a long string return DateVal.Value.ToLongDateString(); 16

Managed Aggregate Kodlamak 1 2 3 Bir public class oluştur Serializable ve SqlUserDefinedAggregate niteliklerini ver Init, Accumulate, Merge ve Terminate methodlarını kodla [Serializable, SqlUserDefinedAggregate( )] public class CommaDelimit { public void Init() { public void Accumulate(SqlString Value) { public void Merge(CommaDelimit Group) { public SqlString Terminate() { 17

Managed User-Defined Data Type Kodlamak 1 2 3 4 5 Public bir class veya struct tanımla Serializable ve SqlUserDefinedType niteliklerini ver NULL olma durumlarını ele al String dönüşümünü tanımla Private data erişimi için public metodlar ver 18

VS.NET Deployment 1 Managed nesneler kodlarken nitelikleri kullanın [SqlProcedure(Name="ProcName")] public static void Proc ( ) 2 Deploy menu seçeneği ile veritabanına aktarın 19

Ödev www.verivizyon.com 20

Sonuç www.verivizyon.com 21