When modeling a supertype/subtype relationship with several mutually-exclusive subtypes, how should this mutually exclusivity be enforced by constraints?
My first guess would be:
SuperType
(PK) super_id
(PK) type_id
Constraint: type_id in (1,2)
SubType1
(FK) super_id
(FK) type_id
Constraint: type_id = 1
SubType2
(FK) super_id
(FK) type_id
Constraint: type_id = 2