Bunu yönetmenin yolu, alt türlerinizin süper tür tarafından belirlenmesi gerektiğidir (yani alt türün PK'si, alt türden süper türe kadar bir FK'dir.)
Buradaki zorluk, bir şeyin karşılıklı olarak münhasır olup olmadığını anlamaktır. Alt türlerin öznitelikleri yalnızca bu alt türlere uygulanmalıdır, ancak bazı alt türlerin birbirini dışlaması ve bazılarının uygun olmaması olabilir.
Bazı birbirini dışlayan alt türleriniz varsa, birbirini dışlayan (iki veya daha fazla) alt türden hangisinin geçerli olduğunu belirtmek için süper türde bir bölümleme özniteliği kullanabilirsiniz. Bu bölümleme özelliği, karşılıklı münhasırlığı zorunlu kılmak için kısıtlamalarla veya tetikleyicilerle birlikte kullanılabilir.
Karşılıklı olarak dışlanmayan alt türleriniz varsa, bunlar herhangi bir bölümleme özniteliği kullanılmadan var olabilir.
Bu veri modelini düşünün:

Üç süper türünüz var, ancak FREE_SOFTWAREve bölüm NON-FREE_SOFTWAREtürleri, SOFTWARE.free_not_freebayrak bölümleme özniteliğine bağlı olarak birbirini dışlar . Herhangi bir yazılım parçası OPERATING_SYSTEM, özgür olup olmadığına bakılmaksızın potansiyel olarak birdir.