How can I design a relationship between two types of users?
You can use the User Relationships module for that.


  Administrators are able create relationship types (friend, coworker, etc). Relationship types can be setup to be one-way or mutual. If a relationship type is one-way (subscriber) only the requester is shown as relating to the requestee. Relationship types can also be set as needing or not needing approval. 


I've used this module for one of my project. It works great!