• SQL

    SQL Ders24- Transaction Nedir

    Transaction, daha küçük parçalara ayrılamayan en küçük işlem yığınına denir. Belirli bir grup işlemin arka arkaya gerçekleşmesine rağmen, işlemlerin toplu olarak değerlendirilmesini sağlar. “Transaction”, prensip olarak ya bütün işlemleri gerçekleştirir ya da hiçbirini gerçekleştirmez. İşlemlerden biri dahi başarısız olursa, bu prensip nedeniyle hiçbir işlem olmamış kabul edilir; ancak tüm işlemler başarılı olduğunda” transaction”, içinde gerçekleşen tüm veri değişikliklerini onaylamış demektir. Bu işlemlerin ardı arkasına gelince bir tanesinin bile gerçekleşmemesi veri kaybına neden olacağı anlamına gelmektedir. Bu işlemler sırasında veriler üzerindeki değişikliklerin de tutarlı olması, birbirlerini tamamlayıcı nitelik taşıması gerekir. Bu özellikleri sağlayabilmesi içintransaction kavramı ortaya atılır. Veri tabanı uygulamaları geliştirirken böyle bir hataya sebep olacakları da düşünerek transaction bloğunun içine alınarak işlemler yapılır.…

  • SQL

    SQL Ders23- Trigger Kullanımı instead of

    Bu konumuzda Trigger’larda instead of kullanımını göreceğiz. Şimdi Araba adında bir tablo oluşturalım. Burada SatildiMi kolonunu default değerini 1 olarak atama işlemini gerçekleştirdik. Oluşturulan tablomuza birkaç kayıt girelim. Şimdi tablomuza bir göz atalım. Gördüğümüz gibi SatildiMi kolonumuz direk olarak 1 sayısını getirdik. Şimdi de bu tablo üzerinde yapılacak bir delete işlemi için bir trigger yazalım. Yazdığımız trigger, kaydı silmeyerek, SatildiMi kolonuna 0 değerini atasın. Yani silme işlemi yerine update işlemi yapacağız. Kitap tablosundan bir kayıt silelim. Görüldüğü gibi silme işlemi gerçekleşmedi onun yerine bizim yazmış olduğumuz trigger devreye girerek update yapmak istediğimiz işlemi gerçekleştirdi. Çok karmaşık olan Trigger konusunu sizler için 3 parça halinde sunmayı amaçladım. Umarım anlaşılmıştır. İyi kodlamalar..

  • SQL

    SQL Ders22- Trigger Kullanımı 1

    Öncelikle bu dersimiz için ürün ve sipariş adında iki tablo oluşturalım. Şimdi de bu iki tablo arasındaki ilişkiyi belirtelim. Bu ilişki Sipariş kolonundaki UrunID ile Urun tablosundaki UrunID alanına referans vereceğini belirtelim. Şimdi de Urun tablomuza birkaç veri girişi yapalım. Şimdi de Siparis tablosuna insert yapalım. Ancak siparişi verirken, girmiş olduğumuz sipariş miktarı kadar, Urun tablosunda o ürün için tutulan StokMiktarı’nın da azalmasını istiyoruz. Bunun için bir trigger yazmamız gerekiyor. Data girişinin yapıldığı anda bu trigger tetiklenmesi için After kullanmalıyız. Yazmış olduğumuz bu trigger ile sipariş tablosuna her insert girdiğimizde sipariş miktarı kadar stok miktarı azalma gösterecektir. Burada 50 adet sipariş verdik ve iki tabloda birbirinden etkilendiği için iki satır…

  • SQL

    SQL Ders21- Trigger Nedir

    Trigger’lar, tablo üzerinde tanımlanabilen ve bu tablo üzerinde bir işlem gerçekleştiğinde tetiklenen programlama ögeleridir. Çalışma mantığı, C#’daki event ile aynıdır. Öncelikle trigger’ları ikiye ayıralım: DDL ve DML trigger’lar. DML ve DDL konusunu bu yazımızda detaylıca göz atmak isterseniz buraya tıklayın. Bu dersimizde DML trigger üzerinde işlemler yapacağız. DML Trigger’ları da kendi içinde AFTER(veya FOR) ve INSTEAD OF olmak üzere ikiye ayrılırlar. (AFTER ve FOR aynı anlamdadır) AFTER : Yazdığımız trigger ‘after delete’ şeklindeyse, o tablo üzerinde data silindikten sonra bu trigger devreye girer. Bu trigger’lar tetiklendiğinde işlem gerçekleşmiş demektir. INSTEAD OF : Yazdığımız trigger ‘instead of delete’ şeklindeyse, o tablo üzerindeki kayıt silme işlemi yerine, bu trigger devreye girecektir. Bu…