Veri tutarlılığı

Veri tutarlılığı, veritabanı sistemlerinde verilerin mantıksal tutarlılık kavramını ifade eder. Bu diğer tablolardaki kayıtlar ile ilgili bir tutarlılık olabileceği gibi aynı tablodaki farklı sütunlar arasındaki tutarlılıktan da bahsedilebilinir.
İyi bir veritabanı yönetim sistemi veri tutarlılığı konusunda çok hassastır.
Veri Tutarlılığı
Veri tutarlılığı kavramını biraz açalım:
İlişkisel veritabanı sistemleri getirdiği büyük kolaylık ve avantajlarının yanında yumuşak karın misali noktaları vardır... Bunlardan bir tanesi veri tutarlılığı problemidir. 
Mesela personelin tutulduğu bir tablomuz olsun. Bu tabloda her personelin bölümünü tutacak olalım. Eğer tablomuz
PERSONEL (PERSONEL_NO, PERSONEL_ADI, BOLUM_ADI)
şeklinde bir yapıda olsaydı zaten her personelin bölümünün adını personel tablosuna yazsaydık yanlış bir veritabanı tasarımı yapmış olurduk fakat veri tutarlılığı problemimiz olmazdı. Doğru bir veritabanı tasarımı yapmak için ayrı bir bölüm tablosu oluşturmalıyız. Yani yeni durumda tablolar şöyle olur:
PERSONEL (PERSONEL_NO, PERSONEL_ADI, BOLUM_NO)
BOLUM (BOLUM_NO, BOLLUM_ADI)
Bu durumda bizi bekleyen tehlike veri tutarlılığı problemidir. Yani eğer 1 numaralı bölüm "Bilgi işlem" ise ve PERSONEL tablosundaki bazı kayıtların BOLUM_NO alanları da 1 ise o zaman BOLUM tablosundaki 1 numaralı bölümün kesinlikle silinmemesi gerekmektedir. Ya da BOLUM_NO alanının değiştirilmemesi gerekmektedir. Veyahut da değiştirilse bile mesela Bilgi İşlem'in bölüm numarası 10 yapılırsa o zaman PERSONEL tablosundaki BOLUM_NO alanı 1 olanların da tamamının 10 yapılması gerekir. 
İlişkisel veritabanlarında bu durum veri tutarlılığı olarak adlandırılır. Bu veri tutarlılığını sağlamanın en doğru yolu bu işin veritabanı düzeyinde yapılmasıdır. Uyguluma katmanında bu işin yapılması da uygulanan bir yöntem olmakla birlikte doğru değildir. Çünkü o uygulama dışında veritabanına yapılacak erişimlerde veri tutarlılığı riske atılmış olacaktır.
Veritabanı düzeyinde veri tutarlılığı sağlamak için de iki farklı yöntem söz konusudur.
1. Yabancı anahtar
2. Trigger
| g t 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