Trigger - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

İçindekiler

  • Giriş
  • 1 Tetikleyici nedir?
  • 2 Kaynakça

Trigger

  • العربية
  • Azərbaycanca
  • Català
  • Čeština
  • Deutsch
  • English
  • Español
  • فارسی
  • Suomi
  • Français
  • Magyar
  • İtaliano
  • 日本語
  • 한국어
  • Latviešu
  • Монгол
  • Nederlands
  • Norsk bokmål
  • Polski
  • Português
  • Русский
  • Српски / srpski
  • Svenska
  • Kiswahili
  • Українська
  • 中文
Bağlantıları değiştir
  • Madde
  • Tartışma
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Araçlar
Eylemler
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Genel
  • Sayfaya bağlantılar
  • İlgili değişiklikler
  • Kalıcı bağlantı
  • Sayfa bilgisi
  • Bu sayfayı kaynak göster
  • Kısaltılmış URL'yi al
  • Karekodu indir
Yazdır/dışa aktar
  • Bir kitap oluştur
  • PDF olarak indir
  • Basılmaya uygun görünüm
Diğer projelerde
  • Vikiveri ögesi
Görünüm
Vikipedi, özgür ansiklopedi
(Tetikleyici sayfasından yönlendirildi)
Bu madde, Vikipedi biçem el kitabına uygun değildir. Maddeyi, Vikipedi standartlarına uygun biçimde düzenleyerek Vikipedi'ye katkıda bulunabilirsiniz. Gerekli düzenleme yapılmadan bu şablon kaldırılmamalıdır. (Eylül 2012)

Trigger yani tetikleyici, ilişkisel veritabanı yönetim sistemlerinde bir tabloda belirli olaylar meydana geldiği zaman yani ekleme, güncelleme, silme işlemlerinden biri gerçekleşmeden önce veya sonra çalışan ve belirli işlemleri kodlandığı şekilde yerine getiren yordamdır.

Tetikler, veritabanında yapılan değişikliklerle birlikte otomatik olarak çalışan prosedürel program parçacıklarıdır. Bu yüzden iş mantığının tetiklerin içinde gerçeklenmesi, istenmeyen bir durumdur. Hatta tetiklerin profesyonel olmayan kişiler tarafından kullanılması genellikle tavsiye edilmez.

Ancak ilişkisel veritabanlarında performansı artırıcı etkisi nedeniyle olmazsa olmaz yordamlardır.

  • Soru Tetikleyici nasıl bir performans artışı sağlıyor?
  • Cevap Cevap Bilâkis tetikleyici performans kaybı demektir. Fakat faydalarına ve sağladıklarına istinaden kaybedilen performansa razı olunur. Mesela birbirinin aynısı iki tablodan birinde tetikleyici kodları olup diğerinde olmaması durumunda her iki tabloya da toplu insert yapıldığında tetikleyici olan tabloda insert işleminin daha uzun süreceği görülebilir. Fakat işin sorgulama tarafında tetikleyicilerin olumlu ya da olumsuz bir katkısı yoktur. Gerek veri bütünlüğünü sağlamada, gerek bir takım işlemlerin otomatik yaptırılmasında tetikleyici yapılarından faydalanılır.

Tetikleyici nedir?

[değiştir | kaynağı değiştir]

Bir tablo üzerinde belirli bir olaya bağlı olarak tetiklenip çalışan SQL kodlarıdır. Tablo üzerindeki tetikleyicileri (triggerleri) tetikleyen olaylar delete, insert ve update olaylarıdır. Bu olaylara istinâden üç ana tip tetikleyiciden bahsedilir. Bunlar insert tetikleyicisi, delete tetikleyicisi şeklindedir. Bir tablo üzerinde bu olayların öncesinde ve sonrasında tetiklenecek istenildiği kadar tetikleyici yazılabilir. Fakat genel eğilim ve kullanım, her bir olay için tek bir tetikleyici kullanmak şeklindedir. Örneğin stok hareketleri sonucunda stok miktarlarının azalması veya artması işlemlerinin veya tahakkuk ve tahsilatlar sonucu carî hesapların etkilenmesi işlemlerinin tetikleyiciler aracılığı ile yapılmaları, tipik bir tetikleyici kullanım yeridir. Ayrıca referential integrity'yi sağlamak amacı ile de tetikleyici kullanımı çok tercih edilir. İlişkisel bir veritabanında örneğin PERSONEL tablosundaki kişinin bölüm bilgisi amaçlı olarak BOLUM_NO tutulması ve bölümün adının da BOLUM tablosundan bulunması yapıldığını düşünelim. Eğer 1 numaralı bölüm herhangi bir personele kullanıldıysa BOLUM tablosundan BOLUM_NO değeri 1 olan kaydın kesinlikle silinememesi gerekmektedir. Bu tür kontrollerin yapılarak veri bütünlüğünün korunmasına İngilizcede referential integrity denir. Bu amaçla yazılan veya bir veritabanı tasarım aracı kullanıldıysa onun otomatik olarak yazdığı tetikleyici kodları sayesinde bu bütünlük korunur. Çünkü BOLUM tablosunun delete tetikleyicisi'nde gerekli kontrolleri yapacak kod yazılır ve silinmek istenen BOLUM_NO herhangi bir personel için kullanıldıysa bu silme işlemine izin verilmez.

