Referans bütünlüğü ilişkisel veritabanı yönetim sistemlerinde bir veritabanı özelliğidir. Bir veritabanındaki tablolar arasındaki ilişkilerin, kullanıcıların veya uygulamaların yanlış veriler girmesini veya mevcut olmayan verilere işaret etmesini önlemek için kısıtlamalar uygulayarak doğru kalmasını sağlar.
Veritabanları içerdikleri bilgileri düzenlemek için tabloları kullanır. Excel gibi elektronik tablolara benzerler, ancak ileri düzey kullanıcılar için çok daha yeteneklidirler. Veritabanları, tablolar arasındaki ilişkiyi koruyan birincil anahtarların ve yabancı anahtarların kullanımıyla çalışır.
Birincil anahtar
Veritabanı tablosunun birincil anahtarı , her kayda atanan benzersiz bir tanımlayıcıdır. Her tablo, birincil anahtar olarak belirlenmiş bir veya daha fazla sütuna sahip olacaktır. Sosyal Güvenlik numarası, her bir Sosyal Güvenlik numarası benzersiz olduğundan, çalışanların veritabanı listesi için birincil anahtar olabilir.
Bununla birlikte, gizlilik endişeleri nedeniyle, atanan bir şirket ID numarası, çalışanlar için birincil anahtar olarak çalışmak için daha iyi bir seçimdir. Bazı veritabanı yazılımları - Microsoft Access gibi - birincil anahtarı otomatik olarak atar, ancak rasgele anahtarın gerçek bir anlamı yoktur. Kayıt ile anlam bir anahtar kullanmak daha iyidir. Referans bütünlüğünü zorunlu kılmanın en basit yolu, birincil anahtarda değişiklik yapılmasına izin vermemek.
Yabancı anahtar
Yabancı bir anahtar , farklı bir tablonun birincil anahtarıyla eşleşen bir tablodaki tanımlayıcıdır. Yabancı anahtar, farklı bir tablo ile ilişki oluşturur ve başvuru bütünlüğü, bu tablolar arasındaki ilişkiyi gösterir.
Bir tablonun bir başka tablonun yabancı bir anahtarı varsa, başvuru bütünlüğü kavramı, bağlantılı tabloda karşılık gelen bir kayıt olmadıkça, yabancı anahtarı içeren tabloya kayıt ekleyemeyeceğinizi belirtir. Ayrıca, basamaklı güncelleştirme ve basamaklı silme olarak bilinen teknikler de dahildir; bu da bağlantılı tablonun değiştirilmesinin birincil tabloya yansıtılmasını sağlar.
Referans Bütünlük Kuralları Örneği
İki tabloya sahip olduğunuz durumu düşünün: Çalışanlar ve Yöneticiler. Çalışanlar tablosunda, ManagedBy adında her çalışanın yöneticisi için kayıtlara işaret eden bir yabancı anahtar özelliği vardır. Referans bütünlüğü aşağıdaki üç kuralı uygular:
- ManagedBy özniteliği Yöneticiler tablosundaki geçerli bir kayda işaret etmedikçe, Çalışanlar tablosuna kayıt ekleyemezsiniz. Referans bütünlüğü, yanlış ayrıntıların bir tabloya eklenmesini önler. Başvuru bütünlüğü kuralını karşılamayan tüm işlemler başarısız olur.
- Yöneticiler tablosundaki bir kaydın birincil anahtarı değişirse, Çalışanlar tablosundaki karşılık gelen tüm kayıtlar basamaklı bir güncelleştirme kullanılarak değiştirilir.
- Yöneticiler tablosundaki bir kayıt silinirse, Çalışanlar tablosundaki karşılık gelen tüm kayıtlar basamaklı bir silme kullanılarak silinir.
Referans Bütünlük Kısıtlamaları Avantajları
İlişkisel bütünlük ile ilişkisel bir veritabanı yönetim sistemi kullanmak çeşitli avantajlar sunar:
- Yinelenen verilerin girişini engeller.
- Bir tablonun başka bir tabloda varolmayan bir alana işaret etmesini engeller.
- "Ortak" tablolar arasında garantili tutarlılık.
- Başka bir tabloda bir yabancı anahtar tarafından belirtilen bir değer içeren bir kaydın silinmesini önler.
- Bağlantılı tabloda birincil anahtar olmadıkça bir yabancı anahtar içeren bir tabloya bir kayıt eklenmesini engeller.