IBExpert'ten aldığınız görüntü örneği PK1 ve PK2 diye iki adet Birincil Anahtar / Primary Key (PK) olduğunu göstermiyor. Sadece PK nin her iki alanı da içerdiği bilgisini veriyor Alttaki DDL inde de bu açıkça görülüyor.
O zaman detay tabloda FK oluştururken, master tablodan PKlerden sadece birini değil her ikisinide alarak mı FK oluşturacağız böyle bir şey mümkün olabilir mi? Demek istediğim aşağıdaki gibi bir şey söz konusu olabilir mi (deneyemedim o yüzden özür dilerim sormak zorunda kaldım internete başka bir yerden cevap yazıyorum).
Cevaplar için herkesten Allah razı olsun epey bir bilgi sahibi oldum çok teşekkürler.
Öncelikle PRIMARY KEY konusunu tam iyi anlamak gerekiyor. Aslında adı biraz tanımıyla örtüşmüyor gibi. KEY deyince tek bir alan gibi algılanıyor galiba. Keşke SQL Scripti en baştan gönderseydin de herkesin aklını karıştırmasaydın. Zira ben ilk baştaki mesajları okuyunca: "Acaba yeni mi çıktı bu birden fazla PRIMARY KEY olayı?" falan diye düşünmüştüm. Neyse yeni çıkan birşey yok. Sadece genellikle yapılan hatalardan birisini yapmışsın. Eksik bilgi ve kavramların yanlış kullanımı.
Son sorduğun sorunun cevabı hayır. Foreign keylerin sayı ve tip (uzunluk dahil) olarak aynı olması gerekir. Yani her iki tabloda da SIRANO ve MUSTERIKODU olması (adları aynı olmayabilir) ve bu alanların foreign key tanımlamasında karşılıklı belirtilmesi gerekir.