"Have did" isn't correct. Using the example you gave, you would say "I have done the work" or "I did the work", but not "I have did the work". "Did" is simple past tense, while "have done" is present perfect tense.
With most other verbs, using "have" with another verb indicates that an action that began in the past and continues into the present, or that a past action still has an effect on the present.
"I have been married for 5 years" implies that you are still married.
"I was married for 5 years" implies that you were married once, but aren't anymore.
"I have been married" implies that you had the experience of being married in the past.
Unfortunately, it's complicated and difficult to explain.
"I want to know which situation we can use "been" follow the "have"?"
To answer your question, as a general rule, use "have" when expressing a duration with an ongoing action, or completed past experiences (or the lack thereof).
"I have always lived in this town." (duration)
"I have been running for 2 hours." (duration)
"I have been to Mexico." (Completed experience)
"I have not run a marathon before." (Lack of completed experience)
I hope this helps a little!