ER Diagram Design: Should every entity have a primary key? And can we have sub entity? : **Problem: Design a ER diagram such as:**

 - An item has the attribute: description.
 - An item can be sold by a company or a person.
 - A person has the attributes: name, phone and email.
 - A company has the attributes: company name, address and a contact person who is one from the person entity set.
 - A contact person cannot sell the same item with the company he works for.

**This is my design:**


[![enter image description here][1]][1]


  [1]: https://i.stack.imgur.com/rSzPQ.png

I'm learning and I know this is a stupid question. But please correct and point out what are wrong in my design.

- I'm not sure that I should remove the primary key SellerID in Seller entity and add companyID to Company entity and personID entity.
- Is the Contact Person entity connected to Person entity correctly?
- How can I demonstrate the constraint: a contact person cannot sell the items (distinguished by item ID) his company is selling.

Thank you.