VERİTABANI Veritabanı Bileşenleri İLİŞKİSEL VERİTABANI BİLEŞENLERİ TABLOLAR Veritabanının en temel bileşeni "Tablo" dur. Tablolarda saklanan veriler veritabanın diğer bileşenlerinin (sorgular, saklı yordamlar, görünümler,vb) oluşmasını sağlar. Bu nedenle veritabanının hız/performans ve verimliliği tablolarla doğrudan ilişkilidir. Verimli bir veritabanı tasarımı için "Tablo" yapısını iyi kavrayıp anlamak gerekmektedir. Tablo; veritabanına konu olan herhangi bir varlığa ait niteliklerin, düzenli ve anlamlı bir şekilde bir arada tutmasını sağlayan varlıklar topluluğudur. Tablo; kayıt-satır (record) ve sütun-bilgi alanlarından (column-field) oluşur. Sütunlar o varlığa ait nitelikleri ifade eder ve her kayıt bir varlık demektir. HİYERARŞİK VERİTABANI MODELİ İLİŞKİSEL VERİTABANI BİLEŞENLERİ Tanımı daha iyi kavramak için personel bilgilerinin tutulduğu bir tablo tasarımını inceleyelim. Öncelikle tasarım aşamasında personel bilgilerini oluşturan ad, soyad, doğum tarihi, doğum yeri, vb. nitelikler belirlenir. Belirlenen bu nitelikler bilgi alanlarını (field) oluşturur. İLİŞKİSEL VERİTABANI BİLEŞENLERİ VERİ TİPLERİ (DATA TYPE) Veri tipi olarak; adlandırılan kavram, belirli kıstaslara göre sınırlandırılmış farklı türlerdeki değerleri ifade etmektedir. Tablolarda tutulacak verilerin tasarımı yapılırken veri tiplerine dikkat edilmelidir. Örneğin "Personel" tablosu oluşturulurken, Personel Adı, Soyadı ve Doğum Yeri için "Metin", Doğum Tarihi için "Tarih" ve "ID"si için de "Sayı" veri tipleri seçilmelidir. Veri tipine dikkat edilmeksizin oluşturulan veritabanı yönetim sistemleri; performans, güvenlik, verimlilik, vb. yönlerden eksiklik gösterecektir. Veri tipleri kullanımlarına ve saklanma biçimine göre seçilmektedir. Yoğun verilerin tutulduğu veritabanlarında veri tipleri daha büyük öneme sahip olmaktadır. İLİŞKİSEL VERİTABANI BİLEŞENLERİ VERİ TİPLERİ (DATA TYPE) Veritabanı sistemlerindeki gelişmeler ve uygulamalardaki gereksinimler doğrultusunda çeşitli veri tipleri oluşmuştur. Veri tipleri; • Metinsel • Sayısal • Tarih - Zaman • İkili Veri Tipler • Diğerleri olarak sınıflandırılabilir. İLİŞKİSEL VERİTABANI BİLEŞENLERİ Metinsel Veri Tipleri Veri hem nümerik (sayısal), hem de alfanümerik (harf) değerlerden oluşuyorsa metinsel veri tipi kullanılır. Metinsel veri tipleri karakter, sembol, sayı ve bunların birleşimlerini depolamak için kullanılan veri tipleridir. CHAR: Girilen her karaktere karşılık olarak 1 byte yer tutan en fazla 800 karaktere kadar veri saklayabilen veri tipidir. Belirtilen uzunlukta veri girilmesine olanak sağlar. Uzunluk değeri, kaydedilecek verinin uzunluğundan büyük olduğunda kalan alanlar boşluk şeklinde doldurulur. İLİŞKİSEL VERİTABANI BİLEŞENLERİ Örneğin "ADI" alanı için tanımlı veri tipi uzunluğu 5 karakter olarak seçilsin. Bu alana veri kaydedilmesi aşağıdaki gibidir. İLİŞKİSEL VERİTABANI BİLEŞENLERİ VARCHAR: Bu veritabanı char veri tipin de olduğu gibi her karakter 1 byte yer kaplar ama en üst sınır değer aşılmadığı sürece değişik uzunluklardaki verilerin girilmesine olanak sağlar. İLİŞKİSEL VERİTABANI BİLEŞENLERİ TEXT: 8000 karakterden fazla değer alan veri tipidir. NCHAR: CHAR veri tipinden farklı olarak UNICODE karakter setini kullanır. Bu nedenle her karakter için 1 byte yerine 2 byte yer tutar. En fazla 4000 karakter depolayabilir. NVARCHAR: UNICODE metin değerlerini depolamak için kullanılır ve en fazla 4000 karakter depolayabilir. NTEXT: 4000 karakterden daha fazla değer alabilir ve UNICODE metin saklayabilir. İLİŞKİSEL VERİTABANI BİLEŞENLERİ Sayısal Veri Tipleri Genel olarak sayısal verilerin ve karşılaştırma gibi işlemlerde kullanılacak veri tipleridir. Sayısal veri tipleri ONDALIK ve TAMSAYI olarak ikiye ayrılmaktadır. Tam Sayı Veri Türleri Negatif ve Pozitif tam sayıları ifade eder. Bit: Fiziksel olarak 1 byte yer tutan ve 1 ya da 0 değer alan değer tipleridir. Boolean veri tipiyle aynıdır. (True/False) TINYINT: 1 byte yer tutan ve 0 ile 255 arasında değer alan değer türüdür. SMALLINT: 2 byte yer tutan -32.768 ile 32.767 aralığında değer alan veri tipidir. INT: 4 byte yer tutan ve -2.147.483.648 ile 2.147.483.647 arasında değer alan veri türüdür. BIGINT: 8 byte yer tutan ve -9.223.372.036.854.775.808 9.223.372.036.854.807 aralığında değer alan veri türüdür. ile İLİŞKİSEL VERİTABANI BİLEŞENLERİ Ondalık Veri Türleri Ondalık sayısal değerleri depolayabilen veri tipleridir. Veri tabanlarında ondalık veri tipleri, rasyonel ve yaklaşık değer tipleri olarak ikiye ayrılır. Kesir Ondalık Sayı Veri Tipleri SMALLMONEY: 4 byte veri tipi depolayabilir ve -214.748.3648 ile 214.748.3647 arasında değer alan veri tipidir. MONEY: 8 byte yer tutan ve -9.223.372.036.854.775.808 9.223.372.036.854.775.807 arasında değer alan veri tipidir. ile DECIMAL: Bu veri tipi özel bir tip olup iki parametre almaktadır ve basamak sayısında göre yer tutan veri türüdür. Örneğin; 10.000,0045 verisini saklayabilmek için virgülden öncesi ve sonrası için Alanadi(5,4) diye bir tanımlama gerekmektedir. NUMERIC: DECIMAL veri tipine benzeyen bir veri türüdür. Aynı şekilde kullanılır. İLİŞKİSEL VERİTABANI BİLEŞENLERİ Yaklaşık Ondalık Sayı Veri Tipleri Bu veri tipleri bilimsel gösterimleri ile depolanabilen ve diğer veri tiplerine göre depolanması çok hassas olan veri tipleridir. FLOAT: Veritabanında 4 ile 8 byte arasında yer tutan veri tipidir. REAL: Veritabanında 4 byte yer tutan veri türüdür. Tarih - Zaman Veri Tipleri Veritabanında tarih ve zaman bilgilerini tutmak amacıyla kullanılan veri türleridir ve SMALLDATETIME ve DATETIME veri tipi olarak iki şekilde kullanılmaktadır. SMALLDATETIME: 4 byte yer kaplar ve 1 Ocak 1990 ile 6 Haziran 2079 arasında değer almaktadır. DATETIME: Bu veri tipide aynı şekilde 4 byte yer tutar ve 1 Ocak 1753 ile 31 Aralık 9999 arasında değer alan veri türüdür. İLİŞKİSEL VERİTABANI BİLEŞENLERİ İkili (Binary) Veri Tipleri Değerleri veritabanına binary halde saklamak için kullanılmaktadır. BINARY: dosyaları(binary data) saklamak için kulanılır. binary(n) şeklinde n değeri 1 ile 8000 arasında değer alır. n bayt kadar yer kaplar. VARBINARY: dosyaları(binary data) saklamak için kullanılır. binary’den farklı olarak boyutu kaydedilen dosyanın boyutuna göre değişir. varbinary(n) şeklinde n değeri 1 ile 8000 arasında değer alır. varbinary(MAX) olarak kullanıldığında maksimum 2,147,483,647 bayt (2 GB) büyüklüğünde dosya kaydedilebilir. IMAGE: Bu veri tipi 2GB'ta kadar veri saklayan binary veri türüdür. İLİŞKİSEL VERİTABANI BİLEŞENLERİ Diğer Veri Tipleri Yukarıda bahsedilen veri tipleri genel olarak tüm veritabanı yönetim sistemlerinde kullanılmaktadır. Bunların dışında kullanılan veritabanı yönetim sistemine göre desteklenen veri türleri de vardır. TABLE: Sanal bir tablo gibi çalışan bir veri tipidir. TIMESTAMP: İçerisinde bulunduğu veritabanının, işlem takip sistemi gibi veri tiplerini saklayan veri tipidir. XML: Bu veri tipi MSSQL Server 2005 ile birlikte gelmiştir ve XML verilerini depolamak amacıyla kullanılan bir veri tipidir. 111 şeklinde xml dataları saklar ve tablo ve satırlarda sorgu yapmadan, query() metoduyla, kaydettiğimiz xml’in içindeki datalara ulaşabiliriz. CURSOR: Bir sonuç kümesine satır veya hücre düzeyinde erişebilmemizi sağlayabilen veri tipidir. Uniqueidentifier: 6F9619FF-8B86-D011-B42D-00C04FC964FF gibi bir GUID tipindeki verileri tutar. C#’taki karşılığı GUid’tir. Guid, harf ve sayılardan oluşan eşsiz bir datadır. İki Guid’in birbiri ile eşit olmayacağı garantidir. İLİŞKİSEL VERİTABANI BİLEŞENLERİ Veri tipleri genel olarak üçe ayrılır. • Basit veri tipleri • Karmaşık veri tipleri • Özel veri tipleri İLİŞKİSEL VERİTABANI BİLEŞENLERİ Veri tipleri genel olarak üçe ayrılır. Basit veri tipleri Metin, Sayı, Tarih-Zaman vb. bilgilerin tutulduğu veri tipleridir. Karmaşık veri tipleri Karmaşık veri tipleri nesne veri tiplerini kapsamaktadır. Farklı veritabanı yönetim sistemlerinde farklı tanımlamalar yapılmaktadır. Aşağıda karmaşık veri tiplerine birkaç örnek verilmektedir. İkili Nesneler (Binary Objects) Grafik gibi veriler veritabanında büyük yer kaplamaktadır. Bu tipteki verilerin saklanması çeşitli sorunlara neden olabilir. Bu nedenle bu gibi verilerin saklanması için ikili nesneler (binary objects) veri tipi kullanılmaktadır. Bu veri tipi ile depolama alanı azaltılarak büyük formattaki ses ve görüntü dosyaları gibi öğeler saklanabilmektedir. İLİŞKİSEL VERİTABANI BİLEŞENLERİ Referans İşaretçileri (Reference Pointers) C programlama dilinde verinin diskte veya programcıda kayıtlı olduğu adres bilgisini belirten veri tipidir. Bazı veritabanı yönetim sistemi yazılımları veriyi diskte bir yerde tutarak, veritabanına sadece verinin diskte bulunduğu adresi kaydeder. Genellikle statik nesnelerin kaydedilmesinde kullanılır. Kullanıcı Tanımlı Veri Tipleri Bazı veritabanı yönetim sistemi yazılımları kullanıcıların kendilerine özgü veri tipleri tanımlamasına izin verir. Özel Veri Tipleri Karmaşık verilerin veritabanında tanımlanmasında kullanılan veri tipleridir. Örneğin XML verilerin, mekânsal verilerin ve multimedya nesnelerinin tanımlanmasında kullanılır. İLİŞKİSEL VERİTABANI BİLEŞENLERİ Kısıtlayıcı (Constraint) Bir veritabanında saklanacak verinin belirli kısıtlamalarla girilmesini sağlayan kurallara kısıtlayıcı denir. Bunun için ilgili tabloda kısıtlamanın yapılacağı alana girilecek olan değerleri sınırlayan bir kural yazılır. Örneğin; alanın boş geçilmemesi, 0'dan büyük rakamların girilmesi vb. Kısıtlayıcılar kullanılarak tanımlanan alana yanlış verinin girilmesi engellenir ve verinin doğru şekilde kaydedilmesi sağlanır. Yanlış bir veri tabloya girilmek istendiğinde veritabanı yönetim yazılımı hata verir. Yanlış verilerin tabloya kaydedilmesi engellendiği için veri tutarlılığı sağlanmış olur. Örneğin il bilgilerinin bulunduğu tabloda plaka no girilen alan için rakamsal olarak 1 ile 81 arasında bir kısıtlayıcı tanımlanırsa, kullanıcı 1 ile 81 değerleri arasındaki değerler dışında veri giremeyecektir. Bu şekilde veri henüz giriş aşamasındayken kontrol edilerek doğru verinin girilmesi sağlanmış olur. İLİŞKİSEL VERİTABANI BİLEŞENLERİ Kısıtlayıcı (Constraint) MS Access veritabanı yönetim sistemi yazılımı üzerinde il tablosu oluşturulmuş ve plaka no girilen alan için bir kısıtlama tanımlanarak kullanıcıların yanlış veri girişi engellenmiş ve plaka no alanına 1 ile 81 arasında verilerin girilmesi zorunlu hale getirilmiştir. İLİŞKİSEL VERİTABANI BİLEŞENLERİ Anahtarlar (Key) Tabloları daha etkin bir şekilde kullanılabilmesini sağlayan, bir kayda ait bilgileri tek başına temsil edebilecek alanlardan biri veya birkaçı için tanımlanan özel bir çeşit kısıtlayıcıdır. Anahtarlar, "İlişkisel Veritabanı" yapılarının en temel bileşenidir. Anahtar olarak tanımlanan alan veya alanlara aynı verinin girilmesi mümkün değildir. Böylelikle aynı verinin birkaç kez girilmesi engellenerek veri tekrarının oluşması engellenir. Anahtar olarak belirlenecek alan veya alanlar belirlenirken dikkat edilmesi gereken en önemli nokta seçilen alanların gerçekten o kaydı temsil edip etmediğidir. Örneğin vatandaşların kimlik bilgilerinin tutulduğu kimlik paylaşım sistemi veri tabanında "T.C Kimlik Numarası", öğrenci bilgilerinin tutulacağı tabloda "Öğrenci No" alanı anahtar olarak seçilebilir. Çünkü aynı kimlik numarası ya da Öğrenci Numarasına sahip başka bir kişi olamaz. Bu alanlar anahtar alan olarak seçilerek tekrar kayıtlarında önüne geçilmiş olur. İLİŞKİSEL VERİTABANI BİLEŞENLERİ Anahtarlar (Key) Dört çeşit anahtar bulunmaktadır. • Birincil Anahtar • Tekil Anahtar • Bileşik Anahtar • Yabancı Anahtar İLİŞKİSEL VERİTABANI BİLEŞENLERİ Birincil Anahtar Tabloda bir ya da birden fazla alanın ortak olarak işaretlenmesiyle oluşan ve o kaydı temsil eden alanlardır. Birincil anahtar olarak tanımlanan alandaki verilerin tekrarlanmaması gerekir. Bir tabloda birincil anahtar kullanılarak yinelenen kayıtlar engellenmiş olur. Örneğin il tablosunda il plaka kodu birincil anahtar olarak tanımlanabilir. İLİŞKİSEL VERİTABANI BİLEŞENLERİ Tekil Anahtar (Unique Key) Tabloda tekil anahtar olarak tanımlanan alana bir değer yalnızca bir defa girilebilir. Aynı değerin tekrar girilmesine izin verilmediği için veri tekrarının önüne geçilmiş olur. Birincil anahtardan tek farkı tekil anahtar olarak tanımlanan alan NULL (boş) değeri alabilir ve sadece bir alandan oluşur. Bileşik Anahtar (Composite Key) Bir tabloda birden fazla alan için anahtar tanımlaması yapılırsa bu anahtarlara bileşik anahtar adı verilir. Bu alanlar genelde birincil anahtarın kullanılmadığı veya kullanılmak istenilen verilere hızlı erişimin sağlanmasının istendiği durumlarda kullanılır. Kişi kimlik bilgilerinin tutulduğu veritabanında ad ve soyad alanları anahtar olarak tanımlanmıştır. İLİŞKİSEL VERİTABANI BİLEŞENLERİ Yabancı Anahtar (Foreign Key) Yabancı anahtarlar da bütün anahtar tipleri gibi tabloda veri tutarlılığının sağlanması için kullanılır. Yabancı anahtar tanımlayabilmek için birbiriyle ilişkili olması planlanan en az iki tablonun olması gerekmektedir. İki tabloda da bulunan aynı alan yabancı anahtar olarak tanımlanabilir. Yabancı anahtar, tablolar arasında ilişki kurmaya yarar. Örneğin personel tablosu ile bordro tablosunu ele alalım. Personel tablosu ile bordro tablolarında personel no alanı aynıdır. Bu alan iki tablo arasında ilişki kurulmasını sağlar. Personel tablosundaki "Personel No" alanı birincil anahtar iken bordro tablosunda bulunan "Personel No" alanı yabancı anahtardır. İLİŞKİSEL VERİTABANI BİLEŞENLERİ SORGULAR Veritabanında tüm işlemler sorgular yardımıyla gerçekleştirilir. Yeni bir veritabanının oluşturulması, tabloların yaratılması, veri ekleme, güncelleme ve silme işlemlerinin gerçekleştirilmesi vb. işlemler, sorgularla gerçekleştirilir. Sorgu yazım kurallarına uyulması, veritabanı performansı açısından önemlidir. İLİŞKİSEL VERİTABANI BİLEŞENLERİ İNDEKSLER İndeksler tablolar için kullanılan veritabanı nesneleridir. Aranılan verilere daha hızlı ulaşmak için kullanılır. Özellikle üzerinde çok arama yapılacak alan veya alanlar üzerinde indeks oluşturmak, veritabanında yapılacak olan sorgulama işlemlerini hızlandırır. Veritabanındaki indeksler de kitapların arka sayfalarında bulunan indeksler gibi çalışırlar. Kitabın indeksinde kitapta bulunan konular ve bu konuların hangi sayfada olduğu ile ilgili bilgiler mevcuttur. Bu nedenle kitapta aranılan konuya kitabın indeksinden kolayca ulaşılabilir. İndeks sayesinde konuyu bulmak için tüm kitabı sayfa sayfa incelemeniz gerekmez. Böylelikle aradığınız bilgiye çok daha hızlı ulaşabilirsiniz. Veritabanındaki indeksler de benzer biçimde kayıtların yeri ile ilgili bilgileri kullanarak aranılan kayda çok daha hızlı ulaşılmasını sağlar. İLİŞKİSEL VERİTABANI BİLEŞENLERİ İndex Türleri Birincil İndeks; Tabloda bulunan anahtar alan üzerinden gerçekleştirilen indeks türüdür. İkincil İndeks; Tabloda anahtar olmayan alanlar üzerinden gerçekleştirilen indekslere denir. İndeks Kullanmanın Yararları İndeksler tablodaki veriler üzerinde çalıştırılacak sorguların çok daha hızlı çalışmasını sağlarlar. Birkaç yüz kayıttan oluşan bir veritabanında sorgulama işleminin hızı sorun olmayabilir ancak kayıt sayısının çok fazla olduğu veritabanı sistemlerinde kesinlikle indekslere gereksinim vardır. İndeksler veritabanında sorgulama işlemlerinin performansını arttırır. İndeks Kullanmanın Zararları İndeks kullanımı veritabanında sorgulama performansını artırmak gibi önemli bir işlev görürken sakıncalarıda yok değildir. Veritabanında yapılacak her kayıt eklemesi ve güncellemesi ile birlikte indeks yeniden güncelleneceğinden veritabanında gerçekleştirilecek olan ekleme ve güncelleme işlemlerinin yavaşlamasına neden olacaktır. İLİŞKİSEL VERİTABANI BİLEŞENLERİ İndeks Ne Zaman Kullanılır? İndeks kullanımının ne zaman yapılacağına karar vermek için veritabanında yapılacak sorgulama ve sıralama işlemlerinin hızı kontrol edilmelidir. Eğer bu işlemler istenilen hızdan yavaş gerçekleşiyor ise bu durumda indeks kullanılabilir. Ancak gereksiz indeks kullanımından kaçınılmalıdır. Veritabanına indeks eklemek veya indeksi kaldırmak veritabanı yönetim sistemleriyle kolayca yapılabilir. Bir veritabanında indeksin kaldırılması veri kaybına neden olmaz. Temelde indekslerin şu üç işlevi vardır; • Sorgulama süresini kısaltır • Tekil indeksler tabloda birincil anahtar alanlar oluşturarak veri bütünlüğünün sağlanmasında kullanılabilir. • Veritabanında bulunan kayıtların tüm kayıtlar içindeki sırasını gösterirler. İLİŞKİSEL VERİTABANI BİLEŞENLERİ GÖRÜNÜMLER (VIEW) Görünümler veritabanı sistemlerinin önemli bileşenlerindendir. Birden fazla tablodan, belirli kurallara göre istenilen alanların seçilerek oluşturulduğu tablo görüntüleridir. Görüntü tablolarında veri bulunmaz. Oluşturulan, tablonun sadece görüntüsüdür. İlişkisel veritabanı yapılarında, verilerin görüntülenmesinde kolaylıklar sağlar. Görüntü tablosuna veri girişi, veri güncellemesi ya da veri silme işlemleri yapılamaz. Veri tablolarında yapılan değişiklikler birebir görüntü tablosuna yansır. Standart tablolara göre bazı avantajları vardır. Kısaca bunlar; • Kullanıcıların tablonun sadece belirli alanlarını görmesi sağlanabilir. • Birden fazla tablo çeşitli sorgularla birleştirilip istenilen veriler tek bir tablo olarak gösterilebilir. • Tablolar birleştirilerek farklı bir tablo şeklinde sunulabilir. • Kompleks veriler daha kolay şekilde gösterilebilir. İLİŞKİSEL VERİTABANI BİLEŞENLERİ İLİŞKİLENDİRME (JOIN) Veritabanını oluşturan iki veya daha fazla tablo üzerinde birlikte sorgulama yapma işlemine ilişkilendirme denir. İlişkisel veritabanlarının en temel özelliği birden fazla tablo üstünde aynı anda birlikte işlem yapabilmektir. Birden fazla tablo üzerinde aynı anda işlem yapılabilmesi veri tekrarlarını önler ve verilerin yönetimini kolaylaştırılır. Tablolar üzerinde ilişkilendirme anahtar alanlar üzerinden gerçekleştirilir. Örneğin personel ve bordro tablolarını ele alacak olursak. Personel tablosunda personel kimlik bilgilerine bordro tablosunda da personel ile ilgili bordro bilgilerine ulaşılabilmektedir. Her iki tabloda da bulunan "Personel No" ile ilişkilendirilerek sorgulama yapılabilir. Bordro tablosunda bulunan "Personel No" kullanılarak personel tablosundan personel ile ilgili detaylara ulaşılabilir. İLİŞKİSEL VERİTABANI BİLEŞENLERİ İLİŞKİSEL VERİTABANI BİLEŞENLERİ SAKLI YORDAMLAR (STORE PROCEDURE) Veritabanı içerisinde belirli işlevlerin gerçekleştirilmesi için tanımlanan kodlara saklı yordam (store procedure) adı verilir. Saklı yordam kendisine verilen parametreler ve sorgu yapısı doğrultusunda belirli işleri gerçekleştirir ve eğer varsa çıktı parametrelerini döndürür. Veritabanında saklı yordam kullanılması veritabanı performansını arttırır ve yapılan işlemlerin çok daha hızlı gerçekleşmesini sağlar. İşlemler sunucu üzerinde gerçekleştirdiği için veritabanı güvenliği için de önemlidir. İLİŞKİSEL VERİTABANI BİLEŞENLERİ TETİKLEYİCİLER (TRIGGER) Tetikleyiciler, veritabanı yönetim sistemlerinde bir tablo üzerinde ekleme, silme ve güncelleme gibi işlemlerden biri gerçekleşmeden önce veya sonra çalışan ve belirli işlemleri, kodlandığı şekilde yerine getiren yapılardır. Örneğin; personel ücret tablosunda "Katsayı, Gün, Ücret" alanları olsun. Oluşturduğumuz tetikleyiciye "Katsayı" ve "Gün" alanlarından herhangi birinde ekleme ya da güncelleme işlemi gerçekleştirdiğinde "Ücret" alanına "Katsayı*Gün" işleminin sonucunu yazdırabiliriz. Ya da bu sonucu istediğimiz başka bir tabloya otomatik olarak kaydedebiliriz. İlişkili tablolarda karşılaşılan en büyük sorun ana tablodaki bir değişikliğin ilişkili tablolara yansımamasıdır. Tetikleyiciler yardımıyla bu sorunun önüne rahatlıkla geçilebilir.