Language Integrated Query-2

Önceki yazımızda da bahsettiğim gibi elimden geldiği kadar linq konusunda farklı konulara değinmeye çalışacağım demiştim, tabi mutlaka bir linq fonksiyonlarının kullanımını içeren bir yazı yazacağım. Normalde büyük çoğunluğumuzun tahmin ettiği ve bildiği gibi linq hız konusunda çok daha avantajlı ama bazı durumlar var ki bazı durumlar düşündüğümüz gibi değil. Aşağıdaki kod bloğunda aynı işi yapan […]

Linq (Language Integrated Query)

Language Integrated Query, kısaca Linq .Net framework 3.5 sürümü ile birlikte tanımlı gelen bir özelliktir. .Net  framework 2.0 sürümünde eklentilerle beraber kullanılıyordu. Linq sayesinde veritabanı ile kullanılan bir programlama dili arasında kodsal bir bütünlük sağlanmıştır. Sql ifadeslerine benzeyen söz dizimi ile farklı tiplerdeki verilerin sorgulanmasını sağlayan bir metadolojidir. Bu yazıda tüm linq metodlarını sıra sıra değinerek […]

Transaction Mimarisi-2

Xact_State()  Fonksiyonu   Try-catch yapısını kullandığımızda bir hata aldığımızda transaction rollback edilir. Transaction’ın o anki durumu hakkında bilgi alıp durumuna göre işlem yapabiliriz. Transaction’ın durumu hakkında bilgi almak için xact_state() fonksiyonu kullanılır. 1–> Transaction’ın aktif olduğunu gösterir. 0–> Transaction’ın pasif olduğunu gösterir. 2–> İlgili transaction’ın sonlandırılabilir bir transaction olmadığını gösterir. Nested Transactions Sql server bir transaction bitmeden başka […]

Transaction Mimarisi

Transaction mimarisi, veri tabanlarının bence en önemli parçasını oluşturmaktadır. Yapılacak bir işin basamaklarında herhangi bir hata alındığında o hataya kadar yapılan işleri tamamen geri alabilir yada bizim belirlediğimiz düğüme geri dönebiliriz. Temel olarak transactionlar aşağıdaki 4 özelliğe sahiptirler. Atomicity: Yapılan bir işlem birden fazla alt işlem içerebilir ve bu alt işlemlerden herhangi birisi hatalı sonuçlanırsa, tüm […]

Interface Kavramı

Önceki yazıda abstract kavramından bahsetmiştik, Bu yazıda da benzerlik ve farklılıkları olan interface kavramına değinmeye çalışacağım. Interface kelime anlamı olarak “arayüz” anlamına gelmektedir. Yani asıl clasa bir şekilde referans olacaktır. Interface kendi elamanlarını referans ettiği classa miras bırakacak ve class istediği şekilde bu itemleri kullanacaktır. Yalnız bir class bir interface tarafından extend edilmiş ise, interface’in zorunlu […]

Abstract Kavramı

Öncelikle bu kavrama neden ihtiyaç duyarız, bize ne gibi avantajlar sağlıyor, bunları araştırmamız gerekir. Bunun için basit bir yapı kurarak işe başlayalım dedim. Bir tane ‘Personel’ isimli base classımız ve bundan türeyen ‘Uzman’ ve ‘Lider’ classlarımız olsun.Base classımızda bu iki sınıfın maaşlarını hesaplayan bir metodumuz olsun. Oluşturduğum yapının kodları aşağıdaki gibidir. Main metodu içinde Uzman ve […]

Trigger Mimarisi (DDL Trigger)

Tüm veritabanı hatta daha geniş kapsamlı olarak Server bazında gerçekleştirilen Create, Alter Drop gibi ddl (Data Definition Language) işlemlerini kontrol etmek istediğimiz durumlarda DDL trigger’larını kullanabiliriz.Sadece veritabanı üzerindeki ddl işlemlerini kontrol etmek için DDL trigger’ımızı ilgili veritabanı üzerinde oluşturmamız gerekir. Server seviyesinde ddl işlemleri için trigger’ımızı master veritabanında oluşturmalıyız. Ddl trigger’larının tetiklenmesi ile oluşan event […]

Trigger Mimarisi (DML Trigger-2)

Instead Of Dml Trigger İnstead of Dml trigger’ları tetiklendiğinde dml komutları yerine sadece trigger tetiklenir. Bir insert işlemi için instead of trigger’ı oluşturduğumuzda tablo üzerinde insert işlemi yapmak istediğimizde insert işlemi yapılmaz bunun yerine instead of dml trigger’ımız tetiklenir. Bu yöntem tablo üzerinde yapılacak olan dml işlemlerini kontrol etmek için kullanılır. After dml triggerlar ile […]

Trigger Mimarisi (Dml Trigger-1)

Sql Server gibi ilişkisel veritabanı yönetim sistemlerinde tablo veya view üzerinde gerçekleştirilen insert,update, delete gibi DML işlemlerini ve veritabanı veya server seviyesinde create,alter, veya drop gibi DDL işlmelerinden biri gerçekleştiğinde tetiklenip çalışacak olan Sql Server objelerine trigger denir. DML ve DDL işlemlerinin performanslarını takip edilirken triggler mutlaka kontrol edilmelidir. Yapacağımız işlem uzun zaman alıyorsa buna […]

Kullanıcı Tanımlı Fonksiyonlar

UDF (User Defined Function), kullanıcı tanımlı fonksiyonlar birden fazla t-sql ifadesinin art arda işlenip bir sonuç üretilmesi için kullanılan sql server objeleridir diyebiliriz. Stored procedure’lerden farklı olarak kullanıcı tanımlı fonksiyonlar içinde DML işlemleri yapamayız. Fonksiyonlarda sorgu sonucunda gelen değer kullanıcıya döndürebiliriz. –Sp’lerden dönen değer spnin doğru çalışıp çalışmadığını kontrol ederken, fonksiyonlardan dönen değeleri başka bir işlem […]