Referans bütünlüğü nedir ve bir programcı bu sorunları nasıl önleyebilir?

Referans bütünlüğü, tutarsız verilerin eklenmesini önler.

Referans bütünlüğü kuralı

Temel olarak, referans bütünlüğü, bir veritabanının eşleştirilmemiş yabancı anahtar değerlerine sahip olmadığını belirtir. Bir dış anahtar, bir veritabanı tablosundaki birincil anahtar sütunundaki değerler içeren bir tablodur, tablodaki bir satırı tanımlayan benzersiz bir tanımlayıcıdır, başka bir tabloda. Örneğin, "bölüm" olarak adlandırılan ve birincil anahtar olarak "bölüm numarası" olarak adlandırılan bir sütun bulunan bir veritabanı tablosunu düşünün. "Departman numarası" nın harici bir anahtar olduğu "çalışan" adı verilen başka bir tabloyla ilgilidir. “Departman” tablosunda “departman numarası” mevcut değilse, bir çalışan belirli bir departmana ait olamaz. Çalışanları ekleyen program referans bütünlüğünü güçlendirirse, bir çalışanı bilinmeyen bir departmana yerleştirme girişimi mümkün olmayacaktır.

fayda

Veri arasındaki bu referansların sağlam ve geçerli olmasını sağlamaya ek olarak, bir veritabanının referans bütünlüğünü tanımlamanın birçok avantajı vardır. Referans bütünlüğü, programcıların özel program kodunu sıfırdan yazmasını istemekten ziyade bir veritabanı motorunda mevcut kodu kullanır. Sonuç olarak, programların geliştirilmesi daha hızlıdır, hatalara daha az eğilimlidir ve veritabanına erişen çeşitli uygulama programları arasında tutarlıdır.

darbe

Ne yazık ki, programlama dilleri çoğu zaman referans bütünlüğünü uygulayacak mekanizmalara sahip değildir ve bir veritabanı yönetim sistemi bu mekanizmaları desteklediğinde bile programcılar bunları kullanamazlar. Referans bütünlüğünü göz ardı etmenin sonucu, kusurları veya hataları, arızaları olan ve genişletilmesi zor olan programlama kodudur.

uygulama

Programcılar referans tablo bütünlüğünü uygulayabilir ve iki tablo arasındaki ilişkiyi sağlayarak bir veritabanında "yetim" kayıtlarından kaçınabilirler. Microsoft Access'te, örneğin referans bütünlüğünü uygulamak, onu ihlal eden herhangi bir işlemin reddedildiğini gösterir. Bu tür işlemler, bir referansın nesnesini değiştiren bir referans veya silme nesnesini değiştiren veritabanına yapılan güncellemeleri içerir. Ayrıca, Microsoft Access ayrıca "cascade" seçenekleri olarak bilinen bir dizi seçeneğe de sahiptir. Bu seçenekler, ilgili tüm satırların aynı şekilde değişmesi için, başvurulan ve silinmiş güncellemelerin veritabanı tarafından yayılmasına izin verir.