İki tip tetikleyici vardır­­:

  1. Satır düzeyi tetikleyici (mesela Sybase)
  2. Statement level tetikleyici (mesela MS SQL)

Satır düzeyi tetikleyici mantığında yazılan tetikleyici kodları, o an işleme tâbî olan bütün satırlar için veritabanı tarafından ayrı ayrı çalıştırılır. Yani misal 100 adet kaydı yeniliyorsak update tetikliyicimiz arka arkaya her satır için bir defa olmak üzere toplam 100 defa çalışır.

Statement level tetikleyici ise her statement için bir defa çalışır. Yani ister bir adet, ister 100 adet kaydı yeniliyor olun, yazdığınız tetikleyici kodu sadece bir defa çalışacaktır. Dolayısıyla yenilenen 100 kayıt için de yapılması gereken ayrı ayrı işlemler varsa bu işlemler tetikleyici içinde bir döngü marifetiyle yapılmalıdır.[1]

Kaynakça

[değiştir | kaynağı değiştir]
  1. ^ Fahrettin Aksakal. "Trigger, Stored Procedure Kullanımı ve Referential Integrity". 2 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Temmuz 2011. 
  • g
  • t
  • d
Veritabanı yönetim sistemi
Türler
Nesne veritabanı (karşılaştırma) · Sütun yönelimli veritabanı yönetim sistemi · Belge yönelimli veritabanı · Grafik veritabanı · İlişkisel veritabanı · İlişkisel veritabanı yönetim sistemi · Anahtar-değer veritabanı · Bellek içi veritabanı · Çoklu model veritabanı · Bulut veritabanı · Aday anahtar · Yabancı anahtar · Ana anahtar · Superkey · Vekil anahtar
Kavramlar
Veritabanı · ACID · Armstrong'un aksiyomları · Codd'un 12 kuralı · CAP teoremi · CRUD · Null · Aday anahtarı · Yabancı anahtar · Süperanahtar · Vekil anahtar · Özel anahtar
Nesneler
İlişki (Tablo · Sütun · Satır) · Görünüm · Transaction · Trigger · Veritabanı dizini · Kaydedilmiş işlev · Cursor · Kayıt · Aktarım · Partition
SQL
NoSQL · NewSQL · Select · Insert · Update · Merge · Delete · Join · Union · Create · Drop · Begin work · Commit · Rollback · Truncate · Alter
Bileşenler
Eşzamanlılık denetimi · Veri sözlüğü · JDBC · ODBC · Sorgulama dilleri · Sorgu hızlandırıcı · Sorgu planı
İlgili konular
Veritabanı modelleri · Ayrıştırma · Veritabanında saklama · Dağıtık veritabanı · Federe veritabanı sistemi · Veri tutarlılığı · İlişkisel bütünlük · Bağıntısal cebir · İlişkisel hesap · İlişkisel model · Nesne-ilişkisel veritabanı · Hareket işleme
Kategori Kategori
"https://tr.wikipedia.org/w/index.php?title=Trigger&oldid=34769072" sayfasından alınmıştır
Kategoriler:
  • Veritabanı yönetim sistemleri
  • Olaylar (bilgisayar)
Gizli kategori:
  • Düzenlenmesi gereken maddeler Eylül 2012
  • Sayfa en son 12.07, 9 Şubat 2025 tarihinde değiştirildi.
  • Metin Creative Commons Atıf-AynıLisanslaPaylaş Lisansı altındadır ve ek koşullar uygulanabilir. Bu siteyi kullanarak Kullanım Şartlarını ve Gizlilik Politikasını kabul etmiş olursunuz.
    Vikipedi® (ve Wikipedia®) kâr amacı gütmeyen kuruluş olan Wikimedia Foundation, Inc. tescilli markasıdır.
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
Trigger
Konu ekle