Veritabanında Geçiş Bağımlılığı Nedir

Normalleşmeye Yardımcı Olmak İçin Geçiş Bağımlılıkları Önlemek

Bir veritabanındaki geçiş bağımlılığı, aynı tablodaki fonksiyonel bağımlılığa neden olan değerler arasında dolaylı bir ilişkidir. Üçüncü Normal Form'un (3NF) normalizasyon standardını elde etmek için, herhangi bir geçiş bağımlılığını ortadan kaldırmalısınız.

Doğası gereği, geçişli bir bağımlılık, aralarında işlevsel bir bağımlılığa sahip olan üç veya daha fazla öznitelik (veya veritabanı sütunu) gerektirir; bu, bir tablodaki Sütun A'nın bir ara Sütun C boyunca Sütun B'ye dayanması anlamına gelir.

Bunun nasıl işe yaradığını görelim.

Geçiş Bağımlılığı Örneği

YAZARLAR

AUTHOR_ID Yazar Kitap Author_Nationality
Auth_001 Orson Scott Card Ender'in Oyunu Amerika Birleşik Devletleri
Auth_001 Orson Scott Card Ender'in Oyunu Amerika Birleşik Devletleri
Auth_002 Margaret Atwood Elçinin Masalı Kanada

Yukarıdaki YAZARLAR örneğinde:

Ancak bu tablo geçiş bağımlılığını ortaya koymaktadır:

Geçişli Bağımlılıkları Önleme

Üçüncü Normal Formu sağlamak için, geçiş bağımlılığını kaldıralım.

Kitap sütununu Yazarlar tablosundan kaldırıp ayrı bir Kitap tablosu oluşturarak başlayabiliriz:

KİTAPLAR

Book_ID Kitap AUTHOR_ID
Book_001 Ender'in Oyunu Auth_001
Book_001 Zihin Çocukları Auth_001
Book_002 Elçinin Masalı Auth_002

YAZARLAR

AUTHOR_ID Yazar Author_Nationality
Auth_001 Orson Scott Card Amerika Birleşik Devletleri
Auth_002 Margaret Atwood Kanada

Bu düzeltdi mi? Şimdi bağımlılıklarımızı inceleyelim:

KİTAPLAR tablosu :

YAZARLAR tablosu :

Bu verileri normalleştirmek için üçüncü bir tablo eklememiz gerekiyor:

ÜLKELER

country_id ülke
Coun_001 Amerika Birleşik Devletleri
Coun_002 Kanada

YAZARLAR

AUTHOR_ID Yazar country_id
Auth_001 Orson Scott Card Coun_001
Auth_002 Margaret Atwood Coun_002

Şimdi masalar arasında bağlantı kurmak için yabancı anahtarlardan yararlanan üç tablo var:

Geçiş Bağımlılıkları Neden Kötü Veritabanı Tasarımıdır?

3NF'nin sağlanmasına yardımcı olmak için geçiş bağımlılıklarından kaçınmanın değeri nedir? İlk masamızı tekrar ele alalım ve yarattığı sorunları görelim:

YAZARLAR

AUTHOR_ID Yazar Kitap Author_Nationality
Auth_001 Orson Scott Card Ender'in Oyunu Amerika Birleşik Devletleri
Auth_001 Orson Scott Card Zihin Çocukları Amerika Birleşik Devletleri
Auth_002 Margaret Atwood Elçinin Masalı Kanada

Bu tarz bir tasarım, veri anormalliklerine ve tutarsızlıklarına katkıda bulunabilir, örneğin:

Bunlar, normalleşmenin , geçiş bağımlılıklarının önlenmesinin, verilerin korunmasının ve tutarlılığın sağlanmasının sadece bir kaç nedenidir.