Exercise: sales commission

The training material for a well-known database system includes an example employee class with standard attributes such as employee ID, name, and so on. The same entity also includes both a salary attribute and a commission attribute, even though only sales representatives earn a commission. (Everyone earns a salary.) In their lesson plans, this vendor emphasizes various ways that their software can handle the inevitable null values of the commission attribute. I believe that their model is simply wrong.

Sales commission class diagram

  • Design a better way to preserve the salary and commission information but preclude null values in any of the attributes. Draw the class diagram and the relation scheme.