Yazan : Şadi Evren ŞEKER
Bilgisayar bilimlerinin birinci derece uğraştığı varlık veridir. Yani bilgisayar bilimlerinde yapılan her işi bir bakışa göre veriyi işlemek olarak görmek mümkündür. İşlenen bu verinin bütünlüğü ise ayrı bir problemdir. Veri bütünlüğü ile genelde verinin birden fazla parçaya bölünmesi durumunda bu parçaların bütün olarak tutulması kastedilir.
Veri’nin bölünmesi ne zaman gerekir
Günümüzde kullanılan ilişkisel veri tabanlarında veya nesne yönelimli programlama yaklaşımlarında bir bilgi birden fazla parçaya bölünmektedir. Örneğin gerçek hayattaki bir müşteri sipariş formunu (kağıt ile tutulan) ele alalım. Mu formun üzerinde muhtemelen müşterinin iletişim bilgilerini (adres, telefon gibi) istediği ürün bilgilerini (örneğin kitap alacaksa, kitabın ismi fiyatı gibi) ve sipariş bilgilerini (örneğin sipariş tarihi toplam ücreti gibi) görebiliriz.
Ancak ilişkisel veri tabanında (relational database) bu bilgilerin tek bir yerde tutulması teorik olarak doğru kabul edilmez. Normalleştirme (normalisation) teorilerine gore verinin parçalanması (docomposition) gerekmektedir.
Görüldüğü üzere bir veri tabanı modellemesi sırasında veri parçalara bölünmektedir.
Benzer durum nesne yönelimli yaklaşımda da yaşanabilir. Yani veriyi nesneler ile modellemek isteyelim. Her nesne kendisi ile ilgili bilgiyi tutacaktır. Örneğin yukarıdaki örnek için, müşteri ve kitap gibi iki farklı nesne bulunacak ve veri bu nesneler arasında dağıtılacaktır.
Veri bütünlüğünü tehdit eden durumlar
Veri bütünlüğünü tehdit eden birinci durum silme işlemleridir. Yani veriyi modelimiz içinde parçalara böldüğümüzü ve her parçayı başarılı bir şekilde tuttuğumuz düşünelim. Bu bütünün bir parçasını müstakil olarak silersek veri bütünlüğünu tehdit ederiz.
Örneğin yukarıdaki misale devam edelim ve sipariş formundaki bilgileri veri tabanımızdaki üç ayrı tabloya:
- müşteri
- sipariş
- kitap
tablolarına dağıtalım.
Şimdi gidip bir müşteriyi sildiğimizde artık elimizdeki bazı siparişlerin kime ait olduğunu bilmiyoruz. Ya da bir kitabı sildiğimizde bazı müşterilerin hangi kitabı aldığını bilmiyoruz. İşte bu durum veri bütünlüğünün bozulmasıdır.
Veri bütünlüğü silme işlemi dışında yanlış tasarımdan da bozulabilir. Tasarım hataları verinin tutulması ve işlenmesi sırasında ortaya çıkabilir ancak sonuçta anlatılmak istenen verinin bir kısmına ulaşılamaz olmasıdır.