SQL'de, bir sütun grubunun yalnızca bir sütununun bir değeri olduğunu ve diğerlerinin boş olduğunu zorunlu kılmanın bir yolu var mı? Belki bir kısıtlama mı yoksa tetikleyici mi? Bu tip bir şey bir arama tablosu için olabilir, ancak bunu daha iyi başarabilecek alternatif masa tasarımları var mı? ÖrneğinSQL: bir sütun sütununda yalnızca tek bir sütunun ayarlanması zorunluluğudur
:
ID OtherTable1ID OtherTable2ID OtherTable3ID
-----------------------------------------------------
1 23 NULL NULL
2 NULL 45 NULL
3 33 55 NULL -- NOT ALLOWED
ana konu bu sütunlar diğer tablolara tüm FKs olmasıdır, bu yüzden tek bir sütun için onları daraltmak mümkün değil.
SQL Server kullanıyorum, ancak herhangi bir cevap yapacak. Aşağıdaki çalışmalıdır gibi
Güncelleştirme için teşekkürler, ancak veritabanı tasarımı hakkında daha ayrıntılı bilgi vermek isteyebilirsiniz. Örneğin bu, bu tablonun diğer tabloların bir ve bir alt türünün alt tipi olabileceği bir alt türleme durumudur. Ayrıca, tüm "Diğer" sütunların boş olması mümkün mü? –
Bir arama tablosu gibi görünüyor. Temel olarak, bir tane daha FK eklediğinizde ona bir tane daha sütun eklemeniz gerektiği anlamına mı geliyor? –
Evet, temelde benim için bir arama tablosu. Başka bir arama parametresi eklemem gerekirse, başka bir FK sütunu eklemem gerekir. Bunu başarmanın daha iyi yolları var mı? –