Öğrenebileceğim kadarıyla, birçok DBMS (örneğin, mysql, postgres, mssql) veri değişikliklerini sınırlamak için fk ve pk kombinasyonlarını kullanıyor, ancak birleştirme sütunlarını otomatik olarak seçmek için nadiren kullanılıyor. Neden? Eğer 2 tablo arasında bir pk / fk ile bir ilişki tanımlamışsanız, neden veritabanı bu tablolara katılırsam pk / fk sütunlarına katılmak istediğimi bulamıyor?
EDIT: biraz açıklığa kavuşturmak için:
Bir tablo1 ve bir tablo2 olduğunu varsayalım. tablo1'de, sütun 2'de bulunan ve sütun 2'deki birincil anahtara b. Şimdi bu tablolara katılırsam, şöyle bir şey yapmam gerekecek:
SELECT * FROM table1
JOIN table2 ON table1.a = table2.b
Ancak, zaten tablo1.a'nın table2.b dosyasına referans veren anahtarları kullanmamı tanımladım, bu yüzden bana bir DBMS sisteminin otomatik olarak table1.a ve table2.b'yi birleştirme sütunları olarak kullanması zor olmamalı gibi görünüyor. öyle ki basitçe kullanabilirsiniz:
SELECT * FROM table1
AUTO JOIN table2
Ancak, pek çok DBMS böyle bir şey uygulamak görünmüyor.