Actually, you should not make an assumption that David likes to be called Dave or Catherine likes to be called Cathy. Many people do NOT shorten their names or take a nickname.
Most native speakers have a very good understanding of which (nick)names come from which full names, so there's no need to say "But my full name is..."
If you say Joe, Dave, Cindy, Pete, Tom, Rich, Bob, Betsy, etc. we know you are really Joseph, David, Cynthia, Peter, Thomas, Richard, Robert, Elizabeth, etc.
"Hi, I'm Dave" is all you need to say.
If someone introduced you to another person and says "And this is David Anderson" you can shake hands and say "Dave" with a smile and that person will know you prefer to be called Dave instead of David.
Student or Learner