Diyelim ki bire bir veya sıfır (1-0..1) bir ilişki olan bir senaryo için bir veritabanı tasarlıyorum. Örneğin:
- Bir dizi Kullanıcı vardır ve bazı Kullanıcılar da Müşteri olabilir .
Böylece, karşılık gelen iki tabloyu yarattım users
ve customers
...
… Bu durumu belirli bir SQL platformunda temsil etmenin ve uygulamanın en iyi yolu nedir? İki olası çözümü düşündüm:
Olarak
users
tablo eklemekcustomer
için bir yabancı anahtar referans olarak mevcut olabilir sütunucustomers
ya da birNULL
işaret.Tabloya,
customers
tabloya işaret eden biruser
sütun (UNIQUE
kısıtlama ile ayarlanmış) ekleyinusers
.
Bazı forumlarda zaten benzer bir soru sordum, ancak cevap temelde “neye ihtiyacınız varsa”, “neyi uygun buluyorsanız” idi. Bu tür bir cevabı sevmiyorum. Bunun yerine ciddi bir DB teorisi parçası, iyi kurulmuş bir cevap istiyorum. 1-0..1 ilişkilerini nereden okuyabilirim?