Hi,
I think it is a good way of modeling your entities. If you are to general you will lose the capability to distinct the entities from each other over time. You can be a customer and an employee and the stop being an employee but still be a customer.
Maybe the logical identifiers could be historized to open for the possibility of a customer number change or a ssn change and still keeping track of history for the customer?
/Olle