title: Database Super-type/Sub-type Design
body: <p>I have a case where mutually exclusive sub-types need to share common fields.</p>
  
  <p>Here is my design as of now.</p>
  
  <p><a href="https://i.stack.imgur.com/MFUbc.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/MFUbc.png" alt="Tax Entities"></a>  </p>
  
  <p>Here are the mutually exclusive sub-types:</p>
  
  <pre><code>Tax_Entity_Type_Code  Tax_Entity_Type_Desc
  --------------------  ------------------------
  A                     Agency
  C                     Company
  I                     Individual Taxpayer
  P                     Individual Non-Taxpayer
  </code></pre>
  
  <p>This is a similar approach to how <a href="https://dataedo.com/samples/html/AdventureWorks/#modules/module_82_Business_Entities/module" rel="nofollow noreferrer">AdventureWorks was designed</a>.</p>
  
  <p>Is my design fine or am I violating a database normalization rule that will lead to trouble?</p